Как установить теги по умолчанию при создании экземпляра EC2? - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь найти способ добавить теги по умолчанию, когда кто-то в учетной записи пытается создать экземпляр EC2.Прямо сейчас я установил правила, которые контролируют только если теги были созданы.

Мне нужно что-то, что при создании экземпляра они должны заполнить тег и затем продолжить запуск экземпляра.Это возможно?Если да, то как?

Я искал в Интернете, и не было ничего, что делало бы именно то, что я хочу.

Я посмотрел на: https://aws.amazon.com/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/

Затем я сделал политику (ниже), но она все еще не работала.

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AllowCreateTaggedVolumes",
        "Effect": "Allow",
        "Action": "ec2:CreateVolume",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/Name": "",
                "aws:RequestTag/Owner": "",
                "aws:RequestTag/Project": "",
                "aws:RequestTag/Schedule": ""
            },
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "Name",
                    "Owner",
                    "Project",
                    "Schedule"
                ]
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "ec2:CreateTags"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:CreateAction": "CreateVolume"
            }
        }
    }
]
}

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Я смоделировал тот же сценарий, используя приведенный ниже код политики, где следующий пример политики позволяет пользователю запускать экземпляр EC2 и создавать том EBS, только если пользователь применяет все теги , которые определены вполитика, использующая квалификатор ForAllValues ​​(Key1 & Key2).Если пользователь применяет какой-либо тег, который не включен в политику, действие отклоняется.T

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AllowToDescribeAll",
        "Effect": "Allow",
        "Action": [
            "ec2:Describe*"
        ],
        "Resource": "*"
    },
    {
        "Sid": "AllowRunInstances",
        "Effect": "Allow",
        "Action": "ec2:RunInstances",
        "Resource": [
            "arn:aws:ec2:*::image/*",
            "arn:aws:ec2:*::snapshot/*",
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:key-pair/*"
        ]
    },
    {
        "Sid": "AllowRunInstancesWithRestrictions",
        "Effect": "Allow",
        "Action": [
            "ec2:CreateVolume",
            "ec2:RunInstances"
        ],
        "Resource": [
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:instance/*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/key1": "value1",
                "aws:RequestTag/key2": "value2"
            },
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "key1",
                    "key2"
                ]
            }
        }
    },
    {
        "Sid": "AllowCreateTagsOnlyLaunching",
        "Effect": "Allow",
        "Action": [
            "ec2:CreateTags"
        ],
        "Resource": [
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:instance/*"
        ],
        "Condition": {
            "StringEquals": {
                "ec2:CreateAction": "RunInstances"
            }
        }
    }
]
}

Добавлено хранилище enter image description here

Нет добавленных тегов

enter image description here

Не удалось запустить без тегов enter image description here

Обязательные теги добавлены

enter image description here

Запуск начался со значения тега enter image description here

Ссылка AWSРуководство

0 голосов
/ 11 декабря 2018

Вы можете посмотреть, как настроить AWS Config, чтобы сделать это для вас, вот ссылка на страницу конфигурации, которая выделяет правило, которое действительно может работать для вас:

https://docs.aws.amazon.com/config/latest/developerguide/required-tags.html

На этой странице показаны поддерживаемые ресурсы, и это правило является управляемым AWS, что означает, что оно должно работать с простой конфигурацией и нажатием кнопки.

...