使用创建组织政策 AWS Organizations - AWS Organizations

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

使用创建组织政策 AWS Organizations

为组织启用策略后,您可以创建策略。

本主题介绍如何使用创建策略 AWS Organizations。 策略定义了您要应用于一组的控制措施 AWS 账户. AWS Organizations 支持管理策略和授权策略。

创建备份策略

最小权限

要创建备份策略,您需要运行以下操作的权限:

  • organizations:CreatePolicy

AWS Management Console

您可以在中创建备份策略 AWS Management Console 用以下两种方式之一:

  • 可视化编辑器,允许您选择选项并为您生成JSON策略文本。

  • 一种文本编辑器,允许您自己直接创建JSON策略文本。

可视化编辑器使过程变得简单,但会限制您的灵活性。这是创建您的第一批策略并使其习惯使用的好方法。在您了解了它们的工作原理并开始受到可视化编辑器提供的内容的限制之后,您可以通过自己编辑JSON策略文本来为策略添加高级功能。可视化编辑器仅使用 @@assign 值设置运算符,不提供对子控制运算符的任何访问权限。只有手动编辑JSON策略文本,才能添加子控运算符。

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

  2. Backup policies (备份策略) 页面上,选择 Create policy (创建策略)

  3. Create policy (创建策略) 页面上,输入策略的 Policy name (策略名称) 和可选 Policy description (策略说明)

  4. (可选)您可以向策略添加一个或多个标签,方法是选择 Add tag (添加标签),然后输入一个键和可选的值。将值留空,设置为空字符串;它并非 null。您最多可以向策略附加 50 个标签。有关标记的更多信息,请参阅标记 AWS Organizations 资源

  5. 您可以使用可视化编辑器构建策略,如此过程中所述。您也可以在JSON选项卡中输入或粘贴策略文本。有关备份策略语法的信息,请参阅备份策略语法和示例

    如果选择使用可视化编辑器,请选择适合您的场景的备份选项。备份计划由三部分组成。有关这些备份计划要素的更多信息,请参阅中的创建备份计划分配资源 AWS Backup 开发者指南

    1. Backup 计划一般详细信息

      • 备份文计划名称只能由字母数字、连字符和下划线字符组成。

      • 您必须从列表中至少选择一个备份计划区域。该计划只能备份选定资源中的资源 AWS 区域.

    2. 一条或多条指定备份方式和时间的备份规则 AWS Backup 就是要操作。每个备份规则定义以下项目:

      • 包含备份频率和可以进行备份的时间窗口的计划。

      • 要使用的备份文件库的名称。备份文件库名称只能由字母数字、连字符和下划线字符组成。备份文件库必须存在,才能成功运行计划。使用创建文件库 AWS Backup 控制台或 AWS CLI 命令。

      • (可选)一条或多条 “复制到区域” 规则,用于同时将备份复制到其他区域的文件库 AWS 区域.

      • 一个或多个标签键值对,要附加到每次运行此备份计划时创建的备份恢复点。

      • 生命周期选项,它们指定备份过渡到冷存储的时间以及备份到期时间。

      选择 Add rule (添加规则) 将您需要的每个规则添加到计划中。

      有关备份规则的更多信息,请参阅中的 B ackup R ules AWS Backup 开发者指南

    3. 一种资源分配,用于指定哪些资源 AWS Backup 应该使用此计划进行备份。分配是通过指定标签对进行的 AWS Backup 用于查找和匹配资源

      • 资源分配名称只能由字母数字、连字符和下划线字符组成。

      • 为其指定IAM角色 AWS Backup 用于按名称执行备份。

        在控制台中,您无需指定完整的 Amazon 资源名称 (ARN)。必须同时包含角色名称及其指定角色类型的前缀。前缀通常是 role 或者 service-role,且它们用正斜杠(“/”)与角色名称分隔。例如,您可以输入 role/MyRoleName 或者 service-role/MyManagedRoleName。当存储在底层文件中时,它会被转换为完整ARN的JSON。

        重要

        指定的IAM角色必须已经存在于策略所应用的账户中。如果不存在,则备份计划可能会成功启动备份作业,但这些备份作业将失败。

      • 指定一个或多个资源标签键标签值对来确定要备份的资源。如果有多个标签值,请用逗号分隔它们。

      选择 Add assignment (添加分配),将每个已配置的资源分配添加到备份计划。

      有关更多信息,请参阅《》中的 “为备份计划分配资源AWS Backup 开发者指南

  6. 创建完策略后,选择 Create policy (创建策略)。该策略将显示在可用备份策略的列表中。

AWS CLI & AWS SDKs
创建备份策略

您可以使用以下方法之一创建备份策略:

  • AWS CLI: 创建策略

    将备份计划创建为类似于以下内容的JSON文本,并将其存储在文本文件中。有关语法的完整规则,请参阅备份策略语法和示例

    { "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary-vault": { "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "10" }, "delete_after_days": { "@@assign": "100" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII" ] } } } } } } }

    此备份计划规定 AWS Backup 应备份受影响地区的所有资源 AWS 账户 在指定的 AWS 区域 并且标签dataType的值为PII

    接下来,导入JSON策略文件备份计划以在组织中创建新的备份策略。请注意输出中策略末尾ARN的策略 ID。

    $ aws organizations create-policy \ --name "MyBackupPolicy" \ --type BACKUP_POLICY \ --description "My backup policy" \ --content file://policy.json{ "Policy": { "PolicySummary": { "Arn": "arn:aws:organizations::o-aa111bb222:policy/backup_policy/p-i9j8k7l6m5", "Description": "My backup policy", "Name": "MyBackupPolicy", "Type": "BACKUP_POLICY" } "Content": "...a condensed version of the JSON policy document you provided in the file...", } }
  • AWS SDKs: CreatePolicy

后续操作

创建备份策略后,您可以使策略生效。为此,您可以将策略附加到组织根目录、组织单位 (OUs)、 AWS 账户 在你的组织内部,或者所有这些的组合。

创建标签策略

最小权限

要创建标签策略,您需要运行以下操作的权限:

  • organizations:CreatePolicy

您可以在中创建标签策略 AWS Management Console 用以下两种方式之一:

  • 可视化编辑器,允许您选择选项并为您生成JSON策略文本。

  • 一种文本编辑器,允许您自己直接创建JSON策略文本。

可视化编辑器使过程变得简单,但会限制您的灵活性。这是创建您的第一批策略并使其习惯使用的好方法。在您了解了它们的工作原理并开始受到可视化编辑器提供的内容的限制之后,您可以通过自己编辑JSON策略文本来为策略添加高级功能。可视化编辑器仅使用 @@assign 值设置运算符,不提供对子控制运算符的任何访问权限。只有手动编辑JSON策略文本,才能添加子控运算符。

AWS Management Console

您可以在中创建标签策略 AWS Management Console 用以下两种方式之一:

  • 可视化编辑器,允许您选择选项并为您生成JSON策略文本。

  • 一种文本编辑器,允许您自己直接创建JSON策略文本。

可视化编辑器使过程变得简单,但会限制您的灵活性。这是创建您的第一批策略并使其习惯使用的好方法。在您了解了它们的工作原理并开始受到可视化编辑器提供的内容的限制之后,您可以通过自己编辑JSON策略文本来为策略添加高级功能。可视化编辑器仅使用 @@assign 值设置运算符,不提供对子控制运算符的任何访问权限。只有手动编辑JSON策略文本,才能添加子控运算符。

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

  2. Tag policies (标签策略) 页面上,选择 Create policy (创建策略)

  3. Create policy (创建策略) 页面上,输入策略的 Policy name (策略名称) 和可选 Policy description (策略说明)

  4. (可选)您可以向策略对象本身添加一个或多个标签。这些标签不是策略的一部分。为此,请选择 Add tag (添加标签),然后输入键和可选值。将值留空,设置为空字符串;它并非 null。您最多可以向策略附加 50 个标签。有关更多信息,请参阅 标记 AWS Organizations 资源

  5. 您可以使用可视化编辑器构建标签策略,如此过程中所述。您也可以在JSON选项卡中键入或粘贴标签策略。有关标签策略语法的信息,请参阅标签策略语法

    如果您选择使用可视化编辑器,请指定以下内容:

  6. 对于 New tag key (新标签键 1),指定要添加的标签键的名称。

  7. 对于合规性选项,您可以选择以下选项:

    1. 使用您在上面为标签密钥指定的大小写 ——将此选项留空(默认),以指定继承的父标签策略(如果存在)应定义标签密钥的大小写处理。

      如果要使用此策略规定标签键的特定大写,请启用此选项。如果选择此选项,则您为 Tag Key (标签键) 指定的大小写将覆盖继承的父策略中指定的大小写处理。

      如果父策略不存在且您没有启用此选项,则仅全小写字符的标签键将被视为符合要求。有关从父策略继承的更多信息,请参阅了解管理策略继承

      提示

      在创建定义标签键及其大小写处理的标签策略时,请考虑使用示例 1:定义组织级的标签键大小写中显示的示例标签策略作为指南。将其附加到组织根。稍后,您可以创建其他标签策略并将其附加到OUs或账户,以创建其他标记规则。

    2. 为此标签密钥指定允许的值 — 如果您要将此标签键的允许值添加到继承自父策略的任何值中,请启用此选项。

      默认情况下,将清除此选项,这意味着仅将从父策略定义和继承的这些值视为符合要求。如果父策略不存在并且您没有指定标签值,则任何值(包括没有值)都视为符合要求。

      要更新可接受的标签值列表,请选择 Specify allowed values for this tag key (为此标签键指定允许的值),然后选择 Specify values (指定值)。出现提示时,输入新值(每个框一个值)然后选择 Save changes (保存更改)

  8. 对于要强制执行的资源类型,您可以为此标签选择 “防止不合规操作”。

    除非您有使用标签策略的经验,否则我们建议您清除此选项(默认)。请确保您已查看了解强制执行中的建议并测试技术。否则,您可能会阻止组织账户中的用户标记他们所需的资源。

    如果要强制实施此标签键的合规性,请选中该复选框,然后选择 Specify resource types (指定资源类型)。出现提示后,选择要包含在策略中的资源类型。然后选择 Save changes (保存更改)

    重要

    选择此选项后,只有在操作生成符合策略的标签时,操作指定类型资源的标签的任何操作才会成功。

  9. (可选)要向此标签策略添加另一个标签键,请选择 Add tag key (添加标签键)。然后执行步骤 6–9 来定义标签键。

  10. 完成标签策略构建后,选择 Save changes (保存更改)

AWS CLI & AWS SDKs
创建标签策略

您可以使用以下方法之一来创建标签策略:

  • AWS CLI: 创建策略

    您可使用任何文本编辑器创建标签策略。使用JSON语法,将标签策略另存为具有任意名称和扩展名的文件,并保存在您选择的位置。标签策略最多可具有 2,500 个字符,包括空格。有关标签策略语法的信息,请参阅标签策略语法

    创建标签策略
    1. 在文本文件中创建类似于以下内容的标签策略:

      testpolicy.json 的内容:

      { "tags": { "CostCenter": { "tag_key": { "@@assign": "CostCenter" } } } }

      此标签策略定义 CostCenter 标签键。该标签可以接受任何值或不接受值。这样的策略意味着带有或不带值的 CostCenter 标签的资源都是合规的。

    2. 创建包含文件中策略内容的策略。为了便于阅读,输出中的额外空格已被截断。

      $ aws organizations create-policy \ --name "MyTestTagPolicy" \ --description "My Test policy" \ --content file://testpolicy.json \ --type TAG_POLICY { "Policy": { "PolicySummary": { "Id": "p-a1b2c3d4e5", "Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/tag_policy/p-a1b2c3d4e5", "Name": "MyTestTagPolicy", "Description": "My Test policy", "Type": "TAG_POLICY", "AwsManaged": false }, "Content": "{\n\"tags\":{\n\"CostCenter\":{\n\"tag_key\":{\n\"@@assign\":\"CostCenter\"\n}\n}\n}\n}\n\n" } }
  • AWS SDKs: CreatePolicy

后续操作

创建标签策略后,您可以使标记规则生效。为此,请将策略附加到组织根目录、组织单位 (OUs)、 AWS 账户 在您的组织内部,或组织实体的组合。

创建 AI 服务选择退出政策

最小权限

要创建 AI 服务选择退出策略,您需要运行以下操作的权限:

  • organizations:CreatePolicy

AWS Management Console
创建 AI 服务选择退出策略
  1. 登录 。AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。

  2. AI services opt-out policies (AI 服务选择退出策略) 页面上,选择 Create policy (创建策略)

  3. Create new AI services opt-out policy(创建新的 AI 服务选择退出策略)页面上,输入 Policy name(策略名称)和可选 Policy description(策略说明)。

  4. (可选)您可以向策略添加一个或多个标签,方法是选择 Add tag (添加标签),然后输入一个键和可选的值。将值留空,设置为空字符串;它并非 null。您最多可以向策略附加 50 个标签。有关更多信息,请参阅 标记 AWS Organizations 资源

  5. JSON选项卡中输入或粘贴策略文本。有关 AI 服务选择退出策略语法的信息,请参阅AI 服务选择退出策略语法和示例。有关可用作起始点的策略的示例,请参阅AI 服务选择退出策略示例

  6. 编辑完策略后,选择位于页面右下角的 Create policy (创建策略)

AWS CLI & AWS SDKs
创建 AI 服务选择退出策略

您可以使用以下方法之一来创建标签策略:

  • AWS CLI: 创建策略

    1. 创建如下所示的 AI 服务选择退出策略,并将其存储在文本文件中。请注意,“optOut”和“optIn”区分大小写。

      { "services": { "default": { "opt_out_policy": { "@@assign": "optOut" } }, "rekognition": { "opt_out_policy": { "@@assign": "optIn" } } } }

      此 AI 服务选择退出策略指定所有受策略影响的账户都选择退出除 Amazon Rekognition 之外的所有 AI 服务。

    2. 导入JSON策略文件以在组织中创建新策略。在此示例中,前一个JSON文件被命名为policy.json

      $ aws organizations create-policy \ --type AISERVICES_OPT_OUT_POLICY \ --name "MyTestPolicy" \ --description "My test policy" \ --content file://policy.json { "Policy": { "Content": "{\"services\":{\"default\":{\"opt_out_policy\":{\"@@assign\":\"optOut\"}},\"rekognition\":{\"opt_out_policy\":{\"@@assign\":\"optIn\"}}}}", "PolicySummary": { "Id": "p-i9j8k7l6m5" "Arn": "arn:aws:organizations::o-aa111bb222:policy/aiservices_opt_out_policy/p-i9j8k7l6m5", "Description": "My test policy", "Name": "MyTestPolicy", "Type": "AISERVICES_OPT_OUT_POLICY" } } }
  • AWS SDKs: CreatePolicy

后续操作

创建 AI 服务选择退出策略后,您可以使选择退出的选项生效。为此,您可以将策略附加到组织根目录、组织单位 (OUs)、 AWS 账户 在你的组织内部,或者所有这些的组合。

创建服务控制策略 (SCP)

最小权限

要创建SCPs,您需要获得运行以下操作的权限:

  • organizations:CreatePolicy

AWS Management Console
创建服务控制策略
  1. 登录 。AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。

  2. Service control policies (服务控制策略) 页面上,选择 Create policy (创建策略)

  3. CCreate new service control policy (创建新的服务控制策略) 页面上,输入策略的 Policy name (策略名称) 和可选 Policy description (策略说明)

  4. (可选)添加一个或多个标签,方法是选择 Add tag (添加标签),然后输入一个键和可选的值。将值留空,设置为空字符串;它并非 null。您最多可以向策略附加 50 个标签。有关更多信息,请参阅 标记 AWS Organizations 资源

    注意

    在接下来的大多数步骤中,我们将讨论如何使用JSON编辑器右侧的控件逐个元素构建策略。或者,您也可以随时在窗口左侧的JSON编辑器中输入文本。您可以直接键入,也可以使用复制和粘贴。

  5. 为了构建策略,您的后续步骤因您是否要添加拒绝允许访问的语句而异。有关更多信息,请参阅 SCP评估。如果您使用Deny语句,则可以获得额外的控制权,因为您可以限制对特定资源的访问权限,定义SCPs何时生效的条件以及使用该NotAction元素。有关语法的详细信息,请参阅SCP语法

    要添加拒绝 访问的语句,请执行以下操作:

    1. 在编辑器右侧的 “编辑语句” 窗格中,在 “添加操作” 下,选择一个 AWS 服务。

      当你选择右边的选项时,JSON编辑器会更新,在左边显示相应的JSON策略。

    2. 选择服务后,将打开一个列表,其中包含该服务的可用操作。您可以选择 All actions (所有操作),或选择要拒绝的一个或多个单独操作。

      左JSON边的更新以包含您选择的操作。

      注意

      如果您选择了单个操作,然后又返回并选择了所有操作servicename/*则预期的条目将添加到中JSON,但您先前选择的单个操作将保留在JSON中而不是删除。

    3. 如果要添加来自其他服务的操作,您可以选择 Statement (语句) 框顶部的 All services (所有服务),然后根据需要重复前面两个步骤。

    4. 指定要包含在语句中的资源。

      • 添加资源旁边,选择添加

      • Add resource (添加资源) 对话框中,从列表中选择要控制其资源的服务。您只能从上一步骤选择的服务中进行选择。

      • Resource type (资源类型) 下,选择要控制的资源的类型。

      • 最后,填写 “资源” 中的 Amazon 资源ARN名称 (ARN),确定您要控制访问权限的特定资源。必须替换由大括号 {} 包围的所有占位符。可以在该资源类型的ARN语法允许的地方指定通配符 (*)。有关可在何处使用通配符的信息,请参阅特定资源类型的文档。

      • 保存您对策略添加的内容,方法是选择 Add resource (添加资源)。中的Resource元素JSON反映了您的添加或更改。需要 Resource (资源) 元素。

      提示

      如果要为所选服务指定所有资源,请选择列表中的所有资源选项,或者直接在中编辑Resource语句JSON以供阅读"Resource":"*"

    5. (可选)要指定限制策略语句生效时间的条件,请在添加条件旁边选择添加

      • 条件键-从列表中,您可以选择所有人均可用的任何条件键 AWS 服务(例如aws:SourceIp)或仅适用于您在本声明中选择的一项服务的特定密钥。

      • 限定词 –(可选)如果为条件提供多个值(取决于特定条件键),则可指定限定词来针对值测试请求。

        • 默认值 – 根据策略中的条件键值测试请求中的单个值。如果请求中的值均与策略中的值匹配,则条件返回 true。如果策略指定了多个值,则它们将被视为“or”测试,如果请求值与任何策略值匹配,则条件返回 true。

        • 对于请求中的任何值 – 当请求可以具有多个值时,此选项测试是否有至少一个请求值与策略中的至少一个条件键值匹配。如果请求中的任何一个键值与策略中的任何一个条件值匹配,则条件返回 true。对于没有匹配的键或空数据集,条件返回 false。

        • 对于请求中的所有值 – 当请求可以具有多个值时,此选项测试是否每个请求值都与策略中的条件键值匹配。如果请求中的每个键值均与策略中的至少一个值匹配,则条件返回 true。如果请求中没有键或者键值解析为空数据集(如空字符串),则也会返回 true。

      • 运算符运算符指定要进行比较的类型。显示的选项取决于条件键的数据类型。例如,aws:CurrentTime 全局条件键允许您从任何日期比较运算符(或 Null)中选择,您可以使用它来测试请求中是否存在该值。

        对于除Null检验之外的任何条件运算符,您可以选择该IfExists选项。

      • –(可选)指定要测试请求的一个或多个值。

      选择 添加条件

      有关条件键的更多信息,请参阅《IAM用户指南》中的 “IAMJSON策略元素:条件”。

    6. (可选)要使用 NotAction 元素来拒绝对所有操作(指定操作除外)的访问权限,请将左窗格中的 Action 替换为 NotAction(位于 "Effect": "Deny", 元素后)。有关更多信息,请参阅《IAM用户指南》 NotAction中的 “IAMJSON策略元素:”。

  6. 要添加允许 访问的语句,请执行以下操作:

    1. 在左侧的JSON编辑器中,将该行更改"Effect": "Deny""Effect": "Allow"

      当你选择右边的选项时,JSON编辑器会更新,在左边显示相应的JSON策略。

    2. 选择服务后,将打开一个列表,其中包含该服务的可用操作。您可以选择 All actions (所有操作),或选择要允许的一个或多个单独操作。

      左JSON边的更新以包含您选择的操作。

      注意

      如果您选择了单个操作,然后又返回并选择了所有操作servicename/*则预期的条目将添加到中JSON,但您先前选择的单个操作将保留在JSON中而不是删除。

    3. 如果要添加来自其他服务的操作,您可以选择 Statement (语句) 框顶部的 All services (所有服务),然后根据需要重复前面两个步骤。

  7. (可选)要向策略添加另一个语句,请选择 Add statement (添加语句) 并使用可视化编辑器构建下一条语句。

  8. 添加完对账单后,选择创建策略以保存已完成的对账单SCP。

您的新政策SCP将出现在该组织的政策列表中。现在,您可以将您的账户附加SCP到根或账户。OUs

AWS CLI & AWS SDKs
创建服务控制策略

您可以使用以下命令之一来创建SCP:

  • AWS CLI: 创建策略

    以下示例假设您有一个名为的文件,Deny-IAM.json其中包含JSON策略文本。它使用该文件创建新的服务控制策略。

    $ aws organizations create-policy \ --content file://Deny-IAM.json \ --description "Deny all IAM actions" \ --name DenyIAMSCP \ --type SERVICE_CONTROL_POLICY { "Policy": { "PolicySummary": { "Id": "p-i9j8k7l6m5", "Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/service_control_policy/p-i9j8k7l6m5", "Name": "DenyIAMSCP", "Description": "Deny all IAM actions", "Type": "SERVICE_CONTROL_POLICY", "AwsManaged": false }, "Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Statement1\",\"Effect\":\"Deny\",\"Action\":[\"iam:*\"],\"Resource\":[\"*\"]}]}" } }
  • AWS SDKs: CreatePolicy

注意

SCPs不要对管理账户和其他几种情况生效。有关更多信息,请参阅 不受限制的任务和实体 SCPs