Spec-Zone.ru › Ansible 2.4

azure_rm_securitygroup — Управление группами безопасности Azure.

Новая в версии 2.1.

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Значения возврата
  • Примечания
    • Статус

Обзор

  • Создание, обновление или удаление группы безопасности сети. Группа безопасности содержит правила списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик для подсетей или отдельных сетевых интерфейсов. Группа безопасности создается с набором правил по умолчанию и пустым набором правил безопасности. Направляйте поток трафика, добавляя правила к пустому набору правил безопасности.

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.7
  • azure >= 2.0.0

Параметры

параметр обязательно значение по умолчанию выбор комментарии
ad_user
нет
Имя пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы.
append_tags
нет True
Указывает, будет ли поле тегов каноничным или просто добавляться к существующим тегам. При каноничном режиме любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта.
client_id
нет
Идентификатор клиента Azure. Используйте при аутентификации с принципалом службы.
cloud_environment
нет AzureCloud
Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment), или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также может быть задан в файле профиля учетных данных или переменной среды AZURE_CLOUD_ENVIRONMENT.
default_rules
нет
Набор правил по умолчанию, автоматически добавляемых в группу безопасности при создании. Как правило, правила по умолчанию не изменяются. Изменяйте правила, чтобы настроить поток трафика в подсеть или сетевой интерфейс. См. ниже правила для составления словаря правил.
location
нет местоположение группы ресурсов
Допустимое местоположение Azure. По умолчанию — местоположение группы ресурсов.
name
нет
Имя группы безопасности для обработки.
password
нет
Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы.
profile
нет
Профиль безопасности, найденный в файле ~/.azure/credentials.
purge_default_rules
нет
Удалить любые существующие правила, не соответствующие правилам, определенным в параметре default_rules.
purge_rules
нет
Удалить любые существующие правила, не соответствующие правилам, определенным в параметрах правил.
resource_group
да
Имя группы ресурсов, к которой принадлежит группа безопасности.
rules
нет
Набор правил, определяющих поток трафика в подсеть или сетевой интерфейс. Каждое правило — словарь.
Словарь объекта rules
параметр обязательно значение по умолчанию выбор комментарии
source_address_prefix
нет *
IP-адрес или CIDR, откуда исходит трафик.
destination_address_prefix
нет *
IP-адрес или CIDR, куда направлен трафик.
protocol
нет *
  • Udp
  • Tcp
  • *
Принимаемый протокол трафика.
name
да
Уникальное имя правила.
description
нет
Краткое описание назначения правила.
direction
нет Inbound
  • Inbound
  • Outbound
Указывает направление потока трафика.
access
нет Allow
  • Allow
  • Deny
Разрешить или запретить поток трафика.
source_port_range
нет *
Порт или диапазон портов, откуда исходит трафик.
destination_port_range
нет *
Порт или диапазон портов, куда направлен трафик.
priority
да
Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно.
secret
нет
Секрет клиента Azure. Используйте при аутентификации с принципалом службы.
state
нет present
  • absent
  • present
Утвердить состояние группы безопасности. Установите значение «present», чтобы создать или обновить группу безопасности. Установите значение «absent», чтобы удалить группу безопасности.
subscription_id
нет
Ваш идентификатор подписки Azure.
tags
нет
Словарь пар строка:строка для назначения в качестве метаданных объекту. Теги метаданных объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в значение false.
tenant
нет
Идентификатор Azure-аренды. Используйте при аутентификации с принципалом службы.

Примеры

# Create a security group
- azure_rm_securitygroup:
      resource_group: mygroup
      name: mysecgroup
      purge_rules: yes
      rules:
          - name: DenySSH
            protocol: TCP
            destination_port_range: 22
            access: Deny
            priority: 100
            direction: Inbound
          - name: 'AllowSSH'
            protocol: TCP
            source_address_prefix: '174.109.158.0/24'
            destination_port_range: 22
            access: Allow
            priority: 101
            direction: Inbound

# Update rules on existing security group
- azure_rm_securitygroup:
      resource_group: mygroup
      name: mysecgroup
      rules:
          - name: DenySSH
            protocol: TCP
            destination_port_range: 22-23
            access: Deny
            priority: 100
            direction: Inbound
          - name: AllowSSHFromHome
            protocol: TCP
            source_address_prefix: '174.109.158.0/24'
            destination_port_range: 22-23
            access: Allow
            priority: 102
            direction: Inbound
      tags:
          testing: testing
          delete: on-exit

# Delete security group
- azure_rm_securitygroup:
      resource_group: mygroup
      name: mysecgroup
      state: absent

Значения возврата

Общие значения возврата документированы здесь Значения возврата, следующие поля уникальны для данного модуля:

name description returned type sample
state
Текущее состояние группы безопасности.
всегда dict {'subnets': [], 'name': 'mysecgroup', 'tags': {'foo': 'bar', 'testing': 'testing', 'delete': 'on-exit'}, 'rules': [{'access': 'Deny', 'destination_address_prefix': '*', 'protocol': 'Tcp', 'description': None, 'direction': 'Inbound', 'provisioning_state': 'Succeeded', 'priority': 100, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': '*', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/securityRules/DenySSH', 'destination_port_range': '22', 'name': 'DenySSH'}, {'access': 'Allow', 'destination_address_prefix': '*', 'protocol': 'Tcp', 'description': None, 'direction': 'Inbound', 'provisioning_state': 'Succeeded', 'priority': 101, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': '174.109.158.0/24', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/securityRules/AllowSSH', 'destination_port_range': '22', 'name': 'AllowSSH'}], 'network_interfaces': [], 'default_rules': [{'access': 'Allow', 'destination_address_prefix': 'VirtualNetwork', 'protocol': '*', 'description': 'Разрешить входящий трафик со всех ВМ в VNET', 'direction': 'Inbound', 'provisioning_state': 'Succeeded', 'priority': 65000, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': 'VirtualNetwork', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/AllowVnetInBound', 'destination_port_range': '*', 'name': 'AllowVnetInBound'}, {'access': 'Allow', 'destination_address_prefix': '*', 'protocol': '*', 'description': 'Разрешить входящий трафик от балансировщика Azure', 'direction': 'Inbound', 'provisioning_state': 'Succeeded', 'priority': 65001, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': 'AzureLoadBalancer', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/AllowAzureLoadBalancerInBound', 'destination_port_range': '*', 'name': 'AllowAzureLoadBalancerInBound'}, {'access': 'Deny', 'destination_address_prefix': '*', 'protocol': '*', 'description': 'Запретить весь входящий трафик', 'direction': 'Inbound', 'provisioning_state': 'Succeeded', 'priority': 65500, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': '*', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/DenyAllInBound', 'destination_port_range': '*', 'name': 'DenyAllInBound'}, {'access': 'Allow', 'destination_address_prefix': 'VirtualNetwork', 'protocol': '*', 'description': 'Разрешить исходящий трафик со всех ВМ на все ВМ в VNET', 'direction': 'Outbound', 'provisioning_state': 'Succeeded', 'priority': 65000, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': 'VirtualNetwork', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/AllowVnetOutBound', 'destination_port_range': '*', 'name': 'AllowVnetOutBound'}, {'access': 'Allow', 'destination_address_prefix': 'Internet', 'protocol': '*', 'description': 'Разрешить исходящий трафик со всех ВМ в интернет', 'direction': 'Outbound', 'provisioning_state': 'Succeeded', 'priority': 65001, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': '*', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/AllowInternetOutBound', 'destination_port_range': '*', 'name': 'AllowInternetOutBound'}, {'access': 'Deny', 'destination_address_prefix': '*', 'protocol': '*', 'description': 'Запретить весь исходящий трафик', 'direction': 'Outbound', 'provisioning_state': 'Succeeded', 'priority': 65500, 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'source_port_range': '*', 'source_address_prefix': '*', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/DenyAllOutBound', 'destination_port_range': '*', 'name': 'DenyAllOutBound'}], 'location': 'westus', 'type': 'Microsoft.Network/networkSecurityGroups', 'id': '/subscriptions/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup'}

Примечания

Примечание

  • Для аутентификации с Azure можно передать параметры, установить переменные окружения или использовать профиль, сохраненный в ~/.azure/credentials. Аутентификация возможна с помощью служебного принципала или пользователя Active Directory. Для аутентификации через служебного принципала передайте subscription_id, client_id, secret и tenant или установите переменные окружения AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации через пользователя Active Directory передайте ad_user и password или установите AZURE_AD_USER и AZURE_PASSWORD в окружении.
  • В качестве альтернативы учетные данные можно сохранить в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant или subscription_id, ad_user и password. Также можно добавить дополнительные профили. Укажите профиль, передав профиль или установив AZURE_PROFILE в окружении.

Статус

Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость интерфейса.

Для получения помощи в разработке модулей, если вы так решили, пожалуйста, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/azure_rm_securitygroup_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API