Q87 — AWS SOA-C02 第1章
第 87/100 問 | ← 第1章
ある会社が、アカウントAにAWS Lambda関数を実行しています。このLambda関数は、アカウントBにあるAmazon S3バケット内のオブジェクトを読み取る必要があります。 SysOps管理者は、両アカウントで対応するIAMロールを作成しなければなりません。 これらの要件を満たすソリューションはどれですか?
- A. アカウントAで、アカウントBのロールを引き受けるLambda実行ロールを作成する。アカウントBで、関数が引き受けてS3バケットへのアクセスを取得できるロールを作成する。 ✓
- B. アカウントAで、S3バケットへのアクセスを提供するLambda実行ロールを作成する。アカウントBで、関数が引き受けることができるロールを作成する。
- C. アカウントAで、関数が引き受けることができるロールを作成する。アカウントBで、S3バケットへのアクセスを提供するLambda実行ロールを作成する。
- D. アカウントAで、S3バケットへのアクセスを取得するため関数が引き受けるロールを作成する。アカウントBで、アカウントAのロールを引き受けるLambda実行ロールを作成する。
正解: A. アカウントAで、アカウントBのロールを引き受けるLambda実行ロールを作成する。アカウントBで、関数が引き受けてS3バケットへのアクセスを取得できるロールを作成する。
解説
AWSのクロスアカウントアクセスでは、通常、要求側アカウントに実行ロールを作成し、リソース側アカウントに委任可能なロールを作成します。Lambda関数はアカウントAにあり、アカウントBのS3にクロスアカウントでアクセスする必要があります。正しい構成は、アカウントAにLambda実行ロールを作成し、そのロールがアカウントBのロールを引き受けられる権限を付与すること、およびアカウントBに委任可能なロールを作成し、S3アクセスポリシーをアタッチするとともに、アカウントAのLambda実行ロールを信頼関係に含めることです。選択肢Aはこのパターンに合致しており、他の選択肢はロールの位置や権限設定の方向を誤っています。AWSセキュリティドキュメントでは、クロスアカウントアクセスは信頼関係を確立し、ロール委任を通じて実現することと明記されています。