azure_rm_securitygroup — Управление группами безопасности Azure.
Новая версия 2.1.
Описание
- Создаёт, обновляет или удаляет группу безопасности сети. Группа безопасности содержит правила списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик для подсетей или отдельных сетевых интерфейсов. Группа безопасности создаётся с набором правил безопасности по умолчанию и пустым набором правил безопасности. Направляйте сетевой трафик, добавляя правила в пустой набор правил безопасности.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.7
- azure >= 2.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| ad_user | По умолчанию: None | Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory вместо службы-принципала. | |
| api_profile (добавлено в 2.5) |
| Выбирает профиль API для использования при взаимодействии с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack. | |
| append_tags | По умолчанию: yes | Управляет тем, является ли поле тегов каноническим или просто добавляет к существующим тегам. При каноническом значении любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. | |
| auth_source (добавлено в 2.5) |
| Управляет источником учетных данных для аутентификации. auto будет следовать по умолчанию очередности параметров модуля -> переменных среды -> профиля по умолчанию в файле учетных данных ~/.azure/credentials.При установке в cli, учетные данные будут взяты из профиля Azure CLI по умолчанию.Также может быть установлено через переменную среды ANSIBLE_AZURE_AUTH_SOURCE. | |
| cert_validation_mode (добавлено в 2.5) |
None | Управляет поведением проверки сертификатов для Azure-узлов. По умолчанию все модули проверяют серверный сертификат, но при использовании прокси HTTPS или работе с Azure Stack может потребоваться отключить это поведение, передав ignore. Также может быть установлено через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION. | |
| client_id | По умолчанию: None | Идентификатор клиента Azure. Используется при аутентификации с помощью службы-принципала. | |
| cloud_environment (добавлено в 2.4) | По умолчанию: AzureCloud | Для облачных сред, отличных от общедоступного облака США, используется имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес точки обнаружения метаданных (требуется для Azure Stack). Также может быть установлено через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT. | |
| default_rules | По умолчанию: None | Набор правил по умолчанию, автоматически добавляемых в группу безопасности при создании. Как правило, правила по умолчанию не будут изменены. Изменяйте правила, чтобы настроить поток трафика в подсеть или сетевой адаптер. См. правила ниже для структуры словаря правил. | |
| location | По умолчанию: местоположение ресурсной группы | Действительное местоположение Azure. По умолчанию совпадает с местоположением ресурсной группы. | |
| name | По умолчанию: None | Имя группы безопасности для обработки. | |
| password | По умолчанию: None | Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory вместо службы-принципала. | |
| profile | По умолчанию: None | Профиль безопасности, найденный в файле ~/.azure/credentials. | |
| purge_default_rules | По умолчанию: no | Удаляет любые существующие правила, не соответствующие правилам, определённым в параметре default_rules. | |
| purge_rules | По умолчанию: no | Удаляет любые существующие правила, не соответствующие правилам, определённым в параметрах rules. | |
| resource_group обязательно | Имя ресурсной группы, к которой принадлежит группа безопасности. | ||
| rules | По умолчанию: None | Набор правил, определяющих поток трафика в подсеть или сетевой адаптер. Каждое правило — словарь. | |
| source_address_prefix | По умолчанию: * | CIDR или диапазон исходных IP-адресов. Знак звёздочки * также может использоваться для сопоставления всех исходных IP-адресов.Также могут использоваться теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.Если это правило входящего трафика, указывает источник сетевого трафика. | |
| destination_address_prefix | По умолчанию: * | Префикс адреса назначения. CIDR или диапазон IP-адресов назначения. Знак звёздочки * также может использоваться для сопоставления всех исходных IP-адресов.Также могут использоваться теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet. | |
| protocol |
| Поддерживаемый протокол трафика. | |
| name обязательно | Уникальное имя правила. | ||
| description | Краткое описание цели правила. | ||
| direction |
| Указывает направление потока трафика. | |
| access |
| Разрешить или запретить поток трафика. | |
| source_port_range | По умолчанию: * | Порт или диапазон портов, из которых исходит трафик. | |
| destination_port_range | По умолчанию: * | Порт или диапазон портов, в которые направляется трафик. | |
| priority обязательно | Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно. | ||
| secret | По умолчанию: None | Секрет клиента Azure. Используется при аутентификации с помощью службы-принципала. | |
| state |
| Утверждение состояния группы безопасности. Установите в 'present' для создания или обновления группы безопасности. Установите в 'absent' для удаления группы безопасности. | |
| subscription_id | По умолчанию: None | Идентификатор вашей подписки Azure. | |
| tags | По умолчанию: None | Словарь пар «строка:строка» для назначения метаданных объекту. Метаданные теги объекта будут обновлены с любыми предоставленными значениями. Чтобы удалить теги, установите параметр append_tags в значение false. | |
| tenant | По умолчанию: None | Идентификатор арендатора 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'
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 | всегда | Текущее состояние группы безопасности. Пример: {'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 Load Balancer', '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'} |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратную совместимость.
Автор
- 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.5/modules/azure_rm_securitygroup_module.html