Модуль openstack.cloud.security_group_rule — Управление правилами группы безопасности в сети OpenStack (Neutron)
Примечание
Этот модуль является частью коллекции openstack.cloud (версия 2.2.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля необходимы дополнительные требования. Подробнее см. Требования.
Для использования в playbook укажите: openstack.cloud.security_group_rule.
Описание
- Добавление или удаление правила группы безопасности в/из службу сети OpenStack (Neutron).
- Используйте security_group_rules в openstack.cloud.security_group для определения набора правил группы безопасности. Это будет намного быстрее, чем использование этого модуля при создании или удалении нескольких правил группы безопасности, так как последний будет выполнять отдельные вызовы API сети OpenStack (Neutron) для каждого правила группы безопасности.
Требования
Ниже приведены требования, которые необходимы на хосте, выполняющем этот модуль.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
api_timeout целое число | Сколько времени должен ждать уровень сокета перед истечением времени ожидания для вызовов API. Если это опущено, ничего не будет передано в библиотеку запросов. |
auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии плагина авторизации облака. Для плагина по умолчанию password, он должен содержать auth_url, username, password, project_name и любую информацию о доменных зонах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать любые параметры, необходимые этому плагину авторизации. Этот параметр не требуется, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. |
auth_type строка | Название плагина авторизации для использования. Если облако использует что-то отличное от парольной аутентификации, имя плагина должно быть указано здесь, а содержимое параметра auth должно быть соответствующим образом обновлено. |
ca_cert псевдонимы: cacert строка | Путь к пакету сертификатов CA, который можно использовать для проверки запросов SSL API. |
client_cert псевдонимы: cert строка | Путь к клиенту сертификату для использования в рамках транзакции SSL. |
client_key псевдонимы: key строка | Путь к клиенту ключу для использования в рамках транзакции SSL. |
cloud любой | Именованное облако или конфигурация облака для работы с ним. Если cloud является строкой, она ссылается на именованную конфигурацию облака, определенную в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не требуется, если предоставлен auth или присутствуют переменные окружения OpenStack OS_* . Если cloud является словарем, он содержит полную конфигурацию облака, как в разделе clouds.yaml. |
description строка | Описание правила группы безопасности. |
direction строка | Направление, в котором применяется правило группы безопасности. Не все поставщики поддерживают Варианты:
|
ether_type псевдонимы: ethertype строка | Должно быть IPv4 или IPv6, и адреса, представленные в CIDR, должны соответствовать правилам входа или выхода. Не все поставщики поддерживают IPv6. Варианты:
|
interface псевдонимы: endpoint_type строка | Тип URL конечной точки для извлечения из каталога служб. Варианты:
|
port_range_max целое число | Максимальный номер порта в диапазоне, соответствующий правилу группы безопасности. Если протокол TCP, UDP, DCCP, SCTP или UDP-Lite, это значение должно быть больше или равно значению атрибута port_range_min. Если протокол ICMP, это значение должно быть кодом ICMP. |
port_range_min целое число | Минимальный номер порта в диапазоне, соответствующий правилу группы безопасности. Если протокол TCP, UDP, DCCP, SCTP или UDP-Lite, это значение должно быть меньше или равно значению атрибута port_range_max. Если протокол ICMP, это значение должно быть типом ICMP. |
project строка | Уникальное имя или ID проекта. |
protocol строка | Протокол IP может быть представлен строкой, целым числом или null. Допустимые строковые или целочисленные значения: Кроме того, любое целое число от Строка any (или целое число 0) означает все протоколы IP. См. константы в neutron_lib.constants для самого актуального списка поддерживаемых строк. |
region_name string | Имя региона. |
remote_group string | Имя или идентификатор группы безопасности для связи. Взаимоисключающее с remote_ip_prefix. |
remote_ip_prefix string | Адрес(ы) источника IP-адреса в CIDR-нотации. Когда маска сети, например Взаимоисключающее с remote_group. |
sdk_log_level string | Уровень ведения журнала OpenStackSDK Варианты:
|
sdk_log_path string | Путь к файлу журнала OpenStackSDK. Если пусто, журнал не записывается |
security_group string / обязательно | Имя или идентификатор группы безопасности. |
state string | Ресурс должен быть присутствующим или отсутствующим. Варианты:
|
timeout integer | Сколько времени Ansible должно ждать запрашиваемого ресурса. По умолчанию: |
validate_certs aliases: verify boolean | Должны ли проверяться запросы API SSL. До Ansible 2.3 значение по умолчанию было Варианты:
|
wait boolean | Должен ли Ansible ждать завершения запрошенного ресурса. Варианты:
|
Примечания
Примечание
- Можно использовать стандартные переменные окружения OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут поступать из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных окружения, и, наконец, из явных параметров в задачах. Дополнительную информацию можно найти на https://docs.openstack.org/openstacksdk/
Примеры
- name: Create a security group rule
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
port_range_min: 80
port_range_max: 80
remote_ip_prefix: 0.0.0.0/0
- name: Create a security group rule for ping
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
remote_ip_prefix: 0.0.0.0/0
- name: Another way to create the ping rule
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
port_range_min: -1
port_range_max: -1
remote_ip_prefix: 0.0.0.0/0
- name: Create a TCP rule covering all ports
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
port_range_min: 1
port_range_max: 65535
remote_ip_prefix: 0.0.0.0/0
- name: Another way to create the TCP rule above (defaults to all ports)
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
remote_ip_prefix: 0.0.0.0/0
- name: Create a rule for VRRP with numbered protocol 112
openstack.cloud.security_group_rule:
security_group: loadbalancer_sg
protocol: 112
remote_group: loadbalancer-node_sg
- name: Create a security group rule for a given project
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
remote_ip_prefix: 0.0.0.0/0
project: myproj
- name: Remove the default created egress rule for IPv4
openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: any
remote_ip_prefix: 0.0.0.0/0
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
rule dictionary | Словарь, описывающий правило группы безопасности Возвращается: При успехе, когда state — |
|
created_at string |
Метка времени создания ресурса Возвращается: успех |
|
description string |
Описание ресурса Возвращается: успех |
|
direction string |
Направление применения правила группы безопасности. Возвращается: успех Пример: |
|
ether_type string |
IPv4 или IPv6 Возвращается: успех |
|
id string |
Уникальный UUID правила. Возвращается: успех |
|
name string |
Имя ресурса. Возвращается: успех |
|
port_range_max integer |
Максимальный номер порта в диапазоне, соответствующем правилу группы безопасности. Возвращается: успех Пример: |
|
port_range_min integer |
Минимальный номер порта в диапазоне, соответствующем правилу группы безопасности. Возвращается: успех Пример: |
|
project_id string |
ID проекта, которому принадлежит ресурс. Возвращается: успех |
|
protocol string |
Протокол, соответствующий правилу группы безопасности. Возвращается: успех Пример: |
|
remote_address_group_id string |
ID удалённой группы адресов, которая должна быть связана с этим правилом группы безопасности. Возвращается: успех Пример: |
|
remote_group_id string |
ID удалённой группы безопасности, которая должна быть связана с этим правилом группы безопасности. Возвращается: успех Пример: |
|
remote_ip_prefix string |
Префикс удалённого IP-адреса, который должен быть связан с этим правилом группы безопасности. Возвращается: успех Пример: |
|
revision_number integer |
Номер ревизии Возвращается: успех Пример: |
|
security_group_id string |
ID группы безопасности, который должен быть связан с этим правилом группы безопасности. Возвращается: успех |
|
tags list / elements=string |
Теги, связанные с ресурсом. Возвращается: успех |
|
tenant_id string |
ID проекта, которому принадлежит ресурс. Устарело. Возвращается: успех |
|
updated_at string |
Метка времени последнего обновления правила группы безопасности. Возвращается: успех |
Справочные ссылки
© 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/openstack/cloud/security_group_rule_module.html