Spec-Zone.ru › Ansible 2.6

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

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

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Описание

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

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 2.7
  • azure >= 2.0.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ad_user
Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с принципалом службы.
adfs_authority_url
(добавлено в 2.6)
Значение по умолчанию:
null
URL-адрес авторизации Azure AD. Используется при аутентификации с именем пользователя/паролем и собственной службой ADFS.
api_profile
(добавлено в 2.5)
Значение по умолчанию:
"latest"
Выбирает профиль API для использования при взаимодействии с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack.
append_tags
bool
    Варианты:
  • no
  • да ←
Управление тем, является ли поле тегов каноническим или просто добавляется к существующим тегам. При каноническом поле любые теги, не найденные в параметре тегов, будут удалены из метаданных объекта.
auth_source
(добавлено в 2.5)
    Варианты:
  • auto
  • cli
  • credential_file
  • env
  • msi
Управление источником учетных данных для аутентификации.
Если не указано, используется переменная среды ANSIBLE_AZURE_AUTH_SOURCE и по умолчанию равна auto если переменная не определена.
auto будет следовать стандартному приоритету параметров модуля -> переменные среды -> профиль по умолчанию в файле учетных данных ~/.azure/credentials.
При установке в cli, учетные данные будут взяты из профиля Azure CLI по умолчанию.
Также можно установить через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.
При установке в msi, хост-машина должна быть Azure-ресурсом с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут быть использованы для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, в противном случае выбирается первая подписка.
msi было добавлено в Ansible 2.6.
cert_validation_mode
(добавлено в 2.5)
    Варианты:
  • validate
  • ignore
Управление поведением проверки сертификата для Azure-точек входа. По умолчанию все модули проверяют сертификат сервера, но при использовании HTTPS-прокси или обращении к Azure Stack может потребоваться отключить это поведение, передав ignore. Можно также установить через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION.
client_id
Идентификатор клиента Azure. Используется при аутентификации с принципалом службы.
cloud_environment
(добавлено в 2.4)
Значение по умолчанию:
"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
bool
    Варианты:
  • нет ←
  • да
Удаление любых существующих правил, не соответствующих правилам, определённым в параметре default_rules.
purge_rules
bool
    Варианты:
  • нет ←
  • да
Удаление любых существующих правил, не соответствующих параметрам правил.
resource_group
обязательно
Имя группы ресурсов, к которой принадлежит группа безопасности.
rules
Набор правил, формирующих поток трафика в или из подсети или сетевого интерфейса. Каждое правило — словарь.
name
обязательно
Уникальное имя правила.
description
Краткое описание цели правила.
protocol
    Варианты:
  • Udp
  • Tcp
  • * ←
Поддерживаемый протокол трафика.
source_port_range Значение по умолчанию:
"*"
Порт или диапазон портов, откуда исходит трафик.
Может принимать строковый тип или список строковых типов.
destination_port_range Значение по умолчанию:
"*"
Порт или диапазон портов, куда направляется трафик.
Может принимать строковый тип или список строковых типов.
source_address_prefix Значение по умолчанию:
"*"
Префикс CIDR или диапазон исходных IP-адресов.
Звёздочка * также может использоваться для соответствия всем исходным IP-адресам.
Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.
Если это правило входа, указывает, откуда исходит сетевой трафик.
Может принимать строковый тип или список строковых типов.
destination_address_prefix Значение по умолчанию:
"*"
Префикс назначения адреса.
CIDR или диапазон назначения IP-адресов.
Звёздочка * также может использоваться для соответствия всем исходным IP-адресам.
Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.
Может принимать строковый тип или список строковых типов.
access
    Варианты:
  • Разрешить ←
  • Запретить
Разрешить ли поток трафика.
priority
обязательно
Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно.
direction
    Варианты:
  • Входящий ←
  • Исходящий
Указывает направление потока трафика.
secret
Секрет клиента Azure. Используется при аутентификации с принципалом службы.
state
    Варианты:
  • absent
  • present ←
Утвердить состояние группы безопасности. Установите в 'present', чтобы создать или обновить группу безопасности. Установите в 'absent', чтобы удалить группу безопасности.
subscription_id
Идентификатор вашей подписки Azure.
tags
Словарь пар «строка:строка» для назначения метаданных объекту. Метаданные-теги объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в значение false.
tenant
Идентификатор Azure-аренды. Используется при аутентификации с принципалом службы.

Примечания

Примечание

  • Для аутентификации с 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. Также можно добавить дополнительные профили. Укажите профиль, передав profile или установив AZURE_PROFILE в среде.

Примеры

# 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'
              - '174.109.159.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

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
state
dict
всегда
Текущее состояние группы безопасности.

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


Статус

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

Техническое обслуживание

Этот модуль помечен как сертифицированный, что означает, что он поддерживается партнером Ansible. Более подробную информацию см. в Техническом обслуживании и поддержке модулей.

Список других модулей, также поддерживаемых партнерами Ansible, см. здесь.

Автор

  • Chris Houseknecht (@chouseknecht)
  • Matt Davis (@nitzmahone)

Подсказка

Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 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/azure_rm_securitygroup_module.html

Spec-Zone.ru

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