使用 AWS Organizations 创建基于资源的委派策略 - AWS Organizations

使用 AWS Organizations 创建基于资源的委派策略

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

最小权限

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

  • organizations:PutResourcePolicy

  • organizations:DescribeResourcePolicy

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

AWS Management Console

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

  • JSON 策略 – 粘贴和自定义基于资源的委派策略示例,以便在您的账户中使用,或者在 JSON 编辑器中键入您自己的 JSON 策略文档。

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

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

  2. 选择设置

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

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

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

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

  2. 选择设置

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

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

  5. Effect 设置为 Allow

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

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

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

    • 选择 Add a resource(添加资源),并按照对话框中的提示构建 Amazon 资源名称(ARN)。

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

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

  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 支持的条件键才能用于委派策略。有关更多信息,请参阅《服务授权参考》中的 Condition keys for AWS Organizations