

# Amazon リソースネーム (ARN) で AWS リソースを識別する
<a name="reference-arns"></a>

Amazon リソースネーム (ARN) は、AWS リソースを一意に識別します。IAM ポリシー、Amazon Relational Database Service (Amazon RDS) タグ、API コールなど、すべての AWS 全体でリソースを明確に指定する必要がある場合は ARN が必要になります。ARN は、他の識別情報と同様に、慎重に使用および共有する必要がありますが、秘密情報、センシティブ情報、または機密情報とは見なされません。

## ARN 形式
<a name="arns-syntax"></a>

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 全般のリファレンス」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)」を参照してください。

*account-id*  
リソースを所有しておりハイフンがない AWS アカウントの ID。例えば、`123456789012`。

*resource-type*  
リソースタイプ。たとえば、`vpc` は仮想プライベートクラウド (VPC) 用です。

*resource-id*  
リソース識別子。これはリソースの名前、リソースの ID、または[リソースパス](#arns-paths)です。一部のリソース識別子には、親リソース (sub-resource-type/parent-resource/sub-resource) またはバージョン (resource-type:resource-name:qualifier) などの修飾子が含まれます。例

IAM ユーザー  
arn:aws:iam::*123456789012*:user/*john*

SNS トピック  
arn:aws:sns:*us-east-1*:*123456789012*:*example-sns-topic-name*

VPC  
arn:aws:ec2:*us-east-1*:*123456789012*:vpc/*vpc-0e9801d129EXAMPLE*

## リソースの ARN 形式を検索する
<a name="supported-arns"></a>

ARN の正確な形式は、サービスとリソースのタイプによって異なります。一部のリソース ARN には、パス、変数、またはワイルドカードを含めることができます。特定の AWS リソースの ARN 形式を検索するには、「[サービス認可リファレンス](https://docs.aws.amazon.com/service-authorization/latest/reference/)」を開き、サービスのページを開いて、リソースタイプの形式を表示します。

## ARN のパス
<a name="arns-paths"></a>

リソース ARN にはパスを含めることができます。たとえば Amazon S3 では、リソース ID はスラッシュ (`/`) を挿入してパスを作成することができるオブジェクト名です。同様に、IAM ユーザー名とグループ名にはパスを含めることができます。IAM パスに使用できる文字は、英数字と、スラッシュ (`/`)、プラス記号 (`+`)、等号 (`=`)、カンマ (`,`)、ピリオド (`.`)、アットマーク (`@`)、アンダースコア (`_`)、ハイフン (`-`) のみです。

### パスでのワイルドカードの使用
<a name="arns-paths-wildcards"></a>

パスには、ワイルドカード文字、アスタリスク (`*`) を含めることができます。ワイルドカードを許可するポリシー要素があれば、許可しないポリシー要素もあります。[Resource](reference_policies_elements_resource.md) 要素または [NotResource](reference_policies_elements_notresource.md) 要素にはワイルドカードを使用できますが、[Principal](reference_policies_elements_principal.md) 要素または [NotPrincipal](reference_policies_elements_notprincipal.md) 要素には使用できません。詳細については、「[IAM JSON ポリシーリファレンス](reference_policies.md)」を参照してください。

次の例のように、123456789012 アカウントのすべてのロールを意味するように `role/*` を指定できます。

```
arn:aws:iam::123456789012:role/*
```

ワイルドカードでリソース名を終了することもできます。例えば、`service` で始まって `service-role1` または `service-test` のような異なる文字で終わるすべてのロールを意味するように **service-\$1** を指定できます。

```
arn:aws:iam::123456789012:role/service-*
```

次の例では、パスが含まれるリソース名の Amazon S3 バケットにあるオブジェクトの ARN が示されます。プレフィックスとは関係なく、ARN `arn:aws:s3:::amzn-s3-demo-bucket/*` はそのバケット内のすべてのオブジェクトを対象とします。ARN `arn:aws:s3:::amzn-s3-demo-bucket/Development/*` は、**/Development/** プレフィックス内で作成されたすべてのオブジェクトを対象とします。

`?` ワイルドカード文字を使用して ARN で 1 文字を指定することもできます。例えば、amzn-s3-demo-bucket という名前の S3 バケットで 4 文字で始まり、**-test** で終わるすべてのフォルダに次の ARN を使用できます。これと一致する一部のフォルダには `1234-test`、`2024-test`、`a100-test` などがあります。

```
arn:aws:s3:::amzn-s3-demo-bucket/????-test
```

ARN のさまざまなセクションでワイルドカードを使用することもでき、コロン「`:`」で区切ります。次の例では、2 つのワイルドカードが使用され、アカウント 123456789012 のすべてのリージョンにおけるアプリケーション内のすべての Amazon Q アプリケーションおよびリソースと一致します。

```
arn:aws:qbusiness:*:123456789012:*
```

同様に、次の例ではアカウント 123456789012 のすべてのリージョンにおけるすべての Amazon VPC と一致します。

```
arn:aws:ec2:*:123456789012:vpc/*
```

次の例では、アカウント 123456789012 のすべてのリージョンにおけるすべての Amazon EBS ボリュームと一致します。

```
arn:aws:ec2:*:123456789012:volume/*
```

**ARN 内でのワイルドカード使用に関する制限**  
リソースタイプを指定する ARN の部分では、ワイルドカードを使用することはできません。リソースタイプ内にワイルドカードを含む次の ARN の例は無効です。

```
arn:aws:lambda:us-east-2:123456789012:functi*:my-function <== not allowed 
```

**注記**  
アイデンティティベースのポリシーで不完全な ARN (標準の 6 フィールド未満の ARN) を指定すると、AWS では、欠落しているすべてのフィールドにワイルドカード文字 (\$1) が追加されて ARN が自動的に完全な形になります。例えば、`arn:aws:sqs` を指定することは `arn:aws:sqs:*:*:*` に相当します。この場合、すべてのリージョンとアカウントですべての Amazon SQS リソースへのアクセスが許可されます。

プレフィックス ARN でワイルドカードを使用したり、ARN のパーティションセクションでワイルドカードを含めたりすることもできません。

```
arn:aws:redshift:us-east-1:123456789012:? <== not allowed
```