IAM создает политику, допускающую только один регион, но все глобальные услуги необходимы - PullRequest
0 голосов
/ 05 сентября 2018

Мне бы хотелось ограничить использование учетной записи AWS одним регионом, но при этом разрешить глобальные услуги и особенно Cloudfront (для которого требуется ACM в Северной Вирджинии).

Следующего простого утверждения недостаточно для моей цели:

{
    "Sid": "DisableRegions",
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
        "StringNotEquals": {
            "aws:RequestedRegion": [
                "eu-central-1"
            ]
        }
    }
}

Кто-нибудь, работающий с версией политики IAM, делает именно это? Также обратите внимание на S3, ведра должны быть доступны только в этом регионе!

1 Ответ

0 голосов
/ 06 сентября 2018

Мое решение теперь разрешает доступ администратора во Франкфурт и включает все глобальные услуги Для S3 я разрешаю только глобальный доступ только для чтения. ACM должен быть разрешен в Северной Вирджинии, чтобы включить SSL в Cloudfront. Обратная связь всегда приветствуется!

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AdministratorAccessForRegionFrankfurt",
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "eu-central-1"
                    ]
                }
            }
        },
        {
            "Sid": "AllowGlobalServices",
            "Effect": "Allow",
            "Action": [
                "aws-portal:*",
                "awsbillingconsole:*",
                "iam:*",
                "sts:*",
                "health:*",
                "support:*",
                "budgets:*",
                "cloudfront:*",
                "organizations:*",
                "trustedadvisor:*",
                "shield:*",
                "waf:*",
                "waf-regional:*",
                "route53:*",
                "route53domains:*",
                "tag:*",
                "resource-groups:*",
                "s3:Get*",
                "s3:List*",
                "s3:Head*",
                "glacier:List*",
                "glacier:Describe*",
                "glacier:Get*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowACMInUSEastAsWell",
            "Effect": "Allow",
            "Action": "acm:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1"
                    ]
                }
            }
        }
    ]
}
...