本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解 API 的操作模式
使用的 API 操作Amazon Web Services 账户的属性始终在以下两种操作模式之一中起作用:
-
独立上下文— 当账户中的用户或角色访问或更改账户属性时,将使用此模式同一账户. 独立上下文模式在您执行以下操作时自动使用Don't加入
AccountId
当你调用其中一个账户管理时参数Amazon CLI要么Amazon开发工具包操作。 -
Organizations 上下文— 当组织中一个账户中的用户或角色访问或更改同一组织中其他成员账户的账户属性时,将使用此模式。在执行以下操作时,将自动使用组织上下文模式:做加入
AccountId
当你调用其中一个账户管理时参数Amazon CLI要么Amazon开发工具包操作。在此模式下,您只能从组织的管理账号或账户管理的委派管理员账户调用操作。
这些区域有:Amazon CLI和AmazonSDK 操作可以在独立环境或组织上下文中运行。
-
如果您Don't加入
AccountId
参数,则操作将在独立上下文中运行,并自动将请求应用于您用于发出请求的账户。不管账户是否为组织的成员,都是如此。 -
如果你确实包含了
AccountId
参数,则操作将在Organizations 上下文中运行,并且操作在指定的 “组织” 帐户上运行。-
如果调用操作的账户是 Account Management 服务的管理账户或委派的管理员账户,则您可以在
AccountId
参数以更新指定的账户。 -
组织中唯一可以调用某个备用联系人操作并在中指定自己的账号的账户
AccountId
参数是指定为委托管理员账户用于账户管理服务。任何其他账户,包括管理账户,都会收到AccessDenied
例外。
-
-
如果您在独立模式下运行操作,则必须允许您使用包含
Resource
任一的元素"*"
允许所有资源,或者使用独立账户语法的 ARN. -
如果您在组织模式下运行操作,则必须允许您使用 IAM 策略运行该操作,该策略包含
Resource
任一的元素"*"
允许所有资源,或者使用组织中成员账户语法的 ARN.
授予更新账户属性的权限
和大多数人一样Amazon操作,您授予添加、更新或删除帐户属性的权限Amazon Web Services 账户通过使用IAM 权限策略. 当您将 IAM 权限策略附加到 IAM 委托人(用户或角色)可在什么和条件下对哪些资源进行哪些资源下对哪些资源进行哪些资源下对哪些资源进行哪些资源下对哪些资源进行哪些资源下对哪些资源进行哪些资源下对哪些资源进行哪些资源下对哪些资源
以下是账户管理在创建权限策略时的一些特定注意事项。
的 Amazon 资源名称格式Amazon Web Services 账户
-
这些区域有:Amazon 资源名称 (ARN)换一个Amazon Web Services 账户你可以将其包含在
resource
根据要引用的账户是独立账户还是组织中的账户,策略声明的元素的构造会有所不同。请参阅上一部分了解 API 的操作模式.-
独立账户的账户 ARN:
arn:aws:account::
{AccountId}
:account在独立模式下运行帐户属性操作时,必须使用此格式,不包括
AccountID
参数。 -
组织中成员账户的账户 ARN:
arn:aws:account::
{ManagementAccountId}
:account/o-{OrganizationId}
/{AccountId}
在组织模式下运行帐户属性操作时,必须使用此格式,方法是将
AccountID
参数。
-
IAM 策略的上下文密钥
账户管理服务还提供几种账户管理特定于服务的条件键提供对您授予的权限的细粒度控制。
account:AccountResourceOrgPaths
上下文密钥account:AccountResourceOrgPaths
允许您指定通过组织层次结构到特定组织单位 (OU) 的路径。只有该 OU 包含的成员账户符合条件。以下示例代码段将策略限制为仅应用于位于两个指定 OU 中任一的账户。
由于account:AccountResourceOrgPaths
是多值字符串类型,则必须使用ForAnyValue
要么ForAllValues
多值字符串运算符. 另外,请注意,条件键的前缀是account
,即使您引用的是组织中 OU 的路径。
"Condition": { "ForAnyValue:StringLike": { "account:AccountResourceOrgPaths": [ "
o-aa111bb222
/r-a1b2
/ou-a1b2-f6g7h111
/*", "o-aa111bb222
/r-a1b2
/ou-a1b2-f6g7h222
/*" ] } }
account:AccountResourceOrgTags
上下文密钥account:AccountResourceOrgTags
允许您引用可附加到组织中账户的标签。标签是一个键/值字符串对,可用于对账户中的资源进行分类和标记。有关标记的更多信息,请参阅标签编辑器中的Amazon Resource Groups用户指南. 有关在基于属性的访问控制策略中使用标签的信息,请参阅什么是适用于的 ABAC?Amazon中的IAM 用户指南. 以下示例代码段将策略限制为仅适用于组织中具有带密钥的标签的账户project
和任一的值blue
要么red
.
由于account:AccountResourceOrgTags
是多值字符串类型,则必须使用ForAnyValue
要么ForAllValues
多值字符串运算符. 另外,请注意,条件键的前缀是account
,即使你引用的是组织成员账户上的标签。
"Condition": { "ForAnyValue:StringLike": { "account:AccountResourceOrgTags/project": [ "blue", "red" ] } }
注意
您只能将标签附加到组织中的一个账户。你不能将标签附加到独立的Amazon Web Services 账户.