Политика 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