

# 使用“对象 ACL”字段
<a name="objectacl"></a>

Amazon S3 清单报告包含 S3 源桶中对象的列表以及每个对象的元数据。“对象访问控制列表（ACL）”字段是 Amazon S3 清单中提供的一个元数据字段。具体而言，“对象 ACL”字段包含每个对象的访问控制列表（ACL）。对象的 ACL 定义了哪个 AWS 账户或组被授予对此对象的访问权限以及所授予的访问权限类型。有关更多信息，请参阅[访问控制列表 (ACL) 概述](acl-overview.md)和[Amazon S3 清单列表](storage-inventory.md#storage-inventory-contents)。

 Amazon S3 清单报告中的“对象 ACL”字段以 JSON 格式定义。JSON 数据包含以下字段：
+ `version` – 清单报告中“对象 ACL”字段格式的版本。它采用日期格式 `yyyy-mm-dd`。
+ `status` – 可能的值为 `AVAILABLE` 或 `UNAVAILABLE`，指明对象 ACL 是否可用于某个对象。当对象 ACL 的状态为 `UNAVAILABLE` 时，清单报告中“对象拥有者”字段的值也是 `UNAVAILABLE`。
+ `grants` – 被授权者/权限对，列出了对象 ACL 授予的每个被授权者的权限状态。被授权者的可用值为 `CanonicalUser` 和 `Group`。有关被授权者的更多信息，请参阅[访问控制列表中的被授权者](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee)。

  对于类型为 `Group` 的被授权者，被授权者/权限对包括以下属性：
  + `uri` – 预定义的 Amazon S3 组。
  + `permission` – 所授予的对于对象的 ACL 权限。有关更多信息，请参阅[对于对象的 ACL 权限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions)。
  + `type` – 类型为 `Group`，表示被授权者是组。

  对于类型为 `CanonicalUser` 的被授权者，被授权者/权限对包括以下属性：
  + `canonicalId`— 一种经过混淆处理的 AWS 账户 ID 形式。AWS 账户的规范用户 ID 特定于该账户。您可以检索规范用户 ID。有关更多信息，请参阅《AWS Account Management Reference Guide》**中的 [Find the canonical user ID for your AWS 账户](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId)。
  + `permission` – 所授予的对于对象的 ACL 权限。有关更多信息，请参阅[对于对象的 ACL 权限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions)。
  + `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 清单](storage-inventory-athena-query.md)。