タグ付き汎用バケットを作成する - Amazon Simple Storage Service

タグ付き汎用バケットを作成する

Amazon S3 汎用バケットは、作成時にタグ付けできます。バケットでタグを使用することによる追加料金は、標準の S3 API リクエスト料金を超えて発生しません。詳細については、「Amazon S3 の料金」を参照してください。バケットのタグ付けの詳細については、「S3 汎用バケットでタグを使用する」を参照してください。

アクセス許可

タグ付きバケットを作成するには、次のアクセス許可が必要です。

  • s3:CreateBucket

  • s3:TagResource

Amazon S3 コンソールと CloudFormation では、この機能を使用してタグ付きバケットを作成できるようになりました。

エラーのトラブルシューティング

タグ付きバケットを作成しようとしたときにエラーが発生した場合は、以下を実行できます。

  • バケットを作成し、それにタグを追加するために必要な アクセス許可 があることを確認します。

  • IAM ポリシーで aws:TagKeys または aws:RequestTag/key-name 条件キーを確認します。バケットには、特定のタグキーと値のみを使用してラベルを付ける必要がある場合があります。詳細については、「属性ベースのアクセス制御 (ABAC) のタグを使用する」を参照してください。

注記

Amazon S3 と CloudFormation では、この機能を使用してタグ付きのバケットを作成できるようになりました。タグを使用してバケットを作成する場合、aws:ResourceTag および s3:BucketTag 条件キーを使用してバケットにアクセスするためのタグベースの条件は、バケットで ABAC を有効にした後にのみ適用されることに注意してください。詳細については汎用バケットでの ABAC の有効化を参照してください。

Steps

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、AWS SDK を使用して、タグを適用したバケットを作成できます。

Amazon S3 コンソールを使用してタグ付きバケットを作成するには

  1. Amazon S3 コンソール (https://console.aws.amazon.com/s3/) にサインインします。

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

  3. 新しいバケットを作成するには、[バケットの作成] を選択します。

  4. 通常どおりに汎用バケットを作成します。「汎用バケットの作成」を参照してください。

  5. [バケットの作成] ページで、[タグ] は新しいバケットを作成する際のオプションです。

  6. バケットの名前を入力します。詳細については、「汎用バケットの命名規則」を参照してください。

  7. [新しいタグを追加] を選択してタグエディタを開き、タグのキーと値のペアを入力します。タグキーは必須ですが、値はオプションです。

  8. 別のタグを追加するには、[新しいタグを追加] を再度選択します。最大 50 個のタグのキーと値のペアを入力できます。

  9. 新しいバケットのオプションを指定したら、[バケットの作成] を選択します。

SDK for Java 2.x

AWS SDK for Java 2.x を使用してタグ付き汎用バケットを作成する方法は、次の例のとおりです。このコマンドを使用する際は、ユーザー入力用プレースホルダーを独自の情報に置き換えます。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.BucketLocationConstraint; import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration; import software.amazon.awssdk.services.s3.model.CreateBucketRequest; import software.amazon.awssdk.services.s3.model.CreateBucketResponse; import software.amazon.awssdk.services.s3.model.Tag; public class CreateBucketWithTagsExample { public static void createBucketWithTagsExample() { S3Client s3 = S3Client.builder().region(Region.US_WEST_2).build(); CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder() .locationConstraint(BucketLocationConstraint.US_WEST_2) .tags(Tag.builder().key("MyTagKey").value("MyTagValue").build()) .build(); CreateBucketRequest createBucketRequest = CreateBucketRequest.builder() .bucket("mybucket") .createBucketConfiguration(bucketConfiguration) .build(); CreateBucketResponse response = s3.createBucket(createBucketRequest); System.out.println("Status code (should be 200):"); System.out.println(response.sdkHttpResponse().statusCode()); } }

Amazon S3 REST API でのタグ付き汎用バケット作成のサポートの詳細については、「Amazon Simple Storage Service API リファレンス」の次のセクションを参照してください。

AWS CLI をインストールする方法については、「AWS Command Line Interface ユーザーガイド」の「AWS CLI のインストール」を参照してください。

以下の CLI の例は、AWS CLI を使用してタグ付きバケットを作成する方法を示しています。このコマンドを使用する際は、ユーザー入力用プレースホルダーを独自の情報に置き換えます。

バケットを作成する際は、設定の詳細を指定して、amzn-s3-demo-bucket の命名規則を使用する必要があります。

リクエスト:

aws s3api create-bucket \ --bucket mybucket \ --create-bucket-configuration 'LocationConstraint=us-west-2,Tags=[{Key=MyTagKey,Value=MyTagValue}]' --region us-west-2"

レスポンス:

{ "Location": "http://mybuckets3.amazonaws.com/" }