Amazon リソースネーム (ARN) で AWS リソースを識別する
Amazon リソースネーム (ARN) は、AWS リソースを一意に識別します。IAM ポリシー、Amazon Relational Database Service (Amazon RDS) タグ、API コールなど、すべての AWS 全体でリソースを明確に指定する必要がある場合は ARN が必要になります。
ARN 形式
ARN の一般的な形式を次に示します。具体的な形式は、リソースによって異なります。ARN を使用するには、italicized
のテキスト (arn 以外のすべて) をリソース固有の情報に置き換えます。一部のリソースの ARN では、リージョン、アカウント ID、または、リージョンとアカウント ID の両方が省略されていることに注意してください。
arn:
partition
:service
:region
:account-id
:resource-id
arn:partition
:service
:region
:account-id
:resource-type
/resource-id
arn:partition
:service
:region
:account-id
:resource-type
:resource-id
partition
-
リソースが置かれているパーティション。パーティションは AWS リージョンのグループです。各 AWS アカウントのスコープは 1 つのパーティションです。
サポートされているパーティションは以下のとおりです。
-
aws
- AWS リージョン -
aws-cn
- 中国リージョン -
aws-us-gov
- AWS GovCloud (US) リージョン
-
service
-
AWS 製品を識別するサービス名前空間。
region
-
リージョンコード。たとえば、米国東部 (オハイオ) の場合は、
us-east-2
を使用します。リージョンコードの一覧については、「AWS 全般のリファレンス」の「リージョンエンドポイント」を参照してください。 account-id
-
リソースを所有しておりハイフンがない AWS アカウントの ID。例えば、
123456789012
と指定します。 resource-type
-
リソースタイプ。たとえば、
vpc
は仮想プライベートクラウド (VPC) 用です。 resource-id
-
リソース識別子。これはリソースの名前、リソースの ID、またはリソースパスです。一部のリソース識別子には、親リソース (sub-resource-type/parent-resource/sub-resource) またはバージョン (resource-type:resource-name:qualifier) などの修飾子が含まれます。
例
- IAM ユーザー
-
arn:aws:iam::
123456789012
:user/johndoe
- SNS トピック
-
arn:aws:sns:
us-east-1
:123456789012
:example-sns-topic-name
- VPC
-
arn:aws:ec2:
us-east-1
:123456789012
:vpc/vpc-0e9801d129EXAMPLE
リソースの ARN 形式を検索する
ARN の正確な形式は、サービスとリソースのタイプによって異なります。一部のリソース ARN には、パス、変数、またはワイルドカードを含めることができます。特定の AWS リソースの ARN 形式を検索するには、「サービス認可リファレンス」を開き、サービスのページを開いて、リソースタイプの形式を表示します。
ARN のパス
リソース ARN にはパスを含めることができます。たとえば Amazon S3 では、リソース ID はスラッシュ (/
) を挿入してパスを作成することができるオブジェクト名です。同様に、IAM ユーザー名とグループ名にはパスを含めることができます。IAM パスに使用できる文字は、英数字と、スラッシュ (/
)、プラス記号 (+
)、等号 (=
)、カンマ (,
)、ピリオド (.
)、アットマーク (@
)、アンダースコア (_
)、ハイフン (-
) のみです。
パスでのワイルドカードの使用
パスには、ワイルドカード文字、アスタリスク (*
) を含めることができます。たとえば、IAM ポリシーを記述する場合、次のようなワイルドカードを使用して、パス product_1234
を持つすべての IAM ユーザーを指定できます。
arn:aws:iam::123456789012:user/Development/product_1234/*
同様に、次の例に示すように、全ユーザーを意味する user/*
や全グループを意味する group/*
を指定できます。
"Resource":"arn:aws:iam::123456789012:user/*" "Resource":"arn:aws:iam::123456789012:group/*"
次の例は、リソース名にパスが含まれる Amazon S3 バケットの ARN を示しています。
arn:aws:s3:::my_corporate_bucket/* arn:aws:s3:::my-corporate-bucket/Development/*
ワイルドカードの使用方法が正しくありません
IAM ARN の用語 user
など、リソースタイプを指定する ARN の一部では、ワイルドカードを使用することはできません。例えば、以下のことは許可されません。
arn:aws:iam::123456789012:u* <== not allowed