Amazon S3 on Outposts バケットのバケットポリシーを追加または編集する - Amazon Simple Storage Service

Amazon S3 on Outposts バケットのバケットポリシーを追加または編集する

バケットポリシーは、リソースベースの AWS Identity and Access Management (IAM) ポリシーを使用して、バケットとその中のオブジェクトへのアクセス許可を付与できます。バケット所有者のみが、ポリシーをバケットに関連付けることができます。バケットに添付された許可は、バケット所有者が所有するバケットのすべてのオブジェクトに適用されます。バケットポリシーのサイズは 20 KB に制限されています。詳細については、「バケットポリシー」を参照してください。

以下のトピックでは、AWS Management Console、AWS Command Line Interface (AWS CLI)、または AWS SDK for Java を使用して、Amazon S3 on Outposts バケットポリシーを更新する方法を示します。

バケットポリシーを作成または編集するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左のナビゲーションペインで、[Outposts buckets] (Outposts バケット) を選択します。

  3. バケットポリシーを編集する Outposts バケットを選択します。

  4. [Permissions] (許可) タブを選択します。

  5. [Outposts bucket policy] (Outposts バケットポリシー) セクションで、新しいポリシーを作成または編集するには、[Edit] (編集) を選択します。

    これで、S3 on Outposts バケットポリシーを追加または編集できます。詳細については、「S3 on Outposts で IAM を設定する」を参照してください。

次の AWS CLI の例では、Outposts バケットにポリシーを配置します。

  1. 以下のバケットポリシーを JSON ファイルに保存します。この例では、ファイル名は policy1.json です。user input placeholders を、ユーザー自身の情報に置き換えます。

    { "Version":"2012-10-17", "Id":"testBucketPolicy", "Statement":[ { "Sid":"st1", "Effect":"Allow", "Principal":{ "AWS":"123456789012" }, "Action":"s3-outposts:*", "Resource":"arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket" } ] }
  2. put-bucket-policy CLI コマンドの一部として JSON ファイルを送信します。このコマンドを実行するには、user input placeholders をユーザー自身の情報に置き換えます。

    aws s3control put-bucket-policy --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket --policy file://policy1.json

次の SDK for Java の例では、Outposts バケットにポリシーを配置します。

import com.amazonaws.services.s3control.model.*; public void putBucketPolicy(String bucketArn) { String policy = "{\"Version\":\"2012-10-17\",\"Id\":\"testBucketPolicy\",\"Statement\":[{\"Sid\":\"st1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"" + AccountId+ "\"},\"Action\":\"s3-outposts:*\",\"Resource\":\"" + bucketArn + "\"}]}"; PutBucketPolicyRequest reqPutBucketPolicy = new PutBucketPolicyRequest() .withAccountId(AccountId) .withBucket(bucketArn) .withPolicy(policy); PutBucketPolicyResult respPutBucketPolicy = s3ControlClient.putBucketPolicy(reqPutBucketPolicy); System.out.printf("PutBucketPolicy Response: %s%n", respPutBucketPolicy.toString()); }