资源控制策略(RCP) - AWS Organizations

资源控制策略(RCP)

注意

服务控制策略(SCP)和资源控制策略(RCP)

需要限制组织成员账户中 IAM 主体的权限时,请使用 SCP。

需要限制组织账户外部的 IAM 主体请求访问组织成员账户内的资源时,请使用 RCP。

有关更多信息,请参阅了解 SCP 和 RCP

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

单凭 RCP 不足以向组织中资源的授予权限。RCP 不授予任何权限。RCP 针对各种身份可对组织的资源执行的操作定义权限护栏或设置限制。管理员仍然必须将基于身份的策略附加到 IAM 用户或角色,或者将基于资源的策略附加到您账户中的资源,以实际授予权限。有关更多信息,请参见《IAM 用户指南》中的基于身份的策略和基于资源的策略

有效权限是指 RCP 和服务控制策略(SCP)允许的权限与基于身份和基于资源的策略允许的权限之间的逻辑交集。

RCP 不会影响管理账户中的资源

RCP 不会影响管理账户中的资源。它们仅影响组织内成员账户中的资源。这也意味着 RCP 适用于指定为委派管理员的成员账户。

支持 RCP 的 AWS 服务 列表

RCP 适用于以下 AWS 服务 的操作:

测试 RCP 的影响

AWS 强烈建议,在没有全面测试该策略对账户中资源的影响之前,请勿将 RCP 附加到组织的根。您可以先将 RCP 附加到各个测试账户,将它们向上移动到层次结构中较低的 OU,然后再根据需要在组织结构中逐渐向上移动。确定影响的一种方法是查看 AWS CloudTrail 日志中是否存在拒绝访问错误。

RCP 的最大大小

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

提示

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

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

您可以将 RCP 直接附加到个人账户、OU 或组织根。有关 RCP 工作原理的详细说明,请参阅 RCP 评估

RCP 对权限的影响

RCP 是一种 AWS Identity and Access Management(IAM)策略,与基于资源的策略关系最为密切。但是,RCP 永远不会授予权限。相反,RCP 是访问控制措施,用于指定组织中资源的最大可用权限。有关更多信息,请参阅《IAM 用户指南》中的策略评估逻辑

  • RCP 适用于部分 AWS 服务 的资源。有关更多信息,请参阅 支持 RCP 的 AWS 服务 列表

  • RCP 仅影响由附加了 RCP 的组织中的账户管理的资源。它们不会影响组织外部账户的资源。例如,假设有一个由组织中的账户 A 拥有的 Amazon S3 存储桶。存储桶策略(一种基于资源的策略)会向来自组织外账户 B 的用户授予访问权限。账户 A 附加了一个 RCP。即使账户 B 的用户进行访问,该 RCP 也适用于账户 A 中的 S3 存储桶。但是,当账户 A 的用户进行访问时,该 RCP 就不适用于账户 B 中的资源。

  • RCP 会限制成员账户中资源的权限。账户中的任何资源都只拥有其上方的每个父级资源允许的那些权限。如果在账户级别以上的任何级别阻止了某权限,则受影响账户中的资源就无法获得该权限,即使资源所有者附加了允许对任何用户进行完全访问的基于资源的策略也是如此。

  • RCP 适用于作为操作请求的一部分而获得授权的资源。这些资源可以在《Service Authorization Reference》中操作表的“资源类型”列中找到。如果在“资源类型”列中指定了某个资源,则会应用调用主体账户的 RCP。例如,s3:GetObject 会授权对象资源。每次发出 GetObject 请求时,都会应用适用的 RCP 来确定请求主体是否可以调用 GetObject 操作。适用的 RCP 是指已附加到账户、组织单元(OU)或拥有所访问资源的组织根的 RCP。

  • RCP 仅影响组织中的成员账户,对管理账户中的资源没有任何影响。这也意味着 RCP 适用于指定为委派管理员的成员账户。有关更多信息,请参阅 管理账户的最佳实践

  • 当主体请求访问已附加 RCP 的账户中的资源(具有适用 RCP 的资源)时,RCP 将包含在策略评估逻辑中,以确定是允许还是拒绝该主体访问。

  • 无论尝试访问具有适用 RCP 的成员账户中资源的主体是否属于同一组织,RCP 都会影响其有效权限。这包括根用户。主体为服务关联角色时例外,因为 RCP 不适用于服务关联角色发起的调用。AWS 服务 能够借助服务关联角色代表您执行必要的操作,不受 RCP 的限制。

  • 仍必须通过适当的 IAM 权限策略(包括基于身份和基于资源的策略)向用户和角色授予权限。即使适用的 RCP 允许所有服务、所有操作和所有资源,没有任何 IAM 权限策略的用户或角色也不会拥有访问权限。

不受 RCP 限制的资源和实体

无法使用 RCP 来限制以下操作:

  • 对管理账户中的资源执行的任何操作。

  • RCP 不会影响任何服务关联角色的有效权限。服务关联角色是一种独特的 IAM 角色,直接与 AWS 服务关联,包含该服务代表您调用其他 AWS 服务所需的所有权限。RCP 无法限制服务关联角色的权限。RCP 也不会影响 AWS 服务代入服务关联角色的能力;也就是说,服务关联角色的信任策略也不会受到 RCP 的影响。

  • RCP 不适用于 AWS 托管式密钥 for AWS Key Management Service。AWS 服务 代表您创建、管理和使用 AWS 托管式密钥。您无法更改或管理其权限。

  • RCP 不会影响以下权限:

    服务 API 未经 RCP 授权的资源
    AWS Key Management Service

    kms:RetireGrant

    RCP 不会影响 kms:RetireGrant 权限。有关如何确定 kms:RetireGrant 权限的更多信息,请参阅《AWS KMS Developer Guide》中的 Retiring and revoking grants