セキュアなアーキテクチャ設計
Account AのIAMユーザーがAccount BのIAMロールをAssumeRoleしてAccount Bのリソースにアクセスする際の一般的な処理順序として正しいものはどれか。
- ✓Account Bでクロスアカウントロールと信頼ポリシーを作成する→Account AのユーザーにAssumeRole権限を付与する→STSのAssumeRole APIで一時的な認証情報を取得する→その認証情報でAccount Bのリソースにアクセスする
- BAccount AのユーザーにAssumeRole権限を付与する→Account Bでクロスアカウントロールと信頼ポリシーを作成する→STSのAssumeRole APIで一時的な認証情報を取得する→その認証情報でAccount Bのリソースにアクセスする
- CSTSのAssumeRole APIで一時的な認証情報を取得する→Account Bでクロスアカウントロールと信頼ポリシーを作成する→Account AのユーザーにAssumeRole権限を付与する→その認証情報でAccount Bのリソースにアクセスする
- DAccount Bでクロスアカウントロールと信頼ポリシーを作成する→STSのAssumeRole APIで一時的な認証情報を取得する→Account AのユーザーにAssumeRole権限を付与する→その認証情報でAccount Bのリソースにアクセスする
解説
まずAccount B側でロールと信頼ポリシーを作成し、次にAccount A側の呼び出し元にsts:AssumeRole権限を付与し、その後STSで一時的な認証情報を取得してからアクセスするという順序が正しい。
根拠AWS IAM クロスアカウントアクセス、AWS STS