Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 2.7.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

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

Добавлена в azure.azcollection 0.1.0

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

Обзор

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

Требования

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

  • python >= 2.7
  • На хосте, на котором выполняется этот модуль, должна быть установлена коллекция azure.azcollection через galaxy.
  • Все пакеты Python, перечисленные в файле requirements.txt коллекции, должны быть установлены с помощью pip на хосте, на котором выполняются модули из azure.azcollection.
  • Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

ad_user

string

Имя пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с субъектом безопасности.

adfs_authority_url

string

added in azure.azcollection 0.0.1

URL-адрес узла проверки подлинности Azure AD. Используйте при аутентификации с помощью имени пользователя/пароля и имеете собственный узел проверки подлинности ADFS.

api_profile

string

added in azure.azcollection 0.0.1

Выбирает профиль API для использования при взаимодействии с службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack.

Default: "latest"

append_tags

boolean

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

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

Choices:

  • false
  • true ← (default)

auth_source

string

added in azure.azcollection 0.0.1

Управляет источником учетных данных, используемых для аутентификации.

Также может быть установлена ​​через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.

При установке в auto (по умолчанию) приоритет имеет параметры модуля -> env -> credential_file -> cli.

При установке в env, учетные данные будут считываться из переменных среды

При установке в credential_file, он будет считывать профиль из ~/.azure/credentials.

При установке в cli, учетные данные будут получены из профиля Azure CLI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если присутствует более одной, в противном случае используется подписка az cli по умолчанию.

При установке в msi, хост-машина должна быть ресурсом Azure с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если ресурс имеет доступ к более чем одной подписке, в противном случае выбирается первая подписка.

msi был добавлен в Ansible 2.6.

Choices:

  • "auto" ← (default)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

cert_validation_mode

string

added in azure.azcollection 0.0.1

Управляет поведением проверки сертификата для конечных точек Azure. По умолчанию все модули будут проверять серверный сертификат, но при использовании прокси-сервера HTTPS или в Azure Stack может потребоваться отключить это поведение, передав ignore. Также может быть установлено через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION.

Choices:

  • "ignore"
  • "validate"

client_id

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта безопасности или управляемой идентичности (msi).

Также может быть установлена ​​через переменную среды AZURE_CLIENT_ID.

cloud_environment

string

added in azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment), или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также может быть установлено через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT.

Default: "AzureCloud"

default_rules

list / elements=dictionary

Набор правил по умолчанию, автоматически добавляемых в группу безопасности при создании.

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

См. правила ниже для составления словаря правил.

access

string

Разрешать или нет поток трафика.

Choices:

  • "Allow" ← (default)
  • "Deny"

description

string

Краткое описание цели правила.

destination_address_prefix

any

Префикс целевого адреса.

CIDR или диапазон целевых IP-адресов.

Звездочка * также может использоваться для сопоставления всех исходных IP-адресов.

Также могут использоваться теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.

Он может принимать строковый тип или список строковых типов.

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

Default: "*"

destination_application_security_groups

list / elements=any

Список целевых групп безопасности приложений.

Это может быть список идентификаторов ресурсов.

Это может быть список имен в одной группе ресурсов.

Это может быть список словарей, содержащих resource_group и name.

Он взаимоисключает destination_address_prefix и destination_address_prefixes.

destination_port_range

any

Порт или диапазон портов, на которые направляется трафик.

Он может принимать строковый тип или список строковых типов.

Default: "*"

direction

string

Указывает направление потока трафика.

Варианты:

  • "Inbound" ← (по умолчанию)
  • "Outbound"

name

string / обязательно

Уникальное имя правила.

priority

целое число / обязательно

Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно.

protocol

строка

Поддерживаемый протокол трафика.

Варианты:

  • "Udp"
  • "UDP"
  • "Tcp"
  • "TCP"
  • "Icmp"
  • "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

любой

Порт или диапазон портов, из которых исходит трафик.

Может принимать строковый тип или список строкового типа.

По умолчанию: "*"

disable_instance_discovery

логический

добавлен в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляра при попытке аутентификации. Установка этого значения в true полностью отключит как обнаружение экземпляра, так и валидацию авторизации. Эта функция предназначена для использования в сценариях, когда метаданные конечной точки недоступны, например, в частных облаках или Azure Stack. Процесс обнаружения экземпляра подразумевает получение метаданных авторизации с https://login.microsoft.com/ для проверки авторизации. Установив это значение в **True**, отключается проверка авторизации. В результате крайне важно убедиться, что указанный хост авторизации действителен и надежен.

Устанавливается через профиль файла учетных данных или переменную окружения AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

  • false ← (по умолчанию)
  • true

location

строка

Действительное расположение Azure. По умолчанию используется расположение группы ресурсов.

log_mode

строка

Родительский аргумент.

log_path

строка

Родительский аргумент.

name

строка / обязательно

Имя группы безопасности, с которой нужно работать.

password

строка

Пароль пользователя Active Directory. Используется при аутентификации пользователем Active Directory, а не принципалом службы.

profile

строка

Профиль безопасности, найденный в файле ~/.azure/credentials.

purge_default_rules

логический

Удаление любых существующих правил, не соответствующих правилам, определённым в параметре default_rules.

Варианты:

  • false ← (по умолчанию)
  • true

purge_rules

логический

Удаление любых существующих правил, не соответствующих правилам, определённым в параметрах rules.

Варианты:

  • false ← (по умолчанию)
  • true

resource_group

строка / обязательно

Имя группы ресурсов, к которой принадлежит группа безопасности.

rules

список / элементы=словарь

Набор правил, формирующих поток трафика к подсети или сетевой интерфейс. Каждое правило — это словарь.

END_OF_DOCUMENT_MARKER

доступ

строка

Разрешить или запретить поток трафика.

Выборы:

  • "Allow" ← (по умолчанию)
  • "Deny"

описание

строка

Краткое описание цели правила.

префикс_адреса_назначения

любой

Префикс адреса назначения.

Диапазон CIDR или адресов назначения.

Звездочка * также может использоваться для соответствия всем исходным IP-адресам.

Можно также использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.

Может принимать строковый тип или список строковых типов.

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

По умолчанию: "*"

группы_приложений_назначения

список / элементы=любой

Список групп приложений назначения.

Это может быть список идентификаторов ресурсов.

Это может быть список имен в той же группе ресурсов.

Это может быть список словарей, содержащих группа_ресурсов и имя.

Это взаимоисключающее с destination_address_prefix и destination_address_prefixes.

диапазон_портов_назначения

любой

Порт или диапазон портов, на которые направлен трафик.

Может принимать строковый тип или список строковых типов.

По умолчанию: "*"

направление

строка

Указывает направление потока трафика.

Выборы:

  • "Inbound" ← (по умолчанию)
  • "Outbound"

имя

строка / обязательно

Уникальное имя правила.

приоритет

целое число / обязательно

Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно.

протокол

строка

Поддерживаемый протокол трафика.

Выборы:

  • "Udp"
  • "UDP"
  • "Tcp"
  • "TCP"
  • "Icmp"
  • "ICMP"
  • "*" ← (по умолчанию)

префикс_адреса_источника

любой

Диапазон CIDR или исходных IP-адресов.

Звездочка * также может использоваться для соответствия всем исходным IP-адресам.

Можно также использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.

Если это правило входящего трафика, указывает, откуда исходит сетевой трафик.

Может принимать строковый тип или список строковых типов.

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

По умолчанию: "*"

источниковые_группы_приложений

список / элементы=любой

Список групп приложений источника.

Это может быть список идентификаторов ресурсов.

Это может быть список имен в той же группе ресурсов.

Это может быть список словарей, содержащих группа_ресурсов и имя.

Это взаимоисключающее с source_address_prefix и source_address_prefixes.

диапазон_портов_источника

любой

Порт или диапазон портов, откуда исходит трафик.

Может принимать строковый тип или список строковых типов.

По умолчанию: "*"

секрет

строка

Секрет Azure-клиента. Используется при аутентификации с помощью Служебного принципала.

состояние

строка

Утверждение состояния группы безопасности. Установите в present для создания или обновления группы безопасности. Установите в absent для удаления группы безопасности.

Выборы:

  • "absent"
  • "present" ← (по умолчанию)

идентификатор_подписки

строка

Ваш идентификатор подписки Azure.

метки

словарь

Словарь пар «строка:строка» для назначения метаданных объекту.

Метаданные теги объекта будут обновлены любыми предоставленными значениями.

Для удаления тегов установите параметр append_tags в значение false.

В настоящее время Azure DNS зоны и службы Traffic Manager также не позволяют использовать пробелы в теге.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают только 15 тегов для ресурсов.

арендатор

строка

Идентификатор Azure-арендатора. Используется при аутентификации с помощью Служебного принципала.

Отпечаток пальца

строка

добавлено в azure.azcollection 1.14.0

Отпечаток пальца закрытого ключа, указанного в x509_certificate_path.

Используется при аутентификации с помощью Служебного принципала.

Требуется, если определён параметр x509_certificate_path.

путь_к_сертификату_x509

путь

добавлено в azure.azcollection 1.14.0

Путь к сертификату X509, используемому для создания служебного принципала в формате PEM.

Сертификат должен быть приложен к закрытому ключу.

Используется при аутентификации с помощью Служебного принципала.

Примечания

Примечание

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

Примеры

- name: Create a security group
  azure_rm_securitygroup:
    resource_group: myResourceGroup
    name: mysecgroup
    purge_rules: true
    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

- name: 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

- name: 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

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

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

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

Ключ

Описание

состояние

сложное

Текущее состояние группы безопасности.

Возвращается: всегда

default_rules

список / элементы=строка

Стандартные правила безопасности группы безопасности сети.

Возвращается: всегда

Пример: [{"access": "Allow", "description": "Allow inbound traffic from all VMs in 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": "Allow inbound traffic from azure load balancer", "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": "Deny all inbound traffic", "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": "Allow outbound traffic from all VMs to all VMs in 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": "Allow outbound traffic from all VMs to Internet", "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": "Deny all outbound traffic", "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

строка

Идентификатор ресурса.

Возвращается: всегда

Пример: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mysecgroup"

местоположение

строка

Расположение ресурса.

Возвращается: всегда

Пример: "westus"

имя

строка

Имя группы безопасности.

Возвращается: всегда

Пример: "mysecgroup"

сетевые_интерфейсы

список / элементы=строка

Коллекция ссылок на сетевые интерфейсы.

Возвращается: всегда

Пример: []

правила

список / элементы=строка

Коллекция правил безопасности группы безопасности сети.

Возвращается: всегда

Пример: [{"access": "Deny", "description": null, "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": null, "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": "*"}]

подсети

список / элементы=строка

Коллекция ссылок на подсети.

Возвращается: всегда

Пример: []

метки

словарь

Метки для назначения группе безопасности.

Возвращается: всегда

Пример: {"delete": "on-exit", "foo": "bar", "testing": "testing"}

тип

строка

Тип ресурса.

Возвращается: всегда

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

Авторы

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

Ссылки на коллекцию

  • Отслеживание ошибок
  • Домашняя страница
  • Репозиторий (источники)

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

Spec-Zone.ru

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