アクセスポイントポリシーを追加または編集するには
アクセスポイントには、そのアクセスポイントを介して行われるすべてのリクエストに Amazon S3 on Outposts が適用する個別の許可とネットワークコントロールがあります。各アクセスポイントは、基になるバケットにアタッチされたバケットポリシーと連動して機能するカスタマイズされたアクセスポイントポリシーを適用します。詳細については、「アクセスポイント」を参照してください。
次のトピックでは、AWS Management Console、AWS Command Line Interface (AWS CLI)、および AWS SDK for Java を使用して、S3 on Outposts アクセスポイントのアクセスポイントポリシーを追加または編集する方法について説明します。
https://console.aws.amazon.com/s3/
で Amazon S3 コンソールを開きます。 -
左のナビゲーションペインで、[Outposts buckets] (Outposts バケット) を選択します。
-
アクセスポイントポリシーを編集する Outposts バケットを選択します。
-
[Outposts アクセスポイント] タブを選択します。
-
[Outposts access points] (Outposts アクセスポイント) セクションで、ポリシーを編集するアクセスポイントを選択し、[Edit policy] (ポリシーの編集) を選択します。
-
[Outposts access point policy] (Outposts アクセスポイントポリシー) セクションで、ポリシーを追加または編集します 。詳細については、「S3 on Outposts で IAM を設定する」を参照してください。
次の AWS CLI の例では、Outposts アクセスポイントにポリシーを配置します。
-
次のアクセスポイントポリシーを 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
} ] } -
put-access-point-policy
CLI コマンドの一部として JSON ファイルを送信します。
を、ユーザー自身の情報に置き換えます。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
次の SDK for 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()); }