Q45 — AWS DOP-C02 第1章

第 45/100 問 | ← 第1章

ある企業は、Organization(組織)を使用して複数のAWSアカウントを管理しています。開発チームは、Organization APIを呼び出して新しいAWSアカウントを作成するAWS Lambda関数を開発済みです。 このLambda関数は、Organizationのマネジメントアカウント内で実行されています。DevOpsチームは、マネジメントアカウント内のLambda関数を専用のメンバー(Member)アカウントに移行したいと考えています。DevOpsチームは、新しいアカウントにLambda関数をデプロイする前に、Lambda関数がOrganization内で新しいAWSアカウントを作成する能力のみを持つことを保証したいと考えています。

正解: A. マネジメントアカウント内で、Organization内での新規アカウント作成に必要な権限を持つ新しいIAMロールを作成します。新しいAWSアカウント内のLambda実行ロールがこのロールを引き受けることを許可します。Lambda関数コードを更新し、このロールを引き受けた際に新規AWSアカウントを作成するようにします。Lambda実行ロールを更新し、新しいロールを引き受ける権限を持つことを保証します。

解説

AWS Organizationsでは、クロスアカウントIAMロールによる権限委任が可能です。Lambdaが新しいアカウントからマネジメントアカウントの操作を実行する必要がある場合、ベストプラクティスは、マネジメントアカウントに必要な権限を持つロールを作成し、信頼ポリシーを設定して新しいアカウントのLambda実行ロールがそのロールを引き受けられるようにすることです。AWS公式ドキュメントによると、Organizationにおけるアカウント作成権限はorganizations:CreateAccountであり、クロスアカウントアクセスにはロール引き受けが推奨されます。選択肢Aはロールの作成と信頼関係の設定により、Lambdaが実行時のみ必要な権限を得ることを保証し、セキュリティ要件を満たします。選択肢Bは、Organizationポリシーでは他のアカウントへのアカウント作成権限の付与は不可能です。選択肢Cのサービスプリンシパルは権限範囲を広げてしまう可能性があります。選択肢DのControl Towerは不要かつ複雑です。