为 Amazon Organizations 使用基于身份的策略(IAM 策略) - Amazon Organizations
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Amazon Organizations 使用基于身份的策略(IAM 策略)

作为组织管理账户的管理员,您可以通过将权限策略附加到组织中的 Amazon(IAM)身份(用户、组和角色)来控制对Amazon Identity and Access Management资源的访问权。在授予权限时,您要决定谁获得权限,获得对哪些资源的权限,以及您允许对这些资源执行的具体操作。如果将权限授予了角色,则组织中其他账户的用户可以担任该角色。

默认情况下,用户没有任何类型的权限。所有权限都必须通过策略明确授予。如果未明确授予某个权限,则默示拒绝该权限。如果明确拒绝了某个权限,则其优于任何其他可能允许该权限的策略。换而言之,用户仅具有明确授予和未明确拒绝的权限。

除了本主题中介绍的基本技术之外,您还可以使用应用于组织中资源的标签来控制对组织的访问:组织根、组织部门(OU)、账户和策略。有关更多信息,请参阅 使用标签和 Amazon Organizations 的基于属性的访问控制

将全部管理员权限授予用户

您可以创建一个 IAM 策略,向组织中的 IAM 用户授予完全 Amazon Organizations 管理员权限。您可以使用 IAM 控制台中的 JSON 策略编辑器来执行此操作。

使用 JSON 策略编辑器创建策略
  1. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择策略

    如果这是您首次选择策略,则会显示欢迎访问托管式策略页面。选择开始使用

  3. 在页面的顶部,选择创建策略

  4. 策略编辑器部分,选择 JSON 选项。

  5. 输入以下 JSON 策略文档:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "organizations:*", "Resource": "*" } }
  6. 选择下一步

    注意

    您可以随时在可视化JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》中的调整策略结构

  7. 查看并创建页面上,为您要创建的策略输入策略名称描述(可选)。查看此策略中定义的权限以查看策略授予的权限。

  8. 选择创建策略可保存新策略。

要了解有关创建 IAM 策略的更多信息,请参阅 IAM 用户指南中的创建 IAM 策略

按操作授予有限访问权

如果只是授予有限权限而非完全权限,则可以创建一个策略,列出您打算在 IAM 权限策略的 Action 元素中允许的各个权限。如以下示例中所示,您可以使用通配符 (*) 字符来仅授予 Describe*List* 权限,这实际上提供对组织的只读访问权限。

注意

在服务控制策略 (SCP) 中,Action 元素中的通配符 (*) 字符只能由自身使用或用在字符串结尾处。它不能出现在字符串的开头或中间部分。因此,"servicename:action*" 是有效的,但 "servicename:*action""servicename:some*action" 在 SCP 中都是无效的。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "organizations:Describe*", "organizations:List*" ], "Resource": "*" } }

有关可在 IAM 策略中分配的所有权限的列表,请参阅《服务授权参考》中的 Organi Amazonzations 定义的操作

授予对特定资源的访问权限

除了限制对特定操作的访问权之外,您还可以限制对组织中特定实体的访问权。前面部分示例中的 Resource 元素均指定通配符(“*”),这意味着“操作可以访问的任意资源”。不过,您可以使用希望允许访问的特定实体的 Amazon 资源名称 (ARN) 替换 "*"。

示例:将权限授予单个 OU

以下策略中的第一条语句允许 IAM 用户对整个组织的读取访问权限,但第二条语句允许用户仅在单个指定的组织部门(OU)中执行 Amazon Organizations 管理操作。这不会扩展到任何子 OU。未授予账单访问权。请注意,这不会授予您对 OU 中的Amazon Web Services 账户的管理访问权。它仅授予对指定 OU 中的账户执行 Amazon Organizations 操作的权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:Describe*", "organizations:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "organizations:*", "Resource": "arn:aws:organizations::<masterAccountId>:ou/o-<organizationId>/ou-<organizationalUnitId>" } ] }

您可以从 Amazon Organizations 控制台或调用 List* API 来获取 OU 和组织的 ID。您应用到此策略的用户或组可以在指定 OU 中直接包含的任何实体上执行任何操作("organizations:*")。OU 由 Amazon 资源名称 (ARN) 来标识。

有关各种资源的 ARN 的更多信息,请参阅《服务授权参考》Amazon Organizations中定义的资源类型

向有限服务委托人授予允许可信访问的功能

您可以使用策略语句的 Condition 元素对策略语句匹配的情况做进一步限制。

示例:授予对一个指定服务允许可信访问的权限

以下语句显示如何将允许可信访问的功能局限于您指定的哪些服务。如果用户尝试调用的 API 与用于 Amazon IAM Identity Center 的 API 拥有不同的服务委托人,则此策略不匹配并拒绝请求:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "organizations:EnableAWSServiceAccess", "Resource": "*", "Condition": { "StringEquals" : { "organizations:ServicePrincipal" : "sso.amazonaws.com" } } } ] }

有关各种资源的 ARN 的更多信息,请参阅《服务授权参考》Amazon Organizations中定义的资源类型