Политика IAM для ответной динамической инвентаризации в ec2

Итак, я использую сценарий ec2.py (предоставленный Ansible) для создания динамических инвентаризаций. Я создал следующую политику IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "ca-central-1"
                }
            }
        }
    ]
}

Потому что я хочу, чтобы контроллер Ansible собирал данные только с экземпляров EC2, поступающих из ca-central-1 (т.е. из Канады). Я не хочу, чтобы это связывалось с другими регионами, поскольку они являются производственной / промежуточной средой, и я не хочу портить там вещи. Проблема в том, что я получаю

ОШИБКА: "Ошибка подключения к серверу AWS.

Вы не авторизованы для выполнения этой операции.", А: получение экземпляров EC2

Это работает, если я использую эту политику:

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

Но эта политика предоставляет разрешения на все, даже в производственных средах. Даже используя роли, я нахожу это немного излишним. Я не рассматриваю что-то?

1 ответ

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

regions = ca-central-1

и прокомментируйте

#regions_exclude = us-gov-west-1, cn-north-1
Другие вопросы по тегам