Directory Service でアイデンティティベースのポリシー (IAM ポリシー) を使用する
このトピックでは、アカウント管理者がIAMアイデンティティ (ユーザー、グループ、ロール) へのアクセス権限ポリシーをアタッチする、アイデンティティベースのポリシーの例を示します。これらの例は、Directory Service の IAM ポリシーを示しています。ニーズと環境に合わせて独自のポリシーを変更して作成する必要があります。
重要
初めに、Directory Service リソースへのアクセスを管理するための基本概念と使用可能なオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、「Directory Service リソースに対するアクセス許可の管理の概要」を参照してください。
このセクションでは、次のトピックを対象としています。
以下に示しているのは、アクセス許可ポリシーの例です。
ポリシーの 3 つのステートメントは、次のようにアクセス権限を付与します。
-
最初のステートメントでは、Directory Service ディレクトリを作成することを許可します。Directory Service は、リソースレベルのアクセス権限をサポートしていないため、ポリシーは
Resource値としてワイルドカード文字 (*) を指定します。 -
次のステートメントでは、IAM アクションへのアクセスは付与され、Directory Service がユーザーに代わって IAM ロールの読み取りと作成できるようになります。
Resource値の末尾のワイルドカード文字 (*) は、このステートメントで任意の IAM ロールに対して IAM アクションを実行するアクセス許可が付与されることを意味します。このアクセス許可を特定のロールに制限するには、リソース ARN 内のワイルドカード文字 (*) を特定のロール名に置き換えます。詳細については、「IAM のアクション」を参照してください。 -
3 番目のステートメントは、Directory Service がそのディレクトリを作成、設定、破棄するために必要な Amazon EC2 での特定のリソースセットへのアクセス権限を付与します。ロールをロールの ARN に置き換えます。詳細については、「Amazon EC2 Actions」を参照してください。
アイデンティティに基づくポリシーでは、アクセス権限の付与先のプリンシパルを指定しないため、Principal 要素は指定されません。ユーザーにそのポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス許可ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス許可を得ることになります。
すべての Directory Service API アクションとそれらが適用されるリソースの表については、「Directory Service API アクセス許可: アクション、リソース、条件リファレンス」を参照してください。
Directory Service コンソールの使用に必要なアクセス許可
Directory Service コンソールを使用して作業するユーザーの場合、そのユーザーは、上記のポリシーに指定されたアクセス許可を持っているか、「AWS 用の 管理 (事前定義) ポリシー Directory Service」で説明されている Directory Service のフルアクセスロールまたは読み取り専用ロールによって付与されるアクセス許可を持っている必要があります。
これらの最小限必要なアクセス許可よりも制限された IAM ポリシーを作成している場合、その IAM ポリシーを使用するユーザーに対してコンソールは意図したとおりには機能しません。
AWS 用の 管理 (事前定義) ポリシー Directory Service
AWS は、AWS によって作成され管理される事前定義済み、またはマネージド IAM ポリシーを提供することで、多くの一般的ユースケースに対応します。マネージドポリシーは、一般的なユースケースに必要なアクセス許可を付与するため、必要なアクセス許可を決定するのに役立ちます。詳細については、「AWS の マネージドポリシーAWS Directory Service」を参照してください。
お客様管理ポリシーの例
このセクションでは、さまざまな Directory Service アクションのアクセス許可を付与するユーザーポリシーの例を示しています。
注記
例はすべて、米国西部 (オレゴン) リージョン (us-west-2) を使用し、架空のアカウント ID を使用しています。
例 1: すべての Directory Service リソースに対する Describe アクションの実行をユーザーに許可する
次のアクセス権限ポリシーは、ユーザーに対し、AWS アカウント 111122223333 内のディレクトリ ID d-1234567890 を持つ AWS Managed Microsoft AD で、Describe で始まるすべてのアクションを実行する権限を付与します。これらのアクションは、ディレクトリやスナップショットなどの、Directory Service リソースに関する情報を表示します。AWS リージョンとアカウント番号は、使用するリージョンとアカウント番号に変更してください。
例 2: ディレクトリの作成をユーザーに許可する
次のアクセス許可ポリシーによって、ディレクトリおよび関連するすべての他のリソース (スナップショットや信頼など) を作成するアクセス許可がユーザーに付与されます。そのためには、特定の Amazon EC2 サービスへのアクセス許可も必要です。
IAM ポリシーでのタグの使用
ほとんどの Directory Service API アクションに対して使用する IAM ポリシーで、タグベースのリソースレベルアクセス許可を適用できます。これにより、ユーザーがどのリソースを作成、変更、または使用できるかを制御しやすくなります。IAM ポリシーの以下の条件コンテキストのキーと値とともに Condition 要素 (Condition ブロックとも呼ばれる) を使用して、リソースのタグに基づいてユーザーアクセス (アクセス許可) を制御できます。
-
特定のタグを持つリソースに対してユーザーアクションを許可または拒否するには、
aws:ResourceTag/tag-key:tag-valueを使用します。 -
タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定のタグを使用する (または使用しない) ことを要求するには、
aws:ResourceTag/tag-key:tag-valueを使用します。 -
タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定の一連のタグキーを使用する (または使用しない) ことを要求するには、
aws:TagKeys: [tag-key, ...] を使用します。
注記
IAM ポリシーの条件コンテキストのキーと値は、タグ付け可能なリソースの識別子が必須パラメータである Directory Service アクションにのみ適用されます。
「IAM ユーザーガイド」の「タグを使用したアクセスの制御」には、タグの使用に関する追加情報が記載されています。このガイドの「IAM JSON ポリシーリファレンス」 セクションには、IAM での JSON ポリシーの要素、変数、および評価ロジックの構文、説明、および例が詳細に記載されています。
次のタグポリシーでは、次のタグが使用されている限り、Directory Service ディレクトリの作成を許可します。
-
環境: 本稼働
-
所有者: インフラストラクチャチーム
-
コストセンター: 1234
次のタグポリシーでは、次のタグが使用されている限り、Directory Service ディレクトリの更新と削除を許可します。
-
プロジェクト: Atlas
-
部門: エンジニアリング
-
環境: ステージング
次のタグポリシーは、リソースに次のいずれかのタグがある Directory Service のリソースタグ付けを拒否します。
-
本番稼働用
-
セキュリティ
-
機密性
ARN の詳細については、「Amazon リソースネーム (ARN) と AWS のサービスの名前空間」を参照してください。
以下の Directory Service API オペレーションのリストでは、タグベースのリソースレベルのアクセス許可がサポートされています。