ある企業は本番 AWS アカウント(Account A)のデータを、監査用アカウント(Account B)の Lambda 関数から読み取りたいと考えています。コードの変更を最小限に抑えつつ、最小権限でクロスアカウントアクセスを実現するには何が必要ですか?(最も適切なものを選択してください)
- A. Account A に IAM ユーザーを作成し、アクセスキーを Account B の Lambda 環境変数に設定する
- B. Account A に IAM ロールを作成して Account B の Lambda 実行ロールに AssumeRole を許可し、Lambda コード内で sts:AssumeRole を呼び出す
- C. Account A のリソースをパブリックアクセスに変更して Account B から直接アクセスする
- D. Account B の Lambda を Account A の VPC にデプロイして内部ネットワーク経由でアクセスする
解答と解説を見る
正解: B
クロスアカウントアクセスの標準パターンは「Account A にクロスアカウントロールを作成(Trust Policy で Account B を信頼)→ Account B の実行ロールに sts:AssumeRole 権限付与→ Lambda で STS:AssumeRole を呼び出して一時認証情報を取得」です。アクセスキーは不要でコード変更も最小限です。A はアクセスキーのハードコードはセキュリティリスクです。C はパブリックアクセスへの変更は最小権限原則に大きく反します。D は Lambda を別アカウントの VPC にデプロイすることは技術的に複雑であり、ネットワーク経由のアクセスは認可の代替になりません。
📚 関連サービスの解説: AWS IAM ・ AWS Lambda