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

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

资源控制策略示例

本主题中显示的资源控制策略示例 (RCPs) 仅供参考。有关数据边界的示例,请参阅中的数据外围策略示例。 GitHub

在使用这些示例之前

在组织 RCPs 中使用这些示例之前,请执行以下操作:

  • 请仔细查看并根据您的独特要求 RCPs 进行自定义。

  • 使用您使用的 Amazon 服务 RCPs 在您的环境中彻底测试。

本节中的示例策略演示了的实现和使用 RCPs。这些示例策略并是要完全按照所示实施的官方 Amazon 建议或最佳实践。您有责任仔细测试任何策略,以确定其是否适合解决环境的业务需求。除非您在策略中添加必要的例外情况,否则基于拒绝的资源控制策略可能会无意中限制或阻止您对 Amazon 服务的使用。

一般示例

RCPFullAWSAccess

以下策略是 Amazon 托管策略,当您启用资源控制策略(RCPs)时,它会自动附加到组织根目录、每个 OU 和组织中的每个账户。您无法分离此策略。此默认 RCP 允许所有委托人和操作访问您的资源,这意味着在您开始创建和附加之前 RCPs,您的所有现有 IAM 权限将继续按原样运行。您无需测试此策略的影响,因为它允许您的资源继续使用现有的授权行为。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }

跨服务混淆代理保护

有些 Amazon Web Services 服务 (呼叫服务)使用其 Amazon Web Services 服务 主体从其他 Amazon Web Services 服务 (称为服务)访问 Amazon 资源。当一个不打算访问 Amazon 资源的行为者试图利用委托人的信任与他们 Amazon Web Services 服务 本来不打算访问的资源进行交互时,这被称为跨服务混乱的副手问题。有关更多信息,请参阅《IAM 用户指南》中的混淆代理问题

以下政策要求 Amazon Web Services 服务 委托人仅代表贵组织提出的请求访问您的资源。此策略仅对存在 aws:SourceAccount 的请求应用控制措施,因此,不需要使用 aws:SourceAccount 的服务集成不会受到影响。如果 aws:SourceAccount 存在于请求上下文中,则 Null 条件将评估为 true,从而强制执行 aws:SourceOrgID 键。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceConfusedDeputyProtection", "Effect": "Deny", "Principal": "*", "Action": [ "s3:*", "sqs:*", "kms:*", "secretsmanager:*", "sts:*" ], "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceOrgID": "my-org-id", "aws:SourceAccount": [ "third-party-account-a", "third-party-account-b" ] }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "Null": { "aws:SourceArn": "false" } } } ] }

仅限通过 HTTPS 连接访问您的资源

以下策略要求仅通过 HTTPS(TLS)加密连接访问您的资源。这可以帮助您防止潜在攻击者操纵网络流量。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": [ "sts:*", "s3:*", "sqs:*", "secretsmanager:*", "kms:*" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:SecureTransport": "false" } } } ] }

一致的 Amazon S3 存储桶策略控制措施

以下 RCP 包含多个语句,用于对组织中的 Amazon S3 存储桶强制执行一致的访问控制。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceS3TlsVersion", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "*", "Condition": { "NumericLessThan": { "s3:TlsVersion": [ "1.2" ] } } }, { "Sid": "EnforceKMSEncryption", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "*", "Condition": { "Null": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "true" } } } ] }
  • 语句 ID EnforceS3TlsVersion:要求访问 S3 存储桶的最低 TLS 版本为 1.2。

  • 语句 ID EnforceKMSEncryption:要求使用 KMS 密钥对对象进行服务器端加密。