でのアイデンティティベースのポリシー (IAM ポリシー) の使用Directory Service - AWS Directory Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

でのアイデンティティベースのポリシー (IAM ポリシー) の使用Directory Service

このトピックでは、アカウント管理者がIAMアイデンティティ (ユーザー、グループ、ロール) へのアクセス権限ポリシーをアタッチする、アイデンティティベースのポリシーの例を示します。これらの例は、 の IAM ポリシーを示していますDirectory Service。ニーズと環境に合わせて独自のポリシーを変更して作成する必要があります。

重要

まず、 Directory Serviceリソースへのアクセスを管理するために使用できる基本概念とオプションについて説明する概要トピックを確認することをお勧めします。詳細については、「Directory Serviceリソースへのアクセス許可の管理の概要」を参照してください。

このセクションでは、次のトピックを対象としています。

以下に示しているのは、アクセス許可ポリシーの例です。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowDsEc2IamGetRole", "Effect": "Allow", "Action": [ "ds:CreateDirectory", "ec2:RevokeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:CreateSecurityGroup", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "iam:GetRole" ], "Resource": "*" }, { "Sid": "WarningAllowsCreatingRolesWithDirSvcPrefix", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::111122223333:role/DirSvc*" }, { "Sid": "AllowPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/Your-Role-Name", "Condition": { "StringEquals": { "iam:PassedToService": "cloudwatch.amazonaws.com" } } } ] }

ポリシーの 3 つのステートメントは、次のようにアクセス権限を付与します。

  • 最初のステートメントは、 Directory Serviceディレクトリを作成するアクセス許可を付与します。Directory Service は、リソースレベルのアクセス権限をサポートしていないため、ポリシーは Resource 値としてワイルドカード文字 (*) を指定します。

  • 次のステートメントでは、IAM アクションへのアクセスは付与され、Directory Service がユーザーに代わって IAM ロールの読み取りと作成できるようになります。Resource 値の末尾のワイルドカード文字 (*) は、このステートメントで任意の IAM ロールに対して IAM アクションを実行するアクセス許可が付与されることを意味します。このアクセス許可を特定のロールに制限するには、リソース ARN 内のワイルドカード文字 (*) を特定のロール名に置き換えます。詳細については、「IAM のアクション」を参照してください。

  • 3 番目のステートメントは、 がディレクトリを作成、設定、破棄するために必要な Amazon EC2 内の特定のリソースセットDirectory Serviceにアクセス許可を付与します。ロールをロールの ARN に置き換えます。詳細については、「Amazon EC2 Actions」を参照してください。

アイデンティティに基づくポリシーでは、アクセス権限の付与先のプリンシパルを指定しないため、Principal 要素は指定されません。ユーザーにそのポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス許可ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス許可を得ることになります。

すべての Directory ServiceAPI アクションとそれらが適用されるリソースを示す表については、「」を参照してくださいDirectory ServiceAPI アクセス許可: アクション、リソース、および条件リファレンス

Directory Serviceコンソールを使用するために必要なアクセス許可

Directory Serviceコンソールを操作するユーザーには、前述のポリシーに記載されているアクセス許可、または「」で説明されている Directory Service フルアクセスロールまたは Directory Service 読み取り専用ロールによって付与されたアクセス許可が必要ですAWSの 管理 (事前定義) ポリシーDirectory Service

これらの最小限必要なアクセス許可よりも制限された IAM ポリシーを作成している場合、その IAM ポリシーを使用するユーザーに対してコンソールは意図したとおりには機能しません。

AWSの 管理 (事前定義) ポリシーDirectory Service

AWSは、 によって作成および管理される事前定義された、または管理された IAM ポリシーを提供することで、多くの一般的なユースケースに対処しますAWS。マネージドポリシーは、一般的なユースケースに必要なアクセス許可を付与するため、必要なアクセス許可を決定するのに役立ちます。詳細については、「AWSの 管理ポリシーAWS Directory Service」を参照してください。

カスタマーマネージドポリシーの例

このセクションでは、さまざまなDirectory Serviceアクションのアクセス許可を付与するユーザーポリシーの例を示します。

注記

例はすべて、米国西部 (オレゴン) リージョン (us-west-2) を使用し、架空のアカウント ID を使用しています。

例 1: 任意のDirectory Serviceリソースに対して任意の Describe アクションを実行することをユーザーに許可する

次のアクセス許可ポリシーは、 のディレクトリ ID を使用して AWSManaged Microsoft AD Describeで で始まるすべてのアクションを実行するアクセス許可をユーザーに付与d-1234567890しますAWS アカウント111122223333。これらのアクションは、ディレクトリやスナップショットなどの、Directory Service リソースに関する情報を表示します。AWS リージョンとアカウント番号は、使用するリージョンとアカウント番号に変更してください。

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ds:Describe*", "Resource": "arn:aws:ds:us-west-2:111122223333:directory/d-1234567890" } ] }

例 2: ディレクトリの作成をユーザーに許可する

次のアクセス許可ポリシーによって、ディレクトリおよび関連するすべての他のリソース (スナップショットや信頼など) を作成するアクセス許可がユーザーに付与されます。そのためには、特定の Amazon EC2 サービスへのアクセス許可も必要です。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:CreateTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ds:CreateDirectory", "ds:DescribeDirectories" ], "Resource": "arn:aws:ds:*:111122223333:*" } ] }

IAM ポリシーでのタグの使用

ほとんどの Directory ServiceAPI アクションに使用する 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

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:CreateDirectory" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Environment": "Production", "aws:RequestTag/Owner": "Infrastructure-Team", "aws:RequestTag/CostCenter": "12345" } } } ] }

次のタグポリシーでは、次のタグが使用されている限り、Directory Serviceディレクトリの更新と削除を許可します。

  • プロジェクト: Atlas

  • 部門: エンジニアリング

  • 環境: ステージング

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:DeleteDirectory", "ds:UpdateDirectory" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "Atlas", "aws:ResourceTag/Department": "Engineering", "aws:ResourceTag/Environment": "Staging" } } } ] }

次のタグポリシーは、リソースに次のいずれかのタグがある Directory Serviceのリソースタグ付けを拒否します。

  • 本番稼働

  • セキュリティ

  • 機密性

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ds:AddTagsToResource" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["Production", "Security", "Confidential"] } } } ] }

ARN の詳細については、「Amazon リソースネーム (ARNs) とAWSサービス名前空間」を参照してください。

次の Directory ServiceAPI オペレーションのリストは、タグベースのリソースレベルのアクセス許可をサポートしています。