使用创建基于资源的授权策略 AWS Organizations - AWS Organizations

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

使用创建基于资源的授权策略 AWS Organizations

在管理账户中,为您的组织创建基于资源的授权策略,并添加一条声明,指定哪些成员账户可以对策略执行操作。您可以在策略中添加多个语句来表示成员账户的不同权限集。

最小权限

要创建基于资源的委托策略,您需要运行以下操作的权限:

  • organizations:PutResourcePolicy

  • organizations:DescribeResourcePolicy

此外,您必须向委派管理员账户中的角色和用户授予执行所需操作的相应IAM权限。如果没有IAM权限,则假设调用方的主体没有管理 AWS Organizations 策略所需的权限。

AWS Management Console

使用下列方法之一在 AWS Management Console 中向基于资源的委托策略中添加语句:

  • JSONp@@ ol icy — 粘贴并自定义一个基于资源的授权策略示例,以便在您的账户中使用,或者在JSON编辑器中键入您自己的JSON策略文档。

  • 可视化编辑器-在可视化编辑器中构建新的委托策略,它可以指导您无需编写JSON语法即可创建委托策略。

使用JSON策略编辑器创建委托策略
  1. 登录 AWS Organizations 控制台。您必须在组织的管理账户中以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)。

  2. 选择设置

  3. AWS Organizations的委托管理员部分中,选择委托以创建 Organizations 委托策略。

  4. 输入JSON政策文档。有关IAM政策语言的详细信息,请参阅IAMJSON政策参考。

  5. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Create policy(创建策略)以保存工作。

使用可视化编辑器创建委托策略
  1. 登录 AWS Organizations 控制台。您必须在组织的管理账户中以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)。

  2. 选择设置

  3. AWS Organizations的委托管理员部分中,选择委托以创建 Organizations 委托策略。

  4. Create Delegation policy(创建委托策略)页面上,选择 Add new statement(添加新语句)。

  5. Effect 设置为 Allow

  6. 添加 Principal 以定义要委托的成员账户。

  7. Actions(操作)列表中选择要委托的操作。您可使用 Filter actions(筛选操作)缩小所选内容的范围。

  8. 要指定委托成员账户是否可以将策略附加到组织根目录或组织单位 (OUs),请设置Resources。您还必须选择 policy 作为资源类型。您可以通过以下方式指定资源:

    • 选择 “添加资源”,然后按照对话框中的提示构建 Amazon 资源名称 (ARN)。

    • 在编辑器中ARNs手动列出资源。有关ARN语法的更多信息,请参阅《 AWS 通用参考指南》中的 Amazon 资源名称 (ARN)。有关ARNs在策略的资源元素中使用的信息,请参阅IAMJSON策略元素:资源

  9. 选择 Add a condition(添加条件)以指定其他条件,包括要委托的策略类型。选择条件的 Condition key(条件键)、Tag key(标签键)、Qualifier(限定词)和 Operator(运算符),然后键入 Value。完成后,选择 Add condition(添加条件)。有关条件元素的更多信息,请参阅IAMJSON策略参考中的IAMJSON策略元素:条件

  10. 要添加更多权限块,请选择 Add new statement(添加新语句)。对于每个块,重复步骤 5 到步骤 9。

  11. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Create policy(创建策略)以保存工作。

AWS CLI & AWS SDKs
创建委托策略

您可以使用以下命令来创建委托策略:

  • AWS CLI: put-resource-policy

    以下示例创建了一个委托策略。

    $ aws organizations put-resource-policy --content { "Version": "2012-10-17", "Statement": [ { "Sid": "Fully_manage_backup_policies", "Effect": "Allow", "Principal": { "AWS": "135791357913" }, "Action": [ "organizations:DescribeOrganization", "organizations:ListAccounts", "organizations:CreatePolicy", "organizations:DescribePolicy", "organizations:UpdatePolicy", "organizations:DeletePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy" ], "Resource": [ "arn:aws:organizations::246802468024:root/o-abcdef/r-pqrstu", "arn:aws:organizations::246802468024:ou/o-abcdef/*", "arn:aws:organizations::246802468024:account/o-abcdef/*", "arn:aws:organizations::246802468024:organization/policy/backup_policy/*", ], "Condition": { "StringLikeIfExists": { "organizations:PolicyType": [ "BACKUP_POLICY" ] } } } ] }
支持的委托策略操作

委托策略支持以下操作:

  • AttachPolicy

  • CreatePolicy

  • DeletePolicy

  • DescribeAccount

  • DescribeCreateAccountStatus

  • DescribeEffectivePolicy

  • DescribeHandshake

  • DescribeOrganization

  • DescribeOrganizationalUnit

  • DescribePolicy

  • DescribeResourcePolicy

  • DetachPolicy

  • DisablePolicyType

  • EnablePolicyType

  • ListAccounts

  • ListAccountsForParent

  • ListAWSServiceAccessForOrganization

  • ListChildren

  • ListCreateAccountStatus

  • ListDelegatedAdministrators

  • ListDelegatedServicesForAccount

  • ListHandshakesForAccount

  • ListHandshakesForOrganization

  • ListOrganizationalUnitsForParent

  • ListParents

  • ListPolicies

  • ListPoliciesForTarget

  • ListRoots

  • ListTagsForResource

  • ListTargetsForPolicy

  • TagResource

  • UntagResource

  • UpdatePolicy

支持的条件键

只有支持的条件键 AWS Organizations 才能用于委托策略。有关更多信息,请参阅《服务授权参考》 AWS Organizations中的条件密钥