Получение «Политика потерпела неудачу при анализе» при создании политики AWS / IAM - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь создать политику, чей JSON:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicies",
                "kms:UntagResource",
                "kms:ListKeyPolicies",
                "kms:ListRetirableGrants",
                "kms:GetKeyPolicy",
                "iam:ListRoles",
                "kms:ListResourceTags",
                "iam:ListInstanceProfiles",
                "kms:ListGrants",
                "kms:GetParametersForImport",
                "kms:DescribeCustomKeyStores",
                "kms:ListKeys",
                "kms:TagResource",
                "s3:ListAllMyBuckets",
                "kms:GetKeyRotationStatus",
                "kms:ListAliases",
                "kms:DescribeKey",
                "s3:HeadBucket"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::644748426467:"
        }
    ]
}

Но когда я нажимаю Просмотреть политику , я получаю The policy failed legacy parsing (см. Скриншот ниже).

Есть идеи, что мой неправильный синтаксис?

The policy failed legacy parsing screenshot

Редактировать 1:

Следующее дает то же самое The policy failed legacy parsing ошибка:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        },
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicies",
                "kms:ListKeyPolicies",
                "kms:UntagResource",
                "kms:ListRetirableGrants",
                "kms:GetKeyPolicy",
                "iam:ListRoles",
                "kms:ListResourceTags",
                "iam:ListInstanceProfiles",
                "kms:ListGrants",
                "kms:GetParametersForImport",
                "kms:DescribeCustomKeyStores",
                "kms:ListKeys",
                "kms:TagResource",
                "kms:GetKeyRotationStatus",
                "kms:ListAliases",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

1 Ответ

0 голосов
/ 30 октября 2019

Я выяснил правильный формат для политики.

При вводе ресурсов из графического пользовательского интерфейса IAM/edit-policy полученный JSON обновляется с использованием неправильного формата.
Правильный формат для разрешений S3 должен быть arn:aws:s3:::xxxxxx, а не arn:aws:::xxxxxx:.
Обратите внимание, что при вводе вручную правильно отформатированного ресурса S3 в JSON графический интерфейс отображает предупреждение.

Это мой рабочий JSON:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "kms:GetParametersForImport",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ListKeyPolicies",
                "kms:ListRetirableGrants",
                "kms:GetKeyRotationStatus",
                "kms:GetKeyPolicy",
                "cloudtrail:CreateTrail",
                "kms:DescribeKey",
                "s3:ListBucket",
                "kms:ListResourceTags",
                "kms:ListGrants"
            ],
            "Resource": [
                "arn:aws:s3:::644748xxxxxx",
                "arn:aws:kms:*:644748xxxxxx:key/*",
                "arn:aws:kms:*:644748xxxxxx:alias/*",
                "arn:aws:cloudtrail:::*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicies",
                "kms:DescribeCustomKeyStores",
                "kms:ListKeys",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:CreateServiceLinkedRole",
                "kms:ListAliases",
                "iam:ListRoles",
                "iam:ListRolePolicies",
                "iam:ListInstanceProfiles"
            ],
            "Resource": "*"
        }
    ]
}
...