type
status
date
slug
summary
tags
category
icon
password
理論
AWSのアクセス管理と細粒度アクセス制御
AWSでは、アクセス制御を適切に管理するために、複数の方法を使用できます。特に、複数のAWSアカウント間でアクセスを制御する際には、以下の概念とサービスが重要です。
- IAM (Identity and Access Management)
- IAMロール: 他のAWSアカウントやサービスにアクセスを許可するための権限を持つロールを作成できます。信頼関係を設定することで、他のアカウントからこのロールを引き受けることが可能です。
- IAMポリシー: 特定のアクションを許可または拒否する権限を定義するJSONベースのドキュメントです。ポリシー条件を追加することで、細粒度アクセス制御(特定のデータ属性に基づくアクセス)を実現できます。
- DynamoDBの細粒度アクセス制御
DynamoDBでは、テーブルの特定の項目(属性)へのアクセスを制限できます。これにより、ユーザーやロールは、データベース内のすべてのデータではなく、必要な属性にのみアクセスできます。
- リソースベースのアクセス制御
DynamoDBテーブルなどのリソースには、アクセスを制限するためのリソースベースのポリシーを設定することができます。この方法は、特定のリソースに対してアクセス権限を直接付与します。
- AWS OrganizationsとSCP (Service Control Policies)
SCPは、AWS Organizations内で複数のアカウントに対するアクセス制限を設けるために使用します。ただし、細粒度アクセス制御はIAMポリシーやリソースベースのポリシーで行うべきです。SCPは一般的にアカウントレベルのアクセス管理に使用されます。
これらを組み合わせることで、マーケティングチームにDynamoDBの特定の属性へのアクセスを許可し、機密データを保護することができます。
実践
略
一問道場
問題 #185
トピック 1
ある企業は、AWS CloudでのマルチアカウントセットアップにAWS Organizationsを使用しています。企業の財務チームは、AWS LambdaとAmazon DynamoDBを使用するデータ処理アプリケーションを運用しています。企業のマーケティングチームは、DynamoDBテーブルに格納されたデータにアクセスしたいと考えていますが、そのDynamoDBテーブルには機密データが含まれています。マーケティングチームは、DynamoDBテーブル内の特定の属性にのみアクセスできる必要があります。財務チームとマーケティングチームは別々のAWSアカウントを持っています。
ソリューションアーキテクトは、マーケティングチームにDynamoDBテーブルへの適切なアクセスを提供するために、何をすべきでしょうか?
A. マーケティングチームのAWSアカウントにDynamoDBテーブルの特定の属性へのアクセスを許可するSCPを作成し、そのSCPを財務チームのOUにアタッチします。
B. 財務チームのアカウントにIAMロールを作成し、特定のDynamoDB属性に対するIAMポリシー条件(細粒度アクセス制御)を使用します。マーケティングチームのアカウントと信頼関係を構築します。マーケティングチームのアカウントで、財務チームのアカウントで作成したIAMロールを引き受けるためのIAMロールを作成します。
C. 特定のDynamoDB属性に対する条件(細粒度アクセス制御)を含むリソースベースのIAMポリシーを作成し、そのポリシーをDynamoDBテーブルにアタッチします。マーケティングチームのアカウントで、財務チームのアカウントにあるDynamoDBテーブルにアクセスするためのIAMロールを作成します。
D. 財務チームのアカウントにDynamoDBテーブルにアクセスするIAMロールを作成し、IAM権限境界を使用して特定の属性へのアクセスを制限します。マーケティングチームのアカウントで、財務チームのアカウントで作成したIAMロールを引き受けるためのIAMロールを作成します。
解説
この問題では、異なるAWSアカウント(財務チームとマーケティングチーム)が、Amazon DynamoDBテーブルにアクセスするシナリオを扱っています。マーケティングチームには、テーブル内の特定の属性のみへのアクセスを許可し、財務チームの機密データは保護しなければなりません。
解答の分析
Bが最も適切な解答です。理由は以下の通りです。
正解: B
- IAMロールの作成: 財務チームのアカウント内で、特定のDynamoDB属性にアクセスする権限を持つIAMロールを作成します。このロールには、細粒度アクセス制御(特定のDynamoDB属性へのアクセス)を適用します。
- 信頼関係の設定: マーケティングチームのアカウントと信頼関係を確立し、マーケティングチームのアカウントで、このロールを引き受けることができるようにします。
- マーケティングチームのIAMロール: マーケティングチームのアカウントで、財務チームのIAMロールを引き受けるための権限を持つIAMロールを作成します。
この方法により、マーケティングチームは指定された属性のみにアクセスでき、機密データの保護が確保されます。
他の選択肢の分析
A: **SCP(サービス制御ポリシー)**は、アカウントレベルでのアクセス制御を行うため、細粒度なアクセス制御には不向きです。SCPは一般的なアクセス権限の管理には役立ちますが、DynamoDBの特定の属性へのアクセス制御には適していません。
C: リソースベースのIAMポリシーは、特定のリソース(DynamoDBテーブル)に対するアクセスを制御するために使用されますが、この選択肢には細粒度アクセス制御に関する記述が不足しています。また、IAMロールの引き受けに関する部分が不十分です。
D: IAMロールとIAM権限境界を組み合わせてアクセス制御を行う方法ですが、細粒度アクセス制御の実現方法としては、ポリシー条件やIAMロールの信頼関係設定がより適切です。権限境界はアクセス制限に有効ですが、細粒度アクセス制御を行うには不十分です。
まとめ
解答Bは、AWSのIAMポリシー、ロール、信頼関係を活用し、細粒度アクセス制御を効率的に実現する方法として最適です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/170d7ae8-88e2-8067-a8d9-f38eed3dc809
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章