STS引き受けロールARN — 一時認証情報のアイデンティティ

STS assumed-role ARNを解析し、一時認証情報がどのように識別されるかを理解します。ロールARNとセッションARNの関係、CloudTrailログでの使用方法について解説。

Auth

詳細な説明

STS Assumed-Role ARNの構造

IAMロールがsts:AssumeRoleで引き受けられると、結果の一時認証情報はロール名とセッション名を含むassumed-role ARNに関連付けられます。

ARNの例

arn:aws:sts::123456789012:assumed-role/MyAppRole/session-name-1234

解析されたコンポーネント

コンポーネント
Partition aws
Service sts
Region (空)
Account ID 123456789012
Resource Type assumed-role
Resource ID MyAppRole/session-name-1234

ロールARNとAssumed-Role ARN

これらは関連する概念の2つの異なる識別子です:

  • ロールARN: arn:aws:iam::123456789012:role/MyAppRole — ロール定義を識別(サービス:iam
  • Assumed-Role ARN: arn:aws:sts::123456789012:assumed-role/MyAppRole/session-name — ロールを使用する特定のセッションを識別(サービス:sts

セッション名

セッション名(session-name-1234)はAssumeRole呼び出し時に指定され、CloudTrailログに表示されます。ベストプラクティスは、CloudTrailイベントを特定の呼び出し元に遡れるように、意味のあるセッション名(ユーザー名やサービスインスタンスなど)を使用することです。

CloudTrailログ

CloudTrailでアクションを確認すると、userIdentity.arnフィールドには元のロールARNではなくassumed-role ARNが表示されます。これにより、がロールを引き受けてアクションを実行したかを特定できます。

IAMポリシー条件

assumed-role ARNパターンにマッチするIAMポリシーを記述でき、aws:PrincipalArnなどの条件キーを使用して、同じロールの異なるセッションに異なる権限を持たせることができます。

フェデレーテッドユーザーARN

同様に、フェデレーテッドユーザー(SAMLまたはWebアイデンティティ経由)はarn:aws:sts::123456789012:federated-user/usernameのようなARNを取得し、federated-userがリソースタイプとなります。

ユースケース

CloudTrailログを分析して、どの特定のプリンシパルがアクションを実行したかを特定する場合。assumed-role ARNは使用されたロールとセッション名の両方を明らかにし、マルチテナントまたは共有ロール環境でのセキュリティ監査とインシデント調査に不可欠です。

試してみる — AWS ARN Parser

フルツールを開く