

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 停用 ACL 的先決條件
<a name="object-ownership-migrating-acls-prerequisites"></a>

Amazon S3 中的儲存貯體存取控制清單 (ACL) 是一種機制，可讓您定義 S3 儲存貯體中個別物件的精細許可，指定哪些 AWS 帳戶或群組可以存取和修改這些物件。Amazon S3 中的大多數新式使用案例不再需要使用 ACL。我們建議您使用 AWS Identity and Access Management (IAM) 和儲存貯體政策來管理存取權，並保持停用 ACLs，除非在需要個別控制每個物件的存取權的情況下。

如果您的儲存貯體已啟用 ACL，則在停用 ACL 之前，請完成下列先決條件：

**Topics**
+ [檢閱儲存貯體和物件 ACL，並遷移 ACL 許可](#object-ownership-acl-permissions)
+ [識別需要 ACL 進行授權的所有請求](#object-ownership-acl-identify)
+ [檢閱和更新使用 ACL 相關條件索引鍵的儲存貯體政策](#object-ownership-bucket-policies)
+ [範例使用案例](#object-ownership-migrating-acls)

## 檢閱儲存貯體和物件 ACL，並遷移 ACL 許可
<a name="object-ownership-acl-permissions"></a>

當您停用 ACL 時，儲存貯體和物件 ACL 所授予的許可不會再影響存取。停用 ACL 之前，請先檢閱儲存貯體和物件 ACL。

每個現有的儲存貯體和物件 ACL 在 IAM 政策中都有對應項。下列儲存貯體政策範例說明儲存貯體和物件 ACL 的 `READ` 和 `WRITE` 許可如何映射至 IAM 許可。如需每個 ACL 如何轉譯成 IAM 許可的詳細資訊，請參閱 [ACL 許可與存取政策許可的對應](acl-overview.md#acl-access-policy-permission-mapping)。

停用 ACL 之前：
+ 如果您的儲存貯體 ACL 授予 AWS 帳戶外部的存取權，您必須先將儲存貯體 ACL 許可遷移至儲存貯體政策。
+ 接著，將儲存貯體 ACL 重設為預設的私有 ACL。
+ 也建議您檢閱物件層級的 ACL 許可，並將其移轉至儲存貯體政策。

如果儲存貯體 ACL 將讀取或寫入權限授予帳戶外的其他人，則在停用 ACL 之前，必須先將這些權限移轉至儲存貯體政策。移轉這些權限後，您可以將**物件擁有權**設定為*儲存貯體擁有者強制執行*設定。如果您未遷移授予帳戶外讀取或寫入存取權的儲存貯體 ACL，則套用「儲存貯體擁有者強制執行」設定的請求會失敗，並傳回 [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl) 錯誤代碼。

如果您的儲存貯體 ACL 授予 外部的存取權 AWS 帳戶，則在停用 ACLs 之前，您必須將儲存貯體 ACL 許可遷移至儲存貯體政策，並將儲存貯體 ACL 重設為預設私有 ACL。如果您未移轉和重設，則套用「儲存貯體擁有者強制執行」設定來停用 ACL 的請求會失敗，並傳回 [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl) 錯誤代碼。也建議您檢閱物件 ACL 許可，並將其遷移至儲存貯體政策。

若要檢閱 ACL 許可並將 ACL 許可遷移至儲存貯體政策，請參閱下列主題。

**Topics**
+ [儲存貯體政策範例](#migrate-acl-permissions-bucket-policies)
+ [使用 S3 主控台來檢閱及遷移 ACL 許可](#review-migrate-acl-console)
+ [使用 AWS CLI 來檢閱和遷移 ACL 許可](#review-migrate-acl-cli)

### 儲存貯體政策範例
<a name="migrate-acl-permissions-bucket-policies"></a>

這些範例儲存貯體政策說明如何將 `READ` 和 `WRITE` 儲存貯體及第三方 AWS 帳戶 的物件 ACL 許可遷移至儲存貯體政策。`READ_ACP` 和 `WRITE_ACP` ACL 與政策較不相關，因為其會授予與 ACL 相關的許可 (`s3:GetBucketAcl`、`s3:GetObjectAcl`、`s3:PutBucketAcl` 和 `s3:PutObjectAcl`)。

**Example — 儲存貯體的 `READ` ACL**  
如果您的儲存貯體具有授予 AWS 帳戶 `111122223333`許可的 `READ` ACL 來列出儲存貯體的內容，您可以撰寫儲存貯體政策來授予儲存貯體的 `s3:ListBucket`、`s3:ListBucketVersions`、 `s3:ListBucketMultipartUploads`許可。    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to list the objects in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [

						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:ListBucket",
					"s3:ListBucketVersions",
					"s3:ListBucketMultipartUploads"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
			}
		]
	}
```

**Example – `READ` 儲存貯體中每個物件的 ACL**  
如果儲存貯體中的每個物件都有授予 存取權的 `READ` ACL AWS 帳戶 `111122223333`，您可以撰寫儲存貯體政策，為儲存貯體中的每個物件授予此帳戶的 `s3:GetObject`和 `s3:GetObjectVersion`許可。    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Read permission for every object in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:GetObject",
					"s3:GetObjectVersion"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```
此範例資源元素會授予特定物件的存取權。  

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
```

**Example –`WRITE` ACL，授予將物件寫入儲存貯體的許可**  
如果您的儲存貯體具有授予 AWS 帳戶 寫入物件至儲存貯體`111122223333`許可的 `WRITE` ACL，您可以寫入授予儲存貯體`s3:PutObject`許可的儲存貯體政策。    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to write objects to a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:PutObject"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```

### 使用 S3 主控台來檢閱及遷移 ACL 許可
<a name="review-migrate-acl-console"></a>

**檢閱儲存貯體的 ACL 許可**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在 **Buckets** (儲存貯體) 清單中，選擇您的儲存貯體名稱。

1. 選擇**許可**索引標籤。

1. 在 **Access control list** (存取控制清單 (ACL)) 下，請檢閱您的儲存貯體 ACL 許可。

**檢閱物件的 ACL 許可**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在 **Buckets** (儲存貯體) 清單中，選擇包含您物件的儲存貯體名稱。

1. 在 **Object** (物件) 清單中，選擇您的物件名稱。

1. 選擇**許可**索引標籤。

1. 在 **Access control list** (存取控制清單 (ACL)) 下，請檢閱您的物件 ACL 許可。

**遷移 ACL 許可並更新您的儲存貯體 ACL**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 在 **Buckets** (儲存貯體) 清單中，選擇您的儲存貯體名稱。

1. 在 **Permissions** (許可) 索引標籤上，**Bucket policy** (儲存貯體政策) 下，選擇 **Edit** (編輯)。

1. 在 **Policy** (政策) 方塊中，新增或更新儲存貯體政策。

   如需儲存貯體政策，請參閱 [儲存貯體政策範例](#migrate-acl-permissions-bucket-policies) 和 [範例使用案例](#object-ownership-migrating-acls)。

1. 選擇**儲存變更**。

1. [更新您的儲存貯體 ACL](managing-acls.md) 以移除對其他群組或 AWS 帳戶的 ACL 授予。

1. 針對物件擁有權[套用**儲存貯體擁有者強制執行**設定](object-ownership-existing-bucket.md)。

### 使用 AWS CLI 來檢閱和遷移 ACL 許可
<a name="review-migrate-acl-cli"></a>

1. 若要傳回儲存貯體的儲存貯體 ACL，請使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) AWS CLI 命令：

   ```
   aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
   ```

   例如，此儲存貯體 ACL 會向第三方帳戶授予 `WRITE` 和 `READ` 存取權。在此 ACL 中，第三方帳戶是由[正式使用者 ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) 識別。若要套用「儲存貯體擁有者強制執行」設定並停用 ACL，您必須將第三方帳戶的這些許可遷移至儲存貯體政策。

   ```
   {
   		"Owner": {
   			"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   如需其他範例 ACL，請參閱 [範例使用案例](#object-ownership-migrating-acls)。

1. 將您的儲存貯體 ACL 許可遷移至儲存貯體政策：

   此範例儲存貯體政策會為第三方帳戶授予 `s3:PutObject` 和 `s3:ListBucket` 許可。在儲存貯體政策中，第三方帳戶由 AWS 帳戶 ID () 識別`111122223333`。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   	policy.json:
   	{
   		"Version": "2012-10-17",		 	 	 
   		"Statement": [
   			{
   				"Sid": "PolicyForCrossAccountAllowUpload",
   				"Effect": "Allow",
   				"Principal": {
   					"AWS": [
   						"arn:aws:iam::111122223333:root"
   					]
   				},
   				"Action": [
   					"s3:PutObject",
   					"s3:ListBucket"
   				],
   				"Resource": [
   					"arn:aws:s3:::amzn-s3-demo-bucket",
   					"arn:aws:s3:::amzn-s3-demo-bucket/*"
   			}
   		]
   	}
   ```

   如需更多儲存貯體政策範例，請參閱 [儲存貯體政策範例](#migrate-acl-permissions-bucket-policies) 和 [範例使用案例](#object-ownership-migrating-acls)。

1. 若要傳回特定物件的 ACL，請使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) AWS CLI 命令。

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key EXAMPLE-OBJECT-KEY
   ```

1. 如有必要，請將物件 ACL 許可遷移至儲存貯體政策。

   此範例資源元素會授予儲存貯體政策中特定物件的存取權。

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-OBJECT-KEY"
   ```

1. 將儲存貯體的 ACL 重設為預設 ACL。

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. 針對物件擁有權[套用「儲存貯體擁有者強制執行」設定](object-ownership-existing-bucket.md)。

## 識別需要 ACL 進行授權的所有請求
<a name="object-ownership-acl-identify"></a>

若要識別需要 ACL 進行授權的 Amazon S3 請求，您可以使用 Amazon S3 伺服器存取日誌或 AWS CloudTrail中的 `aclRequired` 值。如果請求需要 ACL 進行授權，或者您有指定 ACL 的 `PUT` 請求，則字串為 `Yes`。如果不需要 ACL，或者您要設定 `bucket-owner-full-control` 固定 ACL，或者儲存貯體政策允許這些請求，則 Amazon S3 伺服器存取日誌中的 `aclRequired` 值字串為 "`-`"，且在 CloudTrail 中不存在。如需預期的 `aclRequired` 值詳細資訊，請參閱 [常見 Amazon S3 請求的 `aclRequired` 值](acl-overview.md#aclrequired-s3)。

如果您有 `PutBucketAcl` 或 `PutObjectAcl` 請求具有授予 ACL 型許可的標頭，但 `bucket-owner-full-control` 固定 ACL 除外，則您必須先移除這些標頭，才能停用 ACL。否則，請求將會失敗。

對於需要 ACL 進行授權的所有其他請求，請將這些 ACL 許可移轉至儲存貯體政策。然後，在啟用儲存貯體擁有者強制執行設定之前，移除任何儲存貯體 ACL。

**注意**  
請勿移除物件 ACL。否則，依賴物件 ACL 取得許可的應用程式將失去存取權。

如果您發現沒有請求要求 ACL 進行授權，您可以繼續停用 ACL。如需識別請求的詳細資訊，請參閱 [使用 Amazon S3 伺服器存取日誌來識別請求](using-s3-access-logs-to-identify-requests.md) 和 [使用 CloudTrail 來識別 Amazon S3 請求](cloudtrail-request-identification.md)。

## 檢閱和更新使用 ACL 相關條件索引鍵的儲存貯體政策
<a name="object-ownership-bucket-policies"></a>

套用「儲存貯體擁有者強制執行」設定以停用 ACL 之後，只有在請求使用儲存貯體擁有者完全控制 ACL 或未指定 ACL 時，才能將新物件上傳至儲存貯體。在停用 ACL 之前，請檢閱儲存貯體政策以取得與 ACL 相關的條件索引鍵。

如果您的儲存貯體政策使用與 ACL 相關的條件索引鍵來請求 `bucket-owner-full-control` 標準 ACL (例如 `s3:x-amz-acl`)，則您不需要更新儲存貯體政策。下列儲存貯體政策會使用 `s3:x-amz-acl` 以要求適用於 S3 `PutObject` 請求的 `bucket-owner-full-control` 標準 ACL。本政策*仍然*需要物件寫入者指定 `bucket-owner-full-control` 標準 ACL。不過，停用 ACL 的儲存貯體仍會接受此 ACL，因此請求會繼續成功，不需要用戶端進行變更。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

不過，如果儲存貯體政策使用需要不同 ACL 的 ACL 相關條件索引鍵，則必須移除此條件索引鍵。此範例儲存貯體政策存需要適用於 S3 `PutObject` 請求的 `public-read` ACL，因此必須先更新才能停用 ACL。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "public-read"
                }
            }
        }
    ]
}
```

------

## 範例使用案例
<a name="object-ownership-migrating-acls"></a>

下列範例說明如何針對特定使用案例，將 ACL 許可遷移至儲存貯體政策。

**Topics**
+ [授予 S3 日誌交付群組的存取權以進行伺服器存取日誌記錄](#object-ownership-server-access-logs)
+ [對儲存貯體中的物件授予公用讀取存取權。](#object-ownership-public-read)
+ [授權 Amazon ElastiCache (Redis OSS) 存取您的 S3 儲存貯體](#object-ownership-elasticache-redis)

### 授予 S3 日誌交付群組的存取權以進行伺服器存取日誌記錄
<a name="object-ownership-server-access-logs"></a>

如果想要套用「儲存貯體擁有者強制執行」設定以針對伺服器存取記錄目的地儲存貯體 (也稱為*目標儲存貯體*) 停用 ACL，則您必須將 S3 日誌交付群組的儲存貯體 ACL 許可遷移至儲存貯體政策中的記錄服務主體 (`logging.s3.amazonaws.com`)。如需有關日誌交付許可的詳細資訊，請參閱 [日誌交付許可](enable-server-access-logging.md#grant-log-delivery-permissions-general)。

此儲存貯體 ACL 授予 S3 日誌交付群組的 `WRITE` 和 `READ_ACP` 存取權：

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
            }, 
            "Permission": "FULL_CONTROL"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "WRITE"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "READ_ACP"
        }
    ]
}
```

**將 S3 日誌交付群組的儲存貯體 ACL 許可遷移至儲存貯體政策中的日誌記錄服務主體**

1. 將以下儲存貯體政策新增至您的目的地儲存貯體，取代範例值。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:						{
       {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3ServerAccessLogsPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logging.s3.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-LOGGING-PREFIX*",
               "Condition": {
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"
                   }
               }
           }
       ]
   }
   ```

1. 將目的地儲存貯體的 ACL 重設為預設 ACL。

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. 針對物件擁有權[套用「儲存貯體擁有者強制執行」設定](object-ownership-existing-bucket.md)至您的目的地儲存貯體。

### 對儲存貯體中的物件授予公用讀取存取權。
<a name="object-ownership-public-read"></a>

如果您的物件 ACL 授予儲存貯體中所有物件的公用讀取存取權，則您可以將這些 ACL 許可遷移至儲存貯體政策。

此物件 ACL 會授予儲存貯體中物件的公用讀取存取權：

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**將公用讀取 ACL 許可遷移至儲存貯體政策**

1. 若要授予儲存貯體中所有物件的公用讀取存取權，請新增下列儲存貯體政策，取代範例值。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

   若要授予儲存貯體政策中特定物件的公用存取權，請使用 `Resource` 元素的下列格式。

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
   ```

   若要授予具有特定字首之所有物件的公用存取權，請使用 `Resource` 元素的下列格式。

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/PREFIX/*"
   ```

1. 針對物件擁有權[套用「儲存貯體擁有者強制執行」設定](object-ownership-existing-bucket.md)。

### 授權 Amazon ElastiCache (Redis OSS) 存取您的 S3 儲存貯體
<a name="object-ownership-elasticache-redis"></a>

您可以[將 ElastiCache (Redis OSS) 備份匯出](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html)至 S3 儲存貯體，以便從 ElastiCache 外部存取備份。若要將備份匯出至 S3 儲存貯體，您必須授權 ElastiCache 將快照複製到儲存貯體。如果已將許可授予儲存貯體 ACL 中的 ElastiCache，則您必須先將這些許可遷移至儲存貯體政策，然後再套用「儲存貯體擁有者強制執行」設定來停用 ACL。如需詳細資訊，請參閱《Amazon ElastiCache 使用者指南**》中的[為您的 Amazon S3 儲存貯體授予 ElastiCache 存取權](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access)。

下列範例顯示將許可授予 ElastiCache 的儲存貯體 ACL 許可。

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**將 ElastiCache (Redis OSS) 的儲存貯體 ACL 許可遷移至儲存貯體政策**

1. 將以下儲存貯體政策新增至您的儲存貯體，替換範例值。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "Region.elasticache-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

1. 將儲存貯體的 ACL 重設為預設 ACL：

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. 針對物件擁有權[套用「儲存貯體擁有者強制執行」設定](object-ownership-existing-bucket.md)。