IAMロールARN — クロスアカウントとサービスロール
AWS IAMロールARNを解析し、ロールの識別方法を理解します。ロールパス、クロスアカウントの引き受け信頼ポリシー、サービスリンクロールについて解説。
詳細な説明
IAMロールARNの構造
IAMロールはAWSセキュリティの最も基本的な構成要素の一つです。そのARNは標準的なIAMパターンに従います:リージョンなし(IAMはグローバル)、アカウントIDとrole/リソースタイププレフィックス付き。
ARNの例
arn:aws:iam::123456789012:role/application/MyAppRole
解析されたコンポーネント
| コンポーネント | 値 |
|---|---|
| Partition | aws |
| Service | iam |
| Region | (空) — IAMはグローバル |
| Account ID | 123456789012 |
| Resource Type | role |
| Resource ID | application/MyAppRole |
ロールパス
リソースID application/MyAppRoleにはパス(application/)とロール名(MyAppRole)が含まれています。パスは関連するロールをグループ化するためのオプションの組織プレフィックスです。IAMポリシーでは重要で、arn:aws:iam::123456789012:role/application/*を対象とするポリシーは、application/パス下のすべてのロールにアクセスを付与しますが、他のパスのロールには付与しません。
クロスアカウントロール引き受け
IAMロールARNはsts:AssumeRole呼び出しと信頼ポリシーで使用されます。アカウントBがアカウントAのリソースにアクセスしたい場合、アカウントAはアカウントBのルートまたは特定のロールARNを信頼されたプリンシパルとして指定する信頼ポリシーを持つロールを作成します:
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::987654321098:root" },
"Action": "sts:AssumeRole"
}
サービスリンクロール
AWSサービスはパス/aws-service-role/を持つ特別なサービスリンクロールを作成します。例:arn:aws:iam::123456789012:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing。
ユースケース
共有サービスアカウントのCI/CDパイプラインがデプロイのために複数のターゲットアカウントのロールを引き受けるクロスアカウントアクセスパターンの設定。ロールARNは信頼ポリシーとassume-role API呼び出しの両方で重要な参照です。