Политика тегов IAM с условием предотвращения создания ресурса - PullRequest
0 голосов
/ 09 апреля 2020

Моему пользователю IAM прикреплены две нижеприведенные политики.

Я создал приведенную ниже политику IAM, которая запрещает создание лямбды, если у нее нет тега Project.

 {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Deny",
                "Action": "lambda:*",
                "Resource": "*",
                "Condition": {
                    "Null": {
                        "aws:RequestTag/Project": "true"
                    }
                }
            }
        ]
    }

Мне также нужно присоединить / создать новую роль выполнения при создании лямбды, поэтому я добавил ниже политику Iam для своего пользователя IAM.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": "iam:*",
            "Resource": "*"
        }
    ]
}

Я вошел в консоль aws используя учетные данные этого пользователя IAM и попытался создать лямбда-функцию без тега, но он не заблокировал создание ресурса. Я смог создать лямбда-функцию без обязательного тега, но со следующими ошибками.

You are not authorized to perform: cloudformation:DescribeStackResources.
You are not authorized to perform: lambda:GetFunctionEventInvokeConfig.
User: arn:aws:iam::****:user/testuser is not authorized to perform: lambda:ListEventSourceMappings on resource: * with an explicit deny (Service: AWSLambda; Status Code: 403; Error Code: AccessDeniedException; Request ID: 199433ed*****)

Как полностью заблокировать создание ресурса?

https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_example-scps.html#example -require-tag-on-create

В конце концов я хочу попробовать aws: RequestTag / {TageKey} для всех поддерживаемых aws ресурсов.

...