如何執行策略來阻止對特定區域的存取而不更新我的所有策略?

如何執行策略來阻止對特定區域的存取而不更新我的所有策略?

我想阻止所有用戶訪問幾乎所有 aws 區域。您無法「停用」預設啟用的區域。我還知道帳戶級別的權限不能受區域限制。

我不想在每個使用者/角色/群組中加入這樣的策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3"
                    ]
                }
            }
        }
    ]
}

你不能嵌套組。所以我不能有一個頂級組,我將所有其他組都放入具有此策略的組中。

您無法將角色新增至群組。所以對於我的SAM 模板對於我的無伺服器應用程序,我是否必須將此策略添加到所有應用程式中?他們為每個應用程式動態創建獨特的角色和策略(我想保持這種方式)

有沒有辦法對帳戶中的所有使用者和角色強制實施策略?我一定錯過了一些東西,因為這看起來像是一個皮塔餅。

在 Active Directory 中,我們可以輕鬆地在 OU/網域/網站/等層級套用原則。感覺像是安全和身份平台的基本功能

有沒有辦法在我的 AWS 組織層級應用此策略?

答案1

服務控制策略完全符合您的要求。您可以封鎖區域,但請注意某些服務是全球性的,因此需要列入白名單。例如 IAM、WAF、Route53、CloudFront、S3 的某些部分需要列入白名單才能在允許的區域之外運作。

AWS 服務控制原則範例頁面將此作為第一個範例,因為它是 SCP 最常見的用例。此政策拒絕兩個列出的地區以外的地區,很容易更改

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyAllOutsideEU",
            "Effect": "Deny",
            "NotAction": [
                "a4b:*",
                "acm:*",
                "aws-marketplace-management:*",
                "aws-marketplace:*",
                "aws-portal:*",
                "awsbillingconsole:*",
                "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:*",
                "s3:GetAccountPublic*",
                "s3:ListAllMyBuckets",
                "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"
                    ]
                }
            }
        }
    ]
}

相關內容