使用“对象 ACL”字段 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用“对象 ACL”字段

Amazon S3 清单报告包含 S3 源桶中对象的列表以及每个对象的元数据。“对象访问控制列表(ACL)”字段是 Amazon S3 清单中提供的一个元数据字段。具体而言,“对象 ACL”字段包含每个对象的访问控制列表(ACL)。对象的 ACL 定义了哪个 Amazon Web Services 账户或组被授予对此对象的访问权限以及所授予的访问权限类型。有关更多信息,请参阅 访问控制列表 (ACL) 概述Amazon S3 清单列表

Amazon S3 清单报告中的“对象 ACL”字段以 JSON 格式定义。JSON 数据包含以下字段:

  • version – 清单报告中“对象 ACL”字段格式的版本。它采用日期格式 yyyy-mm-dd

  • status – 可能的值为 AVAILABLEUNAVAILABLE,指明对象 ACL 是否可用于某个对象。当对象 ACL 的状态为 UNAVAILABLE 时,清单报告中“对象拥有者”字段的值也是 UNAVAILABLE

  • grants – 被授权者/权限对,列出了对象 ACL 授予的每个被授权者的权限状态。被授权者的可用值为 CanonicalUserGroup。有关被授权者的更多信息,请参阅访问控制列表中的被授权者

    对于类型为 Group 的被授权者,被授权者/权限对包括以下属性:

    • uri – 预定义的 Amazon S3 组。

    • permission – 所授予的对于对象的 ACL 权限。有关更多信息,请参阅对于对象的 ACL 权限

    • type – 类型为 Group,表示被授权者是组。

    对于类型为 CanonicalUser 的被授权者,被授权者/权限对包括以下属性:

    • canonicalId— 一种经过混淆处理的 Amazon Web Services 账户 ID 形式。Amazon Web Services 账户的规范用户 ID 特定于该账户。您可以检索规范用户 ID。有关更多信息,请参阅《Amazon 账户管理参考指南》中的 Find the canonical user ID for your Amazon Web Services 账户

      注意

      如果 ACL 中的被授权者是 Amazon Web Services 账户的电子邮件地址,S3 清单使用该 Amazon Web Services 账户的 canonicalIdCanonicalUser 类型来指定此授权者。有关更多信息,请参阅访问控制列表中的被授权者

    • permission – 所授予的对于对象的 ACL 权限。有关更多信息,请参阅对于对象的 ACL 权限

    • type – 类型为 CanonicalUser,表示被授权者是 Amazon Web Services 账户。

以下示例显示了“对象 ACL”字段的可能值,采用 JSON 格式:

{ "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "uri": "http://acs.amazonaws.com/groups/global/AllUsers", "permission": "READ", "type": "Group" }, { "canonicalId": "example-canonical-id", "permission": "FULL_CONTROL", "type": "CanonicalUser" }] }
注意

“对象 ACL”字段以 JSON 格式定义。清单报告将“对象 ACL”字段的值显示为以 base64 编码的字符串。

例如,假设您有以下采用 JSON 格式的“对象 ACL”字段:

{ "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "canonicalId": "example-canonical-user-ID", "type": "CanonicalUser", "permission": "READ" }] }

“对象 ACL”字段经过编码并显示为以下以 base64 编码的字符串:

eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=

要以 JSON 格式获取“对象 ACL”字段的解码值,可以在 Amazon Athena 中查询此字段。有关示例查询,请参阅使用 Amazon Athena 查询 Amazon S3 清单