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

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

0
задан 30 May 2018 в 02:40
1 ответ

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

regions = ca-central-1

и прокомментировать

#regions_exclude = us-gov-west-1, cn-north-1
1
ответ дан 4 December 2019 в 15:57

Теги

Похожие вопросы