本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
文档级 ACLs
您可以使用两种配置方法中的一种在 Amazon S3 知识库级别启用访问控制列表 (ACLs),每种方法均针对不同的用例进行了优化。
重要
文档级 ACL 配置是永久性的。您无法 ACLs 在没有 ACL 支持的情况下创建的知识库中启用,启用 ACLs 后也无法禁用。要更改 ACL 配置,请从一开始就使用所需的设置创建一个新的知识库。
注意
对于启用 ACL 的知识库,不采集没有关联 ACL 条目的文档。确保每个文档都有通过全局 ACL 文件或其元数据文件定义的 ACL。
- 全局 ACL 配置文件
-
创建一个用于定义文件夹级别访问权限的单个集中式文件。这为管理大型文档层次结构中的权限提供了一种简化的方法。这种方法非常适合权限结构稳定的组织。对全局文件的任何更改都需要重新索引整个受影响的前缀,对于包含数千万个文档的知识库,这可能需要几个小时。有关文件格式的信息,请参阅 全局 ACL 文件结构。
- 文档级元数据文件
-
每个文档都有自己的元数据文件,其中包含特定的访问控制信息。这种方法要求您为每个文档创建和维护单独的元数据文件。当权限发生变化时,它可以显著加快索引更新速度,因为只有受影响的文档需要重新编制索引,而不是整个文件夹结构。有关 ACLs 在元数据文件中进行配置的更多信息,请参阅文档元数据。
选择最适合您的运营需求的方法:使用全局 ACL 文件进行集中管理以简化管理,或者使用文档级元数据文件进行更快的权限更新和更精细的控制。
定期更新 Amazon S3 ACL 配置以满足贵组织的访问要求,使您的文档级别 ACLs 保持最新。有关常见最佳实践的更多信息,请参阅ACLs 在知识库中进行管理的最佳实践。
全局 ACL 文件结构
全局文件提供文件夹级别的集中访问控制管理。文件中的每个条目都将 Amazon S3 密钥前缀映射到一组 ACL 条目,这些条目适用于该前缀下的所有文档。
全局 ACL json 文件使用以下结构:
[ { "keyPrefix": "s3://BUCKETNAME/prefix1/", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "group1", "Type": "GROUP", "Access": "DENY" } ] }, { "keyPrefix": "s3://BUCKETNAME/prefix1/document_1.txt", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "group1", "Type": "GROUP", "Access": "DENY" } ] }, { "keyPrefix": "s3://BUCKETNAME/prefix2/", "aclEntries": [ { "Name": "user2@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "user1@example.com", "Type": "USER", "Access": "DENY" }, { "Name": "group1", "Type": "GROUP", "Access": "DENY" } ] } ]
数组中的每个条目都包含以下字段:
keyPrefix-
ACL 条目所适用的 Amazon S3 路径前缀。此前缀下的所有文档都继承指定的权限。
aclEntries-
一组访问控制条目,每个条目都包含以下字段:
-
Name— 对于USER类型,指用户在 Quick 中的电子邮件地址。对于GROUP类型,使用 Quick 中的组名。 -
Type–USER或GROUP。 -
Access–ALLOW或DENY。
-