Spec-Zone.ru › Ansible 2.7

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
boolean
    Варианты:
  • 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
boolean
    Варианты:
  • нет ←
  • да
Удалить все существующие правила, не соответствующие параметру default_rules.
purge_rules
boolean
    Варианты:
  • нет ←
  • да
Удалить все существующие правила, не соответствующие параметрам правил.
resource_group
- / обязательно
Имя группы ресурсов, к которой принадлежит группа безопасности.
rules
-
Набор правил, определяющих поток трафика в подсеть или сетевой интерфейс. Каждое правило — словарь.
access
-
    Варианты:
  • Разрешить ←
  • Запретить
Разрешить или запретить поток трафика.
description
-
Краткое описание цели правила.
destination_address_prefix
-
Значение по умолчанию:
"*"
Префикс адреса назначения.
CIDR или диапазон адресов назначения.
Звездочка * также может использоваться для соответствия всем IP-адресам источника.
Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.
Может принимать строковый тип или список строковых типов.
destination_port_range
-
Значение по умолчанию:
"*"
Порт или диапазон портов, для которых предназначен трафик.
Может принимать строковый тип или список строковых типов.
direction
-
    Варианты:
  • Входящий ←
  • Исходящий
Указывает направление потока трафика.
name
- / обязательно
Уникальное имя для правила.
priority
- / обязательно
Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно.
protocol
-
    Варианты:
  • Udp
  • Tcp
  • * ←
Принимаемый протокол трафика.
source_address_prefix
-
Значение по умолчанию:
"*"
CIDR или диапазон адресов источника.
Звездочка * также может использоваться для соответствия всем IP-адресам источника.
Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.
Если это правило входящего трафика, указывает, откуда происходит сетевой трафик.
Может принимать строковый тип или список строковых типов.
source_port_range
-
Значение по умолчанию:
"*"
Порт или диапазон портов, из которого исходит трафик.
Может принимать строковый тип или список строковых типов.
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
          - name: 'AllowMultiplePorts'
            protocol: Tcp
            source_address_prefix:
              - '174.109.158.0/24'
              - '174.109.159.0/24'
            destination_port_range:
              - 80
              - 443
            access: Allow
            priority: 102

# 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
словарь
всегда
Текущее состояние группы безопасности.

Пример:
{'default_rules': [{'access': 'Разрешить', 'description': 'Разрешить входящий трафик со всех виртуальных машин в VNET', 'destination_address_prefix': 'VirtualNetwork', 'destination_port_range': '*', 'direction': 'Входящий', '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': 'Успешно', 'source_address_prefix': 'VirtualNetwork', 'source_port_range': '*'}, {'access': 'Разрешить', 'description': 'Разрешить входящий трафик с балансировщика нагрузки Azure', 'destination_address_prefix': '*', 'destination_port_range': '*', 'direction': 'Входящий', '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': 'Успешно', 'source_address_prefix': 'AzureLoadBalancer', 'source_port_range': '*'}, {'access': 'Запретить', 'description': 'Запретить весь входящий трафик', 'destination_address_prefix': '*', 'destination_port_range': '*', 'direction': 'Входящий', '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': 'Успешно', 'source_address_prefix': '*', 'source_port_range': '*'}, {'access': 'Разрешить', 'description': 'Разрешить исходящий трафик со всех виртуальных машин всем виртуальным машинам в VNET', 'destination_address_prefix': 'VirtualNetwork', 'destination_port_range': '*', 'direction': 'Исходящий', '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': 'Успешно', 'source_address_prefix': 'VirtualNetwork', 'source_port_range': '*'}, {'access': 'Разрешить', 'description': 'Разрешить исходящий трафик со всех виртуальных машин в Интернет', 'destination_address_prefix': 'Интернет', 'destination_port_range': '*', 'direction': 'Исходящий', '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': 'Успешно', 'source_address_prefix': '*', 'source_port_range': '*'}, {'access': 'Запретить', 'description': 'Запретить весь исходящий трафик', 'destination_address_prefix': '*', 'destination_port_range': '*', 'direction': 'Исходящий', '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': 'Успешно', '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': 'Запретить', 'description': None, 'destination_address_prefix': '*', 'destination_port_range': '22', 'direction': 'Входящий', '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': 'Успешно', 'source_address_prefix': '*', 'source_port_range': '*'}, {'access': 'Разрешить', 'description': None, 'destination_address_prefix': '*', 'destination_port_range': '22', 'direction': 'Входящий', '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': 'Успешно', 'source_address_prefix': '174.109.158.0/24', 'source_port_range': '*'}], 'subnets': [], 'tags': {'delete': 'при выходе', 'foo': 'bar', 'testing': 'тестирование'}, 'type': 'Microsoft.Network/networkSecurityGroups'}


Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [бета]
  • Этот модуль поддерживается партнером 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.7/modules/azure_rm_securitygroup_module.html

Spec-Zone.ru

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