Directory Service Data の条件キー - AWS Directory Service

Directory Service Data の条件キー

Directory Service Data」条件キーを使用して、ユーザーおよびグループレベルのアクセスに特定のステートメントを追加します。これによって、ユーザーには、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかを決めることができます。

条件要素、または条件ブロックを使用すると、ステートメントが有効になる条件を指定できます。Condition 要素はオプションです。イコール (=) や未満 (<) などの条件演算子を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の要素を指定する場合、または 1 つの条件要素に複数のキーを指定する場合、AWS は論理演算子 AND を使用してそれらを評価します。単一の条件キーに複数の値を指定する場合、AWS は論理演算子 OR を使用して条件を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。条件を指定する際にプレースホルダー変数も使用できます。例えば、ユーザー名でタグが付けられている場合のみ、リソースにアクセスする IAM ユーザーアクセス許可を付与できます。詳細については、「IAM ユーザーガイド」の「複数のキーまたは値を含む IAM 条件」参照してください。

これらの条件キーをサポートするアクションのリストについては、「Service Authorization Reference」の「Actions defined by AWS Directory Service Data」を参照してください。

注記

タグに基づくリソースレベルのアクセス権限の詳細については、「IAM ポリシーでのタグの使用」を参照してください。

ds-data:SAMAccountName

文字列演算子」で動作します。

このキーを使用して、IAM ロールが特定のユーザーおよびグループに対してアクションを実行することを明示的に許可または拒否します。

重要

SAMAccountName または MemberName を使用する場合は、ds-data:IdentifierSAMAccountName として指定することをお勧めします。これにより、SID などの AWS Directory Service Data がサポートする将来の識別子が既存のアクセス権限を妨げるのを防ぐことができます。

次のポリシーは、IAM プリンシパルがユーザー joe を記述すること、またはグループ joegroup を記述することを拒否します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyDescribe", "Effect": "Deny", "Action": "ds-data:Describe*", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "ds-data:SAMAccountName": [ "joe", "joegroup" ], "ds-data:identifier": [ "SAMAccountName" ] } } } ] }
注記

この条件キーでは大文字と小文字は区別されません。StringEqualsIgnoreCase または StringNotEqualsIgnoreCase 条件演算子を使用して、文字の大文字と小文字に関係なく文字列の値を比較する必要があります。

ds-data:Identifier

文字列演算子」で動作します。

このキーを使用して、IAM ポリシーのアクセス許可で使用する識別子を定義します。現在は、SAMAccountName のみがサポートされます。

次のポリシーは、IAM プリンシパルがユーザー joe を更新することを許可します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UpdateJoe", "Effect": "Allow", "Action": "ds-data:UpdateUser", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:SAMAccountName": [ "joe" ], "ds-data:identifier": [ "SAMAccountName" ] } } } ] }

ds-data:MemberName

文字列演算子」で動作します。

このキーを使用して、オペレーションを実行できるメンバーを定義します。

重要

MemberName または SAMAccountName を使用する場合は、ds-data:IdentifierSAMAccountName として指定することをお勧めします。これにより、SID などの Directory Service Data がサポートする将来の識別子が既存のアクセス権限を妨げるのを防ぐことができます。

次のポリシーは、IAM プリンシパルが任意のグループのメンバー joe に対して AddGroupMember を実行することを許可します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AddJoe", "Effect": "Allow", "Action": "ds-data:AddGroupMember", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:MemberName": "joe" } } } ] }
注記

この条件キーでは、大文字と小文字は区別されません。StringEqualsIgnoreCase または StringNotEqualsIgnoreCase 条件演算子を使用して、文字の大文字と小文字に関係なく、文字列の値を比較する必要があります。

ds-data:MemberRealm

文字列演算子」で動作します。

このキーを使用して、ポリシーの ds-data:MemberRealm 値がリクエストのメンバー領域と一致するかどうかを確認します。

注記

この条件キーでは、大文字と小文字は区別されません。StringEqualsIgnoreCase または StringNotEqualsIgnoreCase 条件演算子を使用して、文字の大文字と小文字に関係なく、文字列の値を比較する必要があります。

次のポリシーは、IAM プリンシパルが領域 ONE.TRU1.AMAZON.COM のメンバー bobAddGroupMember を呼び出すことを許可します。

注記

次の例では、ds-data:MemberName コンテキストキーのみを使用します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "addbob", "Effect": "Allow", "Action": "ds-data:AddGroupMember", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:MemberName": "bob", "ds-data:MemberRealm": "one.tru1.amazon.com" } } } ] }

ds-data:Realm

文字列演算子」で動作します。

このキーを使用して、ポリシーの ds-data:Realm 値が IAM プリンシパルが Directory Service Data APIs へのリクエストを行うために使用できる領域と一致するかどうかを確認します。

注記

この条件キーでは、大文字と小文字は区別されません。StringEqualsIgnoreCase または StringNotEqualsIgnoreCase 条件演算子を使用して、文字の大文字と小文字に関係なく文字列の値を比較する必要があります。

次のポリシーは、IAM プリンシパルが領域 one---tru1.amazon.com.rproxy.govskope.caListUsers を呼び出すことを拒否します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyTrustedList", "Effect": "Deny", "Action": "ds-data:ListUsers", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "ds-data:Realm": [ "one.tru1.amazon.com" ] } } } ] }