iam_managed_policy - Управление политиками IAM, управляемыми пользователем
Новое в версии 2.4.
Обзор
- Позволяет создавать и удалять управляемые политики IAM.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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, если таковое есть. | |
| make_default | Значение по умолчанию: "да" | Сделать эту версию текущей по умолчанию. |
| only_version bool |
| Удалить все другие версии, отличные от значения по умолчанию. Если используется с make_default, это приведет к удалению всех других версий этой политики. |
| policy | Политика в формате JSON. | |
| policy_description | Значение по умолчанию: "" | Полезное описание этой политики. Это значение неизменяемо и задается только при создании новой политики. |
| 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. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state обязательно |
| Должна ли эта управляемая политика присутствовать или отсутствовать. Установите в «absent», чтобы отсоединить все сущности от этой политики и удалить ее, если она найдена. |
| validate_certs bool (добавлено в 1.5) |
| При установке в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto
Примеры
# Create Policy ex nihilo
- name: Create IAM Managed Policy
iam_managed_policy:
policy_name: "ManagedPolicy"
policy_description: "A Helpful managed policy"
policy: "{{ lookup('template', 'managed_policy.json.j2') }}"
state: present
# Update a policy with a new default version
- name: Create IAM Managed Policy
iam_managed_policy:
policy_name: "ManagedPolicy"
policy: "{{ lookup('file', 'managed_policy_update.json') }}"
state: present
# Update a policy with a new non default version
- name: Create IAM Managed Policy
iam_managed_policy:
policy_name: "ManagedPolicy"
policy: "{{ lookup('file', 'managed_policy_update.json') }}"
make_default: false
state: present
# Update a policy and make it the only version and the default version
- name: Create IAM Managed Policy
iam_managed_policy:
policy_name: "ManagedPolicy"
policy: "{ 'Version': '2012-10-17', 'Statement':[{'Effect': 'Allow','Action': '*','Resource': '*'}]}"
only_version: true
state: present
# Remove a policy
- name: Create IAM Managed Policy
iam_managed_policy:
policy_name: "ManagedPolicy"
state: absent
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| policy строка | успех | Возвращает структуру политики в формате JSON, когда state == absent, возвращается значение удаленной политики. Пример: { "arn": "arn:aws:iam::aws:policy/AdministratorAccess " "attachment_count": 0, "create_date": "2017-03-01T15:42:55.981000+00:00", "default_version_id": "v1", "is_attachable": true, "path": "/", "policy_id": "ANPALM4KLDMTFXGOOJIHL", "policy_name": "AdministratorAccess", "update_date": "2017-03-01T15:42:55.981000+00:00" } |
Статус
Этот модуль помечен как stableinterface, что означает, что авторы этого модуля гарантируют, что не будут вноситься обратные изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- Дан Козловски (@dkhenry)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/iam_managed_policy_module.html