メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

ポリシーでのリソースの指定

以下に、AWS のリソースを識別する Amazon リソース名(ARN)の一般的な形式を示します。

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

Amazon S3 リソースの場合:

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

  • s3 はサービスです。

  • リージョンと名前空間は指定しません。

  • Amazon S3 では、bucket-name または bucket-name/object-key となります。ここでは、ワイルドカードを使用できます。

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

Copy
arn:aws:s3:::bucket_name arn:aws:s3:::bucket_name/key_name

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

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

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

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

      Copy
      arn:aws:s3:::examplebucket/*

      この ARN は、「*」を使用して、すべての Amazon S3 リソース (アカウント内のすべての S3 バケットとオブジェクト) を指定しています。

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

      Copy
      arn:aws:s3:::example?bucket/*
  • Amazon S3 ARN では、ポリシー変数を使用することもできます。あらかじめ定義されているこれらの変数は、ポリシーの評価時に対応する値で置き換えられます。たとえば、バケットが一連のフォルダで構成されており、各ユーザーのフォルダが 1 つずつある場合について考えましょう。各フォルダには、ユーザーと同じ名前が付けられています。各ユーザーに自分のフォルダに対するアクセス許可を付与するには、リソース ARN で以下のようにポリシー変数を指定します。

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

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

詳細については、以下のリソースを参照してください。

アクセスポリシー言語の他のエレメントについては、「アクセスポリシー言語の概要」を参照してください。