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

Политика 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": "*"
        }
    ]
}

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

Что ж, похоже, проблема в том, что ini-файл настроен на запрос всех регионов, поэтому мне просто пришлось изменить ini-файл на:

regions = ca-central-1

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

#regions_exclude = us-gov-west-1, cn-north-1