文档级 ACLs - Amazon 快速

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

文档级 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 中的组名。

  • TypeUSERGROUP

  • AccessALLOWDENY