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

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

服务控制策略 (SCP)

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

SCP 不向组织中的 IAM 用户和 IAM 角色授予权限。SCP 不授予任何权限。SCP 对组织中的 IAM 用户和 IAM 角色可以执行的操作定义权限护栏或设置限制。要授予权限,管理员必须附加策略来控制访问权限,例如附加到 IAM 用户和 IAM 角色的基于身份的策略,以及附加到您账户中资源的基于资源的策略。有效权限是 SCP 允许的权限与基于身份和资源的策略允许的权限之间的逻辑交叉点。

重要

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

测试 SCP 的影响

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

注意

除非您修改完整版AWSAccess策略或将其替换为包含允许操作的单独策略,否则成员账户的所有操作都将失败,否则成员账户的所有 Amazon 操作都将失败。

SCP 的最大大小

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

提示

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

将 SCP 附加到组织中的不同级别

有关 SCP 如何工作的详细说明,请参阅 SCP 评估

SCP 对权限的影响

SCP 与 Amazon Identity and Access Management (IAM) 权限策略类似,使用几乎相同的语法。但是,SCP 永远不会授予权限。相反,SCP 是 JSON 策略,用于指定组织中 IAM 用户和 IAM 角色的最大权限。有关更多信息,请参阅《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 以更好地遵循最小特权原则。

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

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

不受 SCP 限制的任务和实体

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

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

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

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

  • 以 root 用户身份更改 Amazon 支持级别

  • 为 CloudFront 私有内容提供可信签名者功能

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

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

    • Alexa Top Sites

    • Alexa Web Information Service

    • Amazon Mechanical Turk

    • Amazon Product Marketing API