ec2_vpc_nacl – создание и удаление правил доступа к сети
Новая версия 2.2.
Описание
- Прочитайте документацию AWS по правилам доступа к сети https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- boto
- boto3
- botocore
- json
- 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 | |
| debug_botocore_endpoint_logs булево добавлено в 2.8 |
| Использует логирование botocore.endpoint для анализа уникальных (а не всех) вызовов API «ресурс:действие» во время задачи, выводя набор в ключ task_results.resource_actions. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она существует. | |
| egress - | По умолчанию: [] | Список правил для исходящего трафика. Каждое правило должно быть указано в виде списка. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из ['tcp', 'udp', 'icmp', '-1', 'all']), действие правила ('разрешить' или 'запретить'), CIDR диапазон IPv4 сети для разрешения или запрета, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. |
| ingress - | По умолчанию: [] | Список правил для входящего трафика. Каждое правило должно быть указано в виде списка. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из ['tcp', 'udp', 'icmp', '-1', 'all']), действие правила ('разрешить' или 'запретить'), CIDR диапазон IPv4 сети для разрешения или запрета, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. |
| nacl_id - добавлено в 2.4 | Идентификатор NACL, определяющий правило доступа к сети. Требуется и только один из параметров name или nacl_id. | |
| name - | Имя тега, определяющее правило доступа к сети. Требуется и только один из параметров name или nacl_id. | |
| profile строка | Использует профиль 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 строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - |
| Создаёт или изменяет существующее правило NACL Удаляет правило NACL и повторно связывает подсети с правилом NACL по умолчанию |
| subnets - | Список подсетей, которые должны быть связаны с правилом доступа к сети. Должен быть указан в виде списка Каждая подсеть может быть указана как ID подсети или её тегом. | |
| tags - | Словарь тегов, которые нужно найти и применить при создании правила доступа к сети. | |
| validate_certs булево |
| При значении «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_id - | ID VPC запрашиваемой VPC. Требуется при state present. |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные окружения могут быть использованы в порядке убывания приоритета
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
Примеры
# Complete example to create and delete a network ACL
# that allows SSH, HTTP and ICMP in, and all traffic out.
- name: "Create and associate production DMZ network ACL with DMZ subnets"
ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
region: ap-southeast-2
subnets: ['prod-dmz-1', 'prod-dmz-2']
tags:
CostCode: CC1234
Project: phoenix
Description: production DMZ
ingress:
# rule no, protocol, allow/deny, cidr, icmp_type, icmp_code,
# port from, port to
- [100, 'tcp', 'allow', '0.0.0.0/0', null, null, 22, 22]
- [200, 'tcp', 'allow', '0.0.0.0/0', null, null, 80, 80]
- [300, 'icmp', 'allow', '0.0.0.0/0', 0, 8]
egress:
- [100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]
state: 'present'
- name: "Remove the ingress and egress rules - defaults to deny all"
ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
region: ap-southeast-2
subnets:
- prod-dmz-1
- prod-dmz-2
tags:
CostCode: CC1234
Project: phoenix
Description: production DMZ
state: present
- name: "Remove the NACL subnet associations and tags"
ec2_vpc_nacl:
vpc_id: 'vpc-12345678'
name: prod-dmz-nacl
region: ap-southeast-2
state: present
- name: "Delete nacl and subnet associations"
ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
state: absent
- name: "Delete nacl by its id"
ec2_vpc_nacl:
nacl_id: acl-33b4ee5b
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| task словарь | успех | Результат действия создания или удаления. |
Статус
- Этот модуль гарантирует отсутствие изменений интерфейса, несовместимых с предыдущими версиями. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Mike Mochan (@mmochan)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ для его улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/ec2_vpc_nacl_module.html