View a markdown version of this page

了解 API 的操作模式 - AWS 账户管理

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

了解 API 的操作模式

此信息旨在了解您注册 AWS 使用注册 AWS (高级)或激活了账户的高级功能后的 API 操作模式。要比较注册选项,请参阅比较注册选项

使用 an AWS 账户的属性的 API 操作始终采用以下两种操作模式之一:

  • 独立上下文 — 此模式用于某个账户用户或角色访问或更改同一账户中的账户属性时。当您在调用账户管理 AWS CLI 或 AWS SDK 操作时包含AccountId参数时,将自动使用独立上下文模式。

  • 组织上下文 — 此模式用于组织中某个账户用户或角色访问或更改同一组织中不同成员账户的账户属性时。当您在调用账户管理 AWS CLI 或 AWS SDK 操作时包含AccountId参数时,系统会自动使用组织上下文模式。此模式下,只能通过组织的管理账户或账户管理的委托管理员账户调用操作。

AWS CLI 和 S AWS DK 操作可以在独立环境中运行,也可以在组织环境中运行。

  • 如果您包含 AccountId 参数,则此操作运行在独立上下文中,并自动将请求应用到您用于发出请求的账户。无论账户是否为组织的成员账户,都是如此。

  • 如果确实包含了 AccountId 参数,则此操作运行在组织上下文中,并且此操作还在指定的组织账户上运行。

    • 如果调用此操作的账户是管理账户或账户管理服务的委托管理员账户,则可以在 AccountId 参数中指定该组织的任何成员账户来更新指定的账户。

    • 组织中唯一可以调用备用联系人操作并在 AccountId 参数中指定其自有账号的账户是指定为账户管理服务委托管理员账户的账户。其他任何账户,包括管理账户,都会收到 AccessDenied 异常。

  • 如果在独立模式下运行操作,则必须获准使用 IAM 策略运行该操作,该策略包含的 Resource 元素或者为允许所有资源的 "*",或者为使用独立账户语法的 ARN

  • 如果在组织模式下运行操作,则必须获准使用 IAM 策略运行该操作,该策略包含的 Resource 元素或者为允许所有资源的 "*",或者为使用组织成员账户语法的 ARN

授予更新账户属性的权限

与大多数 AWS 操作一样,您可以使用 IAM 权限策略授予添加、更新或删除账户属性的权限。 AWS 账户 在向 IAM 主体(用户或角色)附加 IAM 权限策略时,可以指定主体可以在哪些资源上以及在什么条件下执行哪些操作。

以下是创建权限策略时针对账户管理的一些注意事项。

的亚马逊资源名称格式 AWS 账户

IAM 策略的上下文键

账户管理服务还提供多个账户管理服务专属条件键,可对您授予的权限进行精细控制。

账户:AccountResourceOrgPaths

上下文键 account:AccountResourceOrgPaths 允许指定一条通过组织层次结构到达特定组织单位 (OU) 的路径。只有该 OU 所包含的成员账户才符合条件。以下示例片段将策略限制为仅适用于两个指定 OU 中任一 OU 的账户。

由于 account:AccountResourceOrgPaths 是多值字符串类型,因此必须使用 ForAnyValueForAllValues 多值字符串运算符。另请注意,即使您引用的是组织中 OU 的路径account,条件密钥的前缀也是。

"Condition": { "ForAnyValue:StringLike": { "account:AccountResourceOrgPaths": [ "o-aa111bb222/r-a1b2/ou-a1b2-f6g7h111/*", "o-aa111bb222/r-a1b2/ou-a1b2-f6g7h222/*" ] } }

账户:AccountResourceOrgTags

上下文键 account:AccountResourceOrgTags 允许您引用可以附加到组织账户的标签。标签是一个 key/value 字符串对,可用于对账户中的资源进行分类和标记。有关更多信息,请参阅《AWS Resource Groups 用户指南》中的标签编辑器。有关在基于属性的访问控制策略中使用标签的信息,请参阅《IAM 用户指南》中的什么是 AWS的 ABAC。以下示例片段将策略限制为仅适用于组织中具有键 project 和值 bluered 的标签的账户。

由于 account:AccountResourceOrgTags 是多值字符串类型,因此必须使用 ForAnyValueForAllValues 多值字符串运算符。另外,请注意,即使您引用的是组织成员账户上的标签account,条件密钥的前缀也是。

"Condition": { "ForAnyValue:StringLike": { "account:AccountResourceOrgTags/project": [ "blue", "red" ] } }
注意

您只能将标签附加到组织中的账户。您无法将标签附加到独立版本 AWS 账户。