Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в коллекцию azure.azcollection (версия 1.4.0).

Для его установки используйте: ansible-galaxy collection install azure.azcollection.

Для использования в playbook, укажите: azure.azcollection.azure_rm_securitygroup.

Новое в версии 0.1.0: из azure.azcollection

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Значения возврата

Обзор

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

Требования

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

  • python >= 2.7
  • azure >= 2.0.0

Параметры

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

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, установить переменные среды, использовать профиль, сохранённый в ~/.azure/credentials, или войти в систему перед выполнением задач или плейбука с помощью az login.
  • Аутентификация также возможна с помощью принципала службы или пользователя 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 в среде.

См. также

См. также

Вход в Azure CLI

Как войти в систему, используя команду az login.

Примеры

# Create a security group
- azure_rm_securitygroup:
      resource_group: myResourceGroup
      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: myResourceGroup
      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

# Create a securiy group with I(protocol=Icmp)
- azure_rm_securitygroup:
    name: mysecgroup
    resource_group: myResourceGroup
    rules:
      - name: SSH
        protocol: Tcp
        destination_port_range: 22
        access: Allow
        priority: 105
        direction: Inbound
      - name: ICMP
        protocol: Icmp
        priority: 106

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

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

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

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

default_rules
list / elements=string
всегда
Стандартные правила группы безопасности сети.

Пример:
[{'access': 'Allow', 'description': 'Разрешить входящий трафик от всех ВМ в VNET', 'destination_address_prefix': 'VirtualNetwork', 'destination_port_range': '*', 'direction': 'Inbound', 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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', 'destination_address_prefix': '*', 'destination_port_range': '*', 'direction': 'Inbound', 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/DenyAllOutBound', 'name': 'DenyAllOutBound', 'priority': 65500, 'protocol': '*', 'provisioning_state': 'Succeeded', 'source_address_prefix': '*', 'source_port_range': '*'}]
id
string
всегда
Идентификатор ресурса.

Пример:
/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mysecgroup
location
string
всегда
Расположение ресурса.

Пример:
westus
name
string
всегда
Имя группы безопасности.

Пример:
mysecgroup
network_interfaces
list / elements=string
всегда
Коллекция ссылок на сетевые интерфейсы.

rules
list / elements=string
всегда
Коллекция правил безопасности группы безопасности сети.

Пример:
[{'access': 'Deny', 'description': None, 'destination_address_prefix': '*', 'destination_port_range': '22', 'direction': 'Inbound', 'etag': 'W/"edf48d56-b315-40ca-a85d-dbcb47f2da7d"', 'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/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
list / elements=string
всегда
Коллекция ссылок на подсети.

tags
dictionary
всегда
Теги для назначения группе безопасности.

Пример:
{'delete': 'on-exit', 'foo': 'bar', 'testing': 'testing'}
type
string
всегда
Тип ресурса.

Пример:
Microsoft.Network/networkSecurityGroups


Авторы

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

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

Spec-Zone.ru

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