资源控制策略示例 - 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 权限将继续按原样运行。您无需测试此策略的效果,因为它允许您的资源继续使用现有的授权行为。

{ "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:SourceAccountNull条件的计算结果将为true,从而强制执行aws:SourceOrgID密钥。

{ "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) 的加密连接才能访问您的资源。这可以帮助您防止潜在的攻击者操纵网络流量。

{ "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 存储桶实施一致的访问控制。

{ "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 — 要求最低的 TLS 版本为 1.2 才能访问 S3 存储桶。

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