本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Directory Service Data 条件键
使用 Directory Service Data 条件键向用户和组级别访问权限添加特定语句。这使用户能够决定哪些主体可以对什么资源执行操作,以及在什么条件下执行。
条件元素或条件块让您可以指定语句生效的条件。条件元素为可选元素。您可以创建使用条件运算符(例如,等于(=)或小于(<))的条件表达式,以使策略中的条件与请求中的值相匹配。
如果您在一个语句中指定多个条件元素,或在单个条件元素中指定多个键,则 Amazon 会使用 AND 逻辑运算评估条件。如果您为单个条件键指定多个值,则使用逻辑 OR 运算来 Amazon 评估条件。在授予语句的权限之前必须满足所有的条件。在指定条件时,您也可以使用占位符变量。例如,仅当某个资源以 IAM 用户名进行标记时,您才能向该 IAM 用户授予访问该资源的权限。有关信息,请参阅《IAM 用户指南》中的具有多个键或值的条件。
有关哪些操作支持这些条件键的列表,请参阅《服务授权参考》中的 “ Amazon Directory Service Data” 定义的操作。
注意
有关基于标签的资源级别权限的信息,请参阅在 IAM 策略中使用标签。
ds-data:姓名 SAMAccount
与字符串运算符结合使用。
使用此密钥明确允许或拒绝 IAM 角色对特定用户和群组执行操作。
重要
使用 SAMAccountName 或 MemberName 时,我们建议将 ds-data:Identifier 指定为 SAMAccountName。这样可以防止 Amazon Directory Service Data 支持的 future 标识符(例如SID)破坏现有权限。
以下策略拒绝 IAM 委托人描述用户joe或描述群组joegroup。
注意
此条件键不区分大小写。无论字母大小写如何,都必须使用 StringEqualsIgnoreCase 或 StringNotEqualsIgnoreCase 条件运算符来比较字符串值。
ds-data:Identifier
与字符串运算符结合使用。
使用此密钥定义要在 IAM 策略权限中使用哪个标识符。目前仅支持 SAMAccountName。
以下策略允许 IAM 委托人更新用户joe。
ds-data:MemberName
与字符串运算符结合使用。
使用此键定义可以对其执行操作的成员。
重要
使用 MemberName 或 SAMAccountName 时,我们建议将 ds-data:Identifier 指定为 SAMAccountName。这样可以防止 Directory Service Data 未来支持的标识符(例如 SID)破坏现有权限。
以下策略允许 IAM 委托人AddGroupMember对任何群组joe中的成员执行任务。
注意
此条件键不区分大小写。无论字母大小写如何,都必须使用 StringEqualsIgnoreCase 或 StringNotEqualsIgnoreCase 条件运算符来比较字符串值。
ds-data:MemberRealm
与字符串运算符结合使用。
使用此键检查策略中的ds-data:MemberRealm值是否与请求中的成员领域相匹配。
注意
此条件键不区分大小写。无论字母大小写如何,都必须使用 StringEqualsIgnoreCase 或 StringNotEqualsIgnoreCase 条件运算符来比较字符串值。
以下策略允许 IAM 委托人调AddGroupMember用领域bob中的成员ONE.TRU1.AMAZON.COM。
注意
以下示例仅使用 ds-data:MemberName 上下文键。
ds-data:Realm
与字符串运算符结合使用。
使用此密钥检查策略中的ds-data:Realm值是否与 IAM 委托人可用于向 Directory Service Data 发出请求的领域相匹配 APIs。
注意
此条件键不区分大小写。无论字母大小写如何,都必须使用 StringEqualsIgnoreCase 或 StringNotEqualsIgnoreCase 条件运算符来比较字符串值。
以下策略拒绝 IAM 委托人调用ListUsers该领域one.tru1.amazon.com。