Модуль community.aws.ec2_vpc_nacl — создание и удаление сетевых ACL
Примечание
Этот модуль входит в коллекцию community.aws (версия 8.0.0).
Вы, возможно, уже установили эту коллекцию, если используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные условия, см. Требования для подробностей.
Чтобы использовать его в книге задач, укажите: community.aws.ec2_vpc_nacl.
Новая функция в community.aws 1.0.0
Обзор
- Прочитайте документацию AWS по сетевым ACL https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | Идентификатор ключа доступа AWS. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle путь | Расположение файла с корневым сертификатом для проверки SSL-сертификатов. Также может быть использована переменная среды |
aws_config словарь | Словарь для модификации конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логическое | Использовать Также может быть использована переменная среды Варианты:
|
egress список / элементы=список | Список правил для исходящего трафика. Каждое правило должно быть задано как список. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из [‘tcp’, ‘udp’, ‘icmp’, ‘ipv6-icmp’, ‘-1’, ‘all’]), действие правила (‘allow’ или ‘deny’), CIDR IPv4 или IPv6 диапазона сети для разрешения или запрещения, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. По умолчанию: |
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных AWS-точек входа. Хотя это может использоваться для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут быть использованы переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
ingress список / элементы=список | Список правил для входящего трафика. Каждое правило должно быть задано как список. Каждое правило может содержать номер правила (целое число от 1 до 32766), протокол (один из [‘tcp’, ‘udp’, ‘icmp’, ‘ipv6-icmp’, ‘-1’, ‘all’]), действие правила (‘allow’ или ‘deny’), CIDR IPv4 или IPv6 диапазона сети для разрешения или запрещения, тип ICMP (-1 означает все типы), код ICMP (-1 означает все коды), последний порт в диапазоне для протоколов TCP или UDP и первый порт в диапазоне для протоколов TCP или UDP. См. примеры. По умолчанию: |
nacl_id строка | Идентификатор NACL, определяющий сетевой ACL. Требуется только один из параметров name или nacl_id. |
name строка | Идентификатор с меткой, определяющий сетевой ACL. Требуется только один из параметров name или nacl_id. |
profile псевдонимы: aws_profile строка | Имя профиля AWS для аутентификации. Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может быть использована переменная среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token. |
purge_tags логическое | Если purge_tags=true и tags установлено, существующие теги ресурса будут очищены для точного соответствия параметру tags. Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region псевдонимы: aws_region, ec2_region строка | AWS-регион для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также могут быть использованы переменные среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные окружения Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для соответствия SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные окружения Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string | Создает или изменяет существующий NACL Удаляет NACL и повторно связывает подсети с дефолтным NACL Варианты:
|
subnets list / elements=string | Список подсетей, которые должны быть связаны с сетевым ACL. Должен быть указан в виде списка Каждая подсеть может быть указана как ID подсети или ее именованная метка. По умолчанию: |
tags aliases: resource_tags dictionary | Словарь, представляющий теги, которые необходимо применить к ресурсу. Если параметр tags не задан, теги не будут изменены. |
validate_certs boolean | При установке в Настройка validate_certs=false настоятельно не рекомендуется. В качестве альтернативы, можно настроить aws_ca_bundle. Варианты:
|
vpc_id string | ID VPC запрашиваемой VPC. Требуется, когда состояние равно present. |
Примечания
Примечание
- Поддержка purge_tags была добавлена в релизе 4.0.0.
- Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не «контроллер». Поэтому файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и соединения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте Ansible «хост» (обычно
~/.aws/credentials). Дополнительную информацию см. в https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
# 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"
community.aws.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]
- [205, 'tcp', 'allow', '::/0', null, null, 80, 80]
- [300, 'icmp', 'allow', '0.0.0.0/0', 0, 8]
- [305, 'ipv6-icmp', 'allow', '::/0', 0, 8]
egress:
- [100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]
- [105, 'all', 'allow', '::/0', null, null, null, null]
state: 'present'
- name: "Remove the ingress and egress rules - defaults to deny all"
community.aws.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"
community.aws.ec2_vpc_nacl:
vpc_id: 'vpc-12345678'
name: prod-dmz-nacl
region: ap-southeast-2
state: present
- name: "Delete nacl and subnet associations"
community.aws.ec2_vpc_nacl:
vpc_id: vpc-12345678
name: prod-dmz-nacl
state: absent
- name: "Delete nacl by its id"
community.aws.ec2_vpc_nacl:
nacl_id: acl-33b4ee5b
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для этого модуля:
Ключ | Описание |
|---|---|
nacl_id string | ID NACL (при создании или обновлении ACL) Возвращается: успех Пример: |
task dictionary | Результат действия создания или удаления. Возвращается: успех |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/ec2_vpc_nacl_module.html