iam_policy – Управление политиками IAM для пользователей, групп и ролей
Новое в версии 2.0.
Описание
- Разрешает загрузку или удаление политик IAM для пользователей, групп или ролей IAM.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| ec2_url - | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она задана. | |
| iam_name - / обязательно | Имя ресурса IAM, на который необходимо нацелить действия с политиками. Иными словами, имя пользователя, группы или роли. | |
| iam_type - / обязательно |
| Тип ресурса IAM |
| policy_document - | Путь к файлу политики в формате JSON (исключающее использование policy_json) | |
| policy_json - | Политика в формате JSON как строка (исключающее использование policy_document, см. https://github.com/ansible/ansible/issues/7005#issuecomment-42894813, как её правильно использовать) | |
| policy_name - / обязательно | Имя метки для создаваемой или удаляемой политики. | |
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region - | AWS регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| security_token - добавлено в 1.6 | AWS STS security token. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| skip_duplicates - | По умолчанию: "/" | По умолчанию модуль ищет любые политики, соответствующие переданному документу. Если совпадение найдено, новый объект политики с такими же правилами не создаётся. Вы можете переопределить это, указав false, что позволит создать два объекта политики с разными именами, но одинаковыми правилами. |
| state - / обязательно |
| Создавать или удалять политику IAM. |
| validate_certs boolean добавлено в 1.5 |
| При значении "no" сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
Примечания
Примечание
- В настоящее время boto не поддерживает удаление управляемых политик, модуль не будет работать с удалением/добавлением управляемых политик.
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания AWS региона, когда это требуется, но это также можно настроить в конфигурационном файле boto
Примеры
# Create a policy with the name of 'Admin' to the group 'administrators'
- name: Assign a policy called Admin to the administrators group
iam_policy:
iam_type: group
iam_name: administrators
policy_name: Admin
state: present
policy_document: admin_policy.json
# Advanced example, create two new groups and add a READ-ONLY policy to both
# groups.
- name: Create Two Groups, Mario and Luigi
iam:
iam_type: group
name: "{{ item }}"
state: present
with_items:
- Mario
- Luigi
register: new_groups
- name: Apply READ-ONLY policy to new groups that have been recently created
iam_policy:
iam_type: group
iam_name: "{{ item.created_group.group_name }}"
policy_name: "READ-ONLY"
policy_document: readonlypolicy.json
state: present
with_items: "{{ new_groups.results }}"
# Create a new S3 policy with prefix per user
- name: Create S3 policy from template
iam_policy:
iam_type: user
iam_name: "{{ item.user }}"
policy_name: "s3_limited_access_{{ item.prefix }}"
state: present
policy_json: " {{ lookup( 'template', 's3_policy.json.j2') }} "
with_items:
- user: s3_user
prefix: s3_user_prefix
Статус
- Этот модуль гарантированно не будет иметь обратной несовместимости в интерфейсе в будущем. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Jonathan I. Davila (@defionscode)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ для улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/iam_policy_module.html