IAMロールARN — クロスアカウントとサービスロール

AWS IAMロールARNを解析し、ロールの識別方法を理解します。ロールパス、クロスアカウントの引き受け信頼ポリシー、サービスリンクロールについて解説。

IAM

詳細な説明

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呼び出しの両方で重要な参照です。

試してみる — AWS ARN Parser

フルツールを開く