为 Directory Service 使用基于身份的策略(IAM policy)
本主题提供基于身份的策略示例,在这些示例中,账户管理员可以向 IAM 身份(用户、组和角色)附加权限策略。这些示例演示的是 Directory Service 中的 IAM 策略。您应该修改和创建自己的策略来适应自身的需求和环境。
重要
我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 Directory Service 资源访问的基本概念和选项。有关更多信息,请参阅 管理 Directory Service 资源的访问权限的概述。
本主题的各个部分涵盖以下内容:
下面介绍权限策略示例。
策略中的三条语句授予权限,如下所示:
-
第一条语句授予创建 Directory Service 目录的权限。由于 Directory Service 不支持资源级的操作权限,该策略指定通配符(*)作为
Resource值。 -
第二条语句授予 IAM 操作的访问权限,以便 Directory Service 可以代表您读取和创建 IAM 角色。
Resource值末尾的通配符 (*) 表示该语句允许任何 IAM 角色执行 IAM 操作的权限。要将此权限限制到特定角色,请使用特定角色名称替换资源 ARN 中的通配符 (*)。有关更多信息,请参阅 IAM 操作。 -
第三条语句授予针对一组特定 Amazon EC2 资源的权限,Directory Service 创建、配置和销毁其目录需要这些权限。将角色 ARN 替换为您的角色。有关更多信息,请参阅 Amazon EC2 操作。
您在策略中看不到 Principal 元素,因为在基于身份的策略中,您未指定获取权限的主体。附加了策略的用户是隐式委托人。向 IAM 角色附加权限策略后,该角色的信任策略中标识的委托人将获取权限。
有关显示所有 Directory Service API 操作及其适用的资源的表,请参阅 Directory Service API 权限:操作、资源和条件参考。
使用 Directory Service 控制台所需的权限
要使用户可以使用 Directory Service 控制台,该用户必须拥有上面策略中列出的权限或是 Directory Service 完全访问角色或 Directory Service 只读角色所授予的权限,如AWS适用于 的 托管(预定义)策略Directory Service中所述。
如果创建比必需的最低权限更为严格的 IAM policy,对于附加了该 IAM policy 的用户,控制台将无法按预期正常运行。
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 policy 中使用标签
可以在用于大多数 Directory Service API 操作的 IAM policy 中应用基于标签的资源级权限。这可让您更好地控制用户可创建、修改或使用哪些资源。在 IAM policy 中将 Condition 元素(也称作 Condition 块)与以下条件上下文键和值结合使用来基于资源标签控制用户访问(权限):
-
使用
aws:ResourceTag/tag-key:tag-value可允许或拒绝对带特定标签的资源的用户操作。 -
使用
aws:ResourceTag/tag-key:tag-value可要求在发出创建或修改允许标签的资源的 API 请求时使用(或不使用)特定标签。 -
使用
aws:TagKeys: [tag-key, ...] 可要求在发出创建或修改允许标签的资源的 API 请求时使用(或不使用)一组特定标签键。
注意
IAM policy 中的条件上下文键和值仅适用于能够标记的资源的标识符是必需参数的那些 Directory Service 操作。
《IAM 用户指南》中的使用标签控制访问具有有关使用标签的其他信息。该指南的 IAM JSON 策略参考部分包含 IAM 中的 JSON 策略的元素、变量和评估逻辑的详细语法、描述和示例。
在以下标签策略中,只要使用以下标签,就能创建 Directory Service 目录:
-
环境:生产
-
所有者:基础设施团队
-
成本中心:1234
在以下标签策略中,只要使用以下标签,就能更新和删除 Directory Service 目录:
-
项目:Atlas
-
所属部门:工程部
-
环境:生产前调试
以下标签策略拒绝对具有以下标签之一的 Directory Service 进行资源标记:
-
生产
-
安全性
-
机密
有关 ARN 的更多信息,请参阅 Amazon 资源名称 (ARN) 和 AWS 服务命名空间。
以下 Directory Service API 操作支持基于标记的资源级权限: