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

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

一般示例

根据请求的Amazon Web Services 区域拒绝访问Amazon

主题

    此 SCP 拒绝对特定区域之外的任何操作的访问。使用您要使用的Amazon Web Services 区域替换 eu-central-1eu-west-1。它为已批准的全局服务中的操作提供了豁免。此示例还说明如何豁免由两个指定管理员角色中的任何一个发出的请求。

    注意

    要将区域拒绝 SCP 与 Amazon Control Tower 一起使用,请参阅 根据请求的Amazon Web Services 区域拒绝访问Amazon。

    此策略使用 Deny 效果来拒绝访问不是针对两个批准区域(eu-central-1eu-west-1)之一的操作的所有请求。通过 NotAction 元素,您可以列出其操作(或单个操作)不受此限制约束的服务。由于全球服务具有由 us-east-1 区域物理托管的终端节点,因此必须以这种方式豁免它们。借助以这种方式构建的 SCP,如果所请求的服务包含在 NotAction 元素中,则允许对 us-east-1 区域中的全局服务发出的请求。此示例策略拒绝对 us-east-1 区域中的服务的任何其他请求。

    注意

    此示例可能未包含所有最新的全局 Amazon 服务或操作。将服务和操作列表替换为由组织中的账户使用的全球服务。

    提示

    您可以在 IAM 控制台中查看服务上次访问的数据,以确定您的组织使用哪些全球服务。IAM 用户、组或角色的详细信息页面上的 Access Advisor (访问顾问) 选项卡显示该实体已使用的Amazon服务,并按最近的访问顺序进行排序。

    注意事项
    • Amazon KMS 和 Amazon Certificate Manager 支持区域终端节点。但是,如果您想将它们与 Amazon CloudFront 等全球服务一起使用,则必须将它们包含在以下示例 SCP 的全球服务排除列表中。像 Amazon CloudFront 这样的全球服务通常需要访问位于同一区域的 Amazon KMS 和 ACM,对于全球服务来说,这是美国东部(弗吉尼亚北部)区域(us-east-1)。

    • 默认情况下,Amazon STS 是全球服务,必须包含在全球服务排除列表中。不过,您可以启用 Amazon STS 来使用区域终端节点而不是单个全局终端节点。如果执行此操作,则可以从以下示例 SCP 中的全球服务豁免列表中删除 STS。有关更多信息,请参阅在Amazon Web Services 区域中管理 Amazon STS

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [ "a4b:*", "acm:*", "aws-marketplace-management:*", "aws-marketplace:*", "aws-portal:*", "budgets:*", "ce:*", "chime:*", "cloudfront:*", "config:*", "cur:*", "directconnect:*", "ec2:DescribeRegions", "ec2:DescribeTransitGateways", "ec2:DescribeVpnGateways", "fms:*", "globalaccelerator:*", "health:*", "iam:*", "importexport:*", "kms:*", "mobileanalytics:*", "networkmanager:*", "organizations:*", "pricing:*", "route53:*", "route53domains:*", "route53-recovery-cluster:*", "route53-recovery-control-config:*", "route53-recovery-readiness:*", "s3:GetAccountPublic*", "s3:ListAllMyBuckets", "s3:ListMultiRegionAccessPoints", "s3:PutAccountPublic*", "shield:*", "sts:*", "support:*", "trustedadvisor:*", "waf-regional:*", "waf:*", "wafv2:*", "wellarchitected:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "eu-central-1", "eu-west-1" ] }, "ArnNotLike": { "aws:PrincipalARN": [ "arn:aws:iam::*:role/Role1AllowedToBypassThisSCP", "arn:aws:iam::*:role/Role2AllowedToBypassThisSCP" ] } } } ] }

    阻止 IAM 用户和角色进行某些更改

    此 SCP 阻止 IAM 用户和角色对在组织的所有账户中创建的特定 IAM 角色进行更改。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToASpecificRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/name-of-role-to-deny" ] } ] }

    阻止 IAM 用户和角色进行指定的更改,但指定管理员角色除外

    此 SCP 基于前面的示例为管理员创建例外。它阻止受影响账户中的 IAM 用户和角色对在组织的所有账户中创建的常见管理 IAM 角色进行更改,但使用指定角色的管理员除外

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessWithException", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/name-of-role-to-deny" ], "Condition": { "StringNotLike": { "aws:PrincipalARN":"arn:aws:iam::*:role/name-of-admin-role-to-allow" } } } ] }

    要求 MFA 执行 API 操作

    使用如下所示的 SCP,要求先启用多重身份验证(MFA),之后 IAM 用户和角色才能执行操作。在此示例中,操作是停止 Amazon EC2 实例。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": false}} } ] }

    阻止根用户的服务访问

    以下策略限制对成员账户中根用户指定操作的所有访问权限。如果要阻止您的账户以特定方式使用根凭证,请将您自己的操作添加到此策略中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictEC2ForRoot", "Effect": "Deny", "Action": [ "ec2:*" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:root" ] } } } ] }

    阻止成员账户退出组织

    以下策略阻止使用 LeaveOrganization API 操作,以便成员账户的管理员无法从组织中删除其账户。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "organizations:LeaveOrganization" ], "Resource": "*" } ] }