Назад | Перейти на главную страницу

Встроенная политика AWS Group ограничивает доступ к определенным ресурсам с помощью тегов

Я создал группу разработки, в которой я хочу наложить групповую встроенную политику, которая позволила бы каждому члену иметь возможность описывать экземпляры EC2, у которых есть тег с ключевым «Product», значение которого равно «TestProduct». В приведенном ниже примере не предоставляется требуемый доступ, и если я оставлю resosurce *, он будет работать, так что это что-то, что я определяю, а не учетные данные или более высокий уровень.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "XXXX",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Product": "TestProduct"
                }
            }
        }
    ]
}

Ошибка, которую я получаю в aws cli: Произошла ошибка (UnauthorizedOperation) при вызове операции DescribeInstances: у вас нет прав для выполнения этой операции.

В ec2:DescribeInstances команда не поддерживает разрешения на уровне ресурсов. Это означает, что вы должны указать * как Resource в заявлении о политике IAM. Если вы укажете что-нибудь кроме * для Resource, то авторизация не удастся (как вы уже видели).

Это означает, что вы не можете «скрыть» экземпляры от определенных пользователей IAM. Либо пользователь IAM увидит все экземпляры, либо ни одного.

В следующем документе представлен список команд, поддерживающих разрешения на уровне ресурсов: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html