服务控制策略 (SCP) - Amazon Organizations
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

服务控制策略 (SCP)

有关所有策略类型的信息和通用过程,请参阅以下主题:

服务控制策略 (SCP) 是一种组织策略,可用于管理组织中的权限。SCP 为您组织中的所有账户提供对最大可用权限的集中控制。SCP 可帮助确保您的账户符合组织的访问控制准则。SCP 仅在启用所有功能的组织中可用。如果您的组织只启用了整合账单功能,则不能使用 SCP。有关启用 SCP 的说明,请参阅启用和禁用策略类型

单凭 SCP 不足以授予您组织中的账户权限。SCP 不授予任何权限。SCP 为账户管理员可以委派给受影响账户中的 IAM 用户和角色的操作定义防护机制或设置限制。管理员仍然必须将基于身份或基于资源的策略附加到 IAM 用户或角色,或者您账户中的资源,以实际授予权限。有效权限是 SCP 允许的权限与 IAM 和基于资源的策略允许的权限之间的逻辑交集。

重要

SCP 不会影响管理账户中的用户或角色。它们仅影响组织中的成员账户。

测试 SCP 的影响

Amazon 强烈建议您不要在没有彻底测试策略对账户的影响的情况下将 SCP 附加到组织的根。您可以改为创建一个 OU,并将您的账户一次移入一个,或至少每次以少量移入,以确保您不会无意中阻止用户使用关键服务。确定账户是否使用服务的一种方法是检查 IAM 中服务上次访问的数据。另一种方法是使用 Amazon CloudTrail 记录 API 级别的服务使用情况

SCP 的最大大小

SCP 中的所有字符将计入其最大大小。本指南中的示例演示了使用额外空格编排格式的 SCP,以提高其可读性。但是,在您的策略大小接近最大大小时,可以删除任何空格(例如,引号之外的空格字符和换行符)来节省空间。

提示

使用可视化编辑器构建您的 SCP。它会自动删除额外的空格。

OU 层次结构中 SCP 的继承

有关 SCP 继承的工作原理的详细说明,请参阅服务控制策略的继承

SCP 对权限的影响

SCP 类似于 Amazon Identity and Access Management(IAM)权限策略,使用几乎相同的语法。但是,SCP 永远不会授予权限。相反,SCP 是 JSON 策略,用于指定受影响账户的最大权限。有关更多信息,请参阅《IAM 用户指南》中的策略评估逻辑

  • SCP 只影响 IAM 用户和角色,此类用户和角色由属于组织的账户进行管理。SCP 不会直接影响基于资源的策略,也不会影响组织外的账户的用户或角色。例如,请考虑一个 Amazon S3 存储桶,它由组织中的账户“A”所有。存储桶策略(一种基于资源的策略)会向来自组织外账户 B 的用户授予访问权限。账户 A 附加了一个 SCP。SCP 不适用于账户 B 中的那些外部用户。SCP 仅适用于由该组织内的账户 A 所管理的用户。

  • SCP 会限制成员账户中的 IAM 用户和角色的权限,包括成员账户的根用户。任何账户都只有上方的每个 父级允许的那些权限。如果权限在账户上面的任何级别被隐式阻止(通过不包括在 Allow 策略语句中)或明确阻止(通过包括在 Deny 策略语句中),则受影响账户中的用户或角色不能使用该权限,即使账户管理员将带有 */* 权限的 AdministratorAccess IAM policy 附加到用户也是如此。

  • SCP 仅影响组织中的成员账户。它们对管理账户中的用户或角色没有任何影响。

  • 仍然必须通过适当的 IAM 权限策略将权限授予用户和角色。没有任何 IAM 权限策略的用户没有访问权,即使适用的 SCP 允许所有服务和所有操作也是如此。

  • 如果用户或角色具有 IAM 权限策略,而该策略允许访问适用的 SCP 也允许的操作,则用户或角色可以执行该操作。

  • 如果用户或角色具有 IAM 权限策略,而该策略允许访问不允许或被相应的 SCP 明确拒绝的操作,则用户或角色不能执行该操作。

  • SCP 会影响附加账户中的所有用户和角色,包括根用户。唯一例外在 不受 SCP 限制的任务和实体中介绍。

  • SCP 不会 影响任何服务相关角色。服务相关角色可让其他 Amazon 服务与 Amazon Organizations 集成且不受 SCP 的限制。

  • 当您在根用户中禁用 SCP 策略类型时,所有 SCP 都会自动从该根用户中的所有 Amazon Organizations 实体剥离。Amazon Organizations 实体包括组织单位、组织和账户。如果在根中重新启用 SCP,该根将仅恢复为自动附加到根中所有实体的默认 FullAWSAccess 策略。在禁用 SCP 之前附加到 Amazon Organizations 实体的任何 SCP 都将丢失,并且不能自动恢复,不过您可以手动重新附加它们。

  • 如果权限边界(高级 IAM 功能)和 SCP 同时存在,则边界、SCP 以及基于身份的策略必须全部允许操作。

使用访问数据改进 SCP

使用管理账户凭证登录时,您可以在 IAM 控制台中的 Amazon Organizations 部分查看 Amazon Organizations 实体或策略的服务上次访问的数据。您还可在 IAM 中使用 Amazon Command Line Interface(Amazon CLI)或 Amazon API 检索服务上次访问的相关数据。此数据包含相关信息,说明Amazon Organizations中的 IAM 用户和角色上次尝试访问了哪些允许的服务以及访问这些服务的时间。您可以使用此信息确定不必要的权限,从而优化 SCP 以更好地遵循最小特权原则。

例如,您可能有一个拒绝列表 SCP,禁止访问三个 Amazon 服务。SCP 的 Deny 语句中未列出的所有服务均允许访问。IAM 中的服务上次访问数据告知您哪些Amazon服务是 SCP 允许但从未使用的。借助该信息,您可以更新 SCP 以拒绝对不需要服务的访问权限。

有关更多信息,请参阅 IAM 用户指南中的以下主题:

不受 SCP 限制的任务和实体

无法使用 SCP 来限制以下任务:

  • 管理账户执行的任何操作

  • 使用附加到服务相关角色的权限执行的任何操作

  • 以根用户身份注册企业支持计划

  • 以根用户身份更改 Amazon Support 级别

  • 为 CloudFront 私有内容提供可信签署人功能

  • 为 Amazon Lightsail 电子邮件服务器和作为根用户的 Amazon EC2 实例配置反向 DNS

  • 某些Amazon相关服务的任务:

    • Alexa Top Sites

    • Alexa Web Information Service

    • Amazon Mechanical Turk

    • Amazon Product Marketing API

仅 2017 年 9 月 15 日之前创建的成员账户例外

对于 2017 年 9 月 15 日之前创建的某些账户,您无法使用 SCP 阻止这些成员账户中的根用户执行以下任务:

重要

对于 2017 年 9 月 15 日之后创建的全部账户,以下例外情况不适用,即您可以使用 SCP 阻止这些成员账户中的根用户执行以下任务:但是,除非您确定组织中的全部的账户均是在 2017 年 9 月 15 日之后创建的,否则我们建议您不要依赖 SCP 来尝试限制这些操作:

  • 在根用户上启用或禁用多重验证

  • 创建、更新或删除根用户的 x.509 密钥

  • 更改根用户的密码

  • 创建、更新或删除根访问密钥