Amazon S3 清单报告包含 S3 源桶中对象的列表以及每个对象的元数据。“对象访问控制列表(ACL)”字段是 Amazon S3 清单中提供的一个元数据字段。具体而言,“对象 ACL”字段包含每个对象的访问控制列表(ACL)。对象的 ACL 定义了哪个 AWS 账户或组被授予对此对象的访问权限以及所授予的访问权限类型。有关更多信息,请参阅访问控制列表 (ACL) 概述 和Amazon S3 清单列表。
Amazon S3 清单报告中的“对象 ACL”字段以 JSON 格式定义。JSON 数据包含以下字段:
-
version
– 清单报告中“对象 ACL”字段格式的版本。它采用日期格式yyyy-mm-dd
。 -
status
– 可能的值为AVAILABLE
或UNAVAILABLE
,指明对象 ACL 是否可用于某个对象。当对象 ACL 的状态为UNAVAILABLE
时,清单报告中“对象拥有者”字段的值也是UNAVAILABLE
。 -
grants
– 被授权者/权限对,列出了对象 ACL 授予的每个被授权者的权限状态。被授权者的可用值为CanonicalUser
和Group
。有关被授权者的更多信息,请参阅访问控制列表中的被授权者。对于类型为
Group
的被授权者,被授权者/权限对包括以下属性:-
uri
– 预定义的 Amazon S3 组。 -
permission
– 所授予的对于对象的 ACL 权限。有关更多信息,请参阅对于对象的 ACL 权限。 -
type
– 类型为Group
,表示被授权者是组。
对于类型为
CanonicalUser
的被授权者,被授权者/权限对包括以下属性:-
canonicalId
— 一种经过混淆处理的 AWS 账户 ID 形式。AWS 账户的规范用户 ID 特定于该账户。您可以检索规范用户 ID。有关更多信息,请参阅《AWS 账户管理参考指南》中的 Find the canonical user ID for your AWS 账户。注意
如果 ACL 中的被授权者是 AWS 账户的电子邮件地址,S3 清单使用该 AWS 账户的
canonicalId
和CanonicalUser
类型来指定此授权者。有关更多信息,请参阅访问控制列表中的被授权者。 -
permission
– 所授予的对于对象的 ACL 权限。有关更多信息,请参阅对于对象的 ACL 权限。 -
type
– 类型为CanonicalUser
,表示被授权者是 AWS 账户。
-
以下示例显示了“对象 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 清单。