View a markdown version of this page

Document-level ACL - Amazon Quick

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

Document-level ACL

您可以使用两种配置方法中的一种在 Amazon S3 知识库级别启用访问控制列表 (ACL),每种方法均针对不同的用例进行了优化。

重要

Document-level ACL 配置是永久性的。您无法在没有 ACL 支持的情况下创建的知识库中启用 ACL,也无法在启用 ACL 后禁用 ACL。要更改 ACL 配置,请从一开始就使用所需的设置创建一个新的知识库。

注意

对于 ACL-enabled 知识库,不采集没有关联 ACL 条目的文档。确保每个文档都有通过全局 ACL 文件或其元数据文件定义的 ACL。

全局 ACL 配置文件

创建一个用于定义文件夹级别访问权限的单个集中式文件。这为管理大型文档层次结构中的权限提供了一种简化的方法。这种方法非常适合权限结构稳定的组织。对全局文件的任何更改都需要重新索引整个受影响的前缀,对于包含数千万个文档的知识库,这可能需要几个小时。有关文件格式的信息,请参阅 全局 ACL 文件结构

Document-level 元数据文件

每个文档都有自己的元数据文件,其中包含特定的访问控制信息。这种方法要求您为每个文档创建和维护单独的元数据文件。当权限发生变化时,它可以显著加快索引更新速度,因为只需要对受影响的文档进行重新索引,而不是整个文件夹结构。有关在元数据文件中配置 ACL 的更多信息,请参阅文档元数据

选择最适合您的运营需求的方法:使用全局 ACL 文件进行集中管理以简化管理,或者使用文档级元数据文件进行更快的权限更新和更精细的控制。

定期更新 Amazon S3 ACL 配置以满足贵组织的访问要求,使您的文档级 ACL 保持最新。有关常见最佳实践的更多信息,请参阅知识库中管理 ACL 的最佳实践

全局 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