Q14 — AWS SAP-C02 第3章
第 14/75 問 | ← 第3章
Q239. ある企業は、AWS Cloud 上のマルチアカウント構成として AWS Organizations を使用しています。同社の財務チームは、AWS Lambda と Amazon DynamoDB を使用するデータ処理アプリケーションを運用しています。マーケティングチームは、この DynamoDB テーブルに格納されたデータにアクセスしたいと考えています。ただし、DynamoDB テーブルには機密データが含まれており、マーケティングチームにはテーブル内の特定の属性(フィールド)のみへのアクセスを許可する必要があります。財務チームとマーケティングチームは、それぞれ別の AWS アカウントを使用しています。ソリューションアーキテクトは、マーケティングチームに DynamoDB テーブルへの適切なアクセスを提供するために、どのような対応を行うべきでしょうか?
- A. マーケティングチームの AWS アカウントに対して DynamoDB テーブルの特定属性へのアクセスを許可する Service Control Policy (SCP) を作成し、それを財務チームの組織単位(OU)にアタッチします。
- B. 財務チームのアカウント内に IAM ロールを作成し、IAM ポリシーの条件(Condition)を用いて DynamoDB の特定属性へのアクセス(細かい粒度でのアクセス制御:fine-grained access control)を許可します。その後、マーケティングチームのアカウントとの信頼関係(trust relationship)を確立します。さらに、マーケティングチームのアカウント内で、財務チームのアカウントの IAM ロールを引き受ける(assume)権限を持つ IAM ロールを作成します。 ✓
- C. DynamoDB の特定属性へのアクセスを条件とするリソースベースの IAM ポリシーを作成し、そのポリシーを DynamoDB テーブルにアタッチします。その後、マーケティングチームのアカウント内で、財務チームのアカウントにある DynamoDB テーブルにアクセスできる権限を持つ IAM ロールを作成します。
- D. 財務チームのアカウント内で DynamoDB テーブルにアクセスする IAM ロールを作成し、IAM パーミッションバウンダリー(permissions boundary)を用いて特定属性へのアクセスのみを許可します。その後、マーケティングチームのアカウント内で、財務チームのアカウントの IAM ロールを引き受ける権限を持つ IAM ロールを作成します。
正解: B. 財務チームのアカウント内に IAM ロールを作成し、IAM ポリシーの条件(Condition)を用いて DynamoDB の特定属性へのアクセス(細かい粒度でのアクセス制御:fine-grained access control)を許可します。その後、マーケティングチームのアカウントとの信頼関係(trust relationship)を確立します。さらに、マーケティングチームのアカウント内で、財務チームのアカウントの IAM ロールを引き受ける(assume)権限を持つ IAM ロールを作成します。
解説
正解は B です。財務チームのアカウント内で、DynamoDB の特定属性へのアクセスを許可する IAM ポリシーの条件(fine-grained access control)を用いた IAM ロールを作成し、マーケティングチームのアカウントとの信頼関係を確立します。さらに、マーケティングチームのアカウント内で、財務チームのアカウントの IAM ロールを引き受ける権限を持つ IAM ロールを作成します。この方法により、機密データの保護と細かい粒度でのアクセス制御を実現できます。具体的には、財務チームのアカウントに作成した IAM ロールのポリシーで、DynamoDB の `Attributes` や `dynamodb:Select` 条件などを活用して、許可する属性を明示的に指定します。また、このロールの信頼ポリシー(trust policy)にマーケティングチームのアカウント ID を含めることで、クロスアカウントでのロール引き受けを可能にします。マーケティングチームのアカウント側では、`sts:AssumeRole` 権限を持つ IAM ロールを作成し、アプリケーションやユーザーがそのロールを引き受けて財務チームの DynamoDB にアクセスできるようにします。これにより、マーケティングチームは定義された属性のみにアクセス可能となり、財務チームはデータの所有権と管理権を維持しつつ、セキュアかつ制御されたクロスアカウントアクセスを実現できます。