

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

# 新增或編輯存取點政策
<a name="S3OutpostsAccessPointEditPolicy"></a>

存取點有 Amazon S3 on Outposts 對於透過該存取點進行的任何請求所套用的不同許可和網路控制。每個存取點都會強制執行自訂的存取點政策，該政策可結合附加至基礎儲存貯體的儲存貯體政策運作。如需更多詳細資訊，請參閱 [存取點](S3OutpostsWorkingBuckets.md#S3OutpostsAP)。

下列主題介紹如何使用 AWS 管理主控台、AWS Command Line Interface (AWS CLI) 和 適用於 Java 的 AWS SDK 新增或編輯 S3 on Outposts 存取點政策。

## 使用 S3 主控台
<a name="s3-outposts-bucket-edit-accesspoint"></a>

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Outposts buckets** (Outposts 儲存貯體)。

1. 選擇您要編輯存取點政策的 Outposts 儲存貯體。

1. 選擇 **Outposts access points** (Outposts 存取點) 索引標籤。

1. 在 **Outposts access points** (Outposts 存取點) 區段中，選取您要編輯其政策的存取點，然後選擇 **Edit policy** (編輯政策)。

1. 在 **Outposts access point policy** (Outposts 存取點政策) 區段中新增或編輯政策。如需更多詳細資訊，請參閱 [使用 S3 on Outposts 設定 IAM](S3OutpostsIAM.md)。

## 使用 AWS CLI
<a name="S3OutpostsPutAccessPointPolicyCLI"></a>

下列 AWS CLI 範例將政策放置在 Outposts 存取點上。

1. 將以下存取點政策儲存至 JSON 檔案。在此範例中，檔案命名為 `appolicy1.json`。以您自己的資訊取代 `user input placeholders`。

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Id":"exampleAccessPointPolicy",
      "Statement":[
         {
            "Sid":"st1",
            "Effect":"Allow",
            "Principal":{
               "AWS":"123456789012"
            },
            "Action":"s3-outposts:*",
            "Resource":"arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point
         }
      ]
   }
   ```

1. 提交 JSON 檔案以做為 `put-access-point-policy` CLI 命令的一部分。以您的資訊取代 `user input placeholders`。

   ```
   aws s3control put-access-point-policy --account-id 123456789012 --name arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point --policy file://appolicy1.json
   ```

## 使用適用於 Java 的 AWS 軟體開發套件
<a name="S3OutpostsPutAccessPointPolicyJava"></a>

下列適用於 Java 的開發套件範例在 Outposts 存取點上放置政策。

```
import com.amazonaws.services.s3control.model.*;

public void putAccessPointPolicy(String accessPointArn) {

    String policy = "{\"Version\":\"2012-10-17\",\"Id\":\"testAccessPointPolicy\",\"Statement\":[{\"Sid\":\"st1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"" + AccountId + "\"},\"Action\":\"s3-outposts:*\",\"Resource\":\"" + accessPointArn + "\"}]}";

    PutAccessPointPolicyRequest reqPutAccessPointPolicy = new PutAccessPointPolicyRequest()
            .withAccountId(AccountId)
            .withName(accessPointArn)
            .withPolicy(policy);

    PutAccessPointPolicyResult respPutAccessPointPolicy = s3ControlClient.putAccessPointPolicy(reqPutAccessPointPolicy);
    System.out.printf("PutAccessPointPolicy Response: %s%n", respPutAccessPointPolicy.toString());
    printWriter.printf("PutAccessPointPolicy Response: %s%n", respPutAccessPointPolicy.toString());

}
```