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 バケットポリシーを更新する方法を示します。
バケットポリシーを作成または編集するには
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
左のナビゲーションペインで、[Outposts buckets] (Outposts バケット) を選択します。
-
バケットポリシーを編集する Outposts バケットを選択します。
-
[アクセス許可] タブを選択します。
-
[Outposts bucket policy] (Outposts バケットポリシー) セクションで、新しいポリシーを作成または編集するには、[Edit] (編集) を選択します。
これで、S3 on Outposts バケットポリシーを追加または編集できます。詳細については、「S3 on Outposts で IAM を設定する」を参照してください。
次の AWS CLI の例では、Outposts バケットにポリシーを配置します。
-
以下のバケットポリシーを 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
" } ] } -
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()); }