Amazon S3 のリソース - Amazon Simple Storage Service

Amazon S3 のリソース

次の一般的な Amazon リソースネーム (ARN) 形式は、AWS でリソースを識別します。

arn:partition:service:region:namespace:relative-id

ARN の詳細については、AWS 全般のリファレンス の「Amazon リソースネーム (ARN)」を参照してください。

リソースの詳細については、IAM ユーザーガイドIAM JSON ポリシーのエレメント: Resource を参照してください。

Amazon S3 の ARN では AWS リージョンと名前空間は除外されますが、以下のものが含まれます。

  • パーティションaws は共通のパーティション名です。リソースが中国 (北京) リージョンにある場合は、aws-cn がパーティション名になります。

  • サービスs3

  • 相対 IDbucket-name または bucket-name/object-key。ワイルドカードを使用できます。

Amazon S3 のリソースの ARN 形式は、以下のように短くなります。

arn:aws:s3:::bucket_name/key_name

Amazon S3 のリソースの一覧については、Amazon S3 のアクション、リソース、条件キー を参照してください。

S3 バケットの ARN は、Amazon S3 コンソールのアクセス許可の [Bucket Policy (バケットポリシー)] または [CORS configuration (CORS 設定)] ページで確認することができます。詳細については、次のトピックを参照してください。

Amazon S3 の ARN の例

以下に、Amazon S3 リソースの ARN の例を示します。

指定されたバケット名とオブジェクトキー

この ARN は、/developers/design_info.doc バケットの examplebucket オブジェクトを指しています。

arn:aws:s3:::examplebucket/developers/design_info.doc
ワイルドカード

リソース ARN の一部にワイルドカードを使用することができます。ARN セグメント (コロンで区切られている部分) でワイルドカード文字 (*?) を使用できます。アスタリスク (*) は 0 個以上の文字の任意の組み合わせを表し、疑問符 (?) は任意の 1 文字を表します。各セグメントで複数の * または ? の文字を使用することができますが、ワイルドカードはセグメントをまたぐことができません。

  • 以下の ARN は ARN の相対 ID の部分でワイルドカード * を使用して、examplebucket バケット内のすべてのオブジェクトを識別します。

    arn:aws:s3:::examplebucket/*
  • 以下の ARN は、* を使用して、Amazon S3 のすべてのリソース (S3 のすべてのバケットとオブジェクト) を指定しています。

    arn:aws:s3:::*
  • 以下の ARN は、relative-ID パートでワイルドカードと * および ? の両方を使用します。これにより、example1bucketexample2bucketexample3bucket など、バケット内のすべてのオブジェクトを識別します。

    arn:aws:s3:::example?bucket/*
ポリシー変数

Amazon S3 の ARN では、ポリシー変数を使用することもできます。あらかじめ定義されているこれらの変数は、ポリシーの評価時に対応する値で置き換えられます。例えば、バケットをフォルダのコレクションとして構成し、ユーザーごとに別のフォルダを使用するとします。フォルダ名はユーザー名と同じです。各ユーザーに自分のフォルダに対するアクセス許可を付与するには、リソース ARN で以下のようにポリシー変数を指定します。

arn:aws:s3:::bucket_name/developers/${aws:username}/

実行時にポリシーが評価されると、リソース ARN の変数 ${aws:username} には、リクエストを行うユーザーの名前が挿入されます。