azure_rm_securitygroup — Управление группами безопасности Azure.
Новая в версии 2.1.
- Обзор
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Значения возврата
- Примечания
Обзор
- Создание, обновление или удаление группы безопасности сети. Группа безопасности содержит правила списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик для подсетей или отдельных сетевых интерфейсов. Группа безопасности создается с набором правил по умолчанию и пустым набором правил безопасности. Направляйте поток трафика, добавляя правила к пустому набору правил безопасности.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.7
- azure >= 2.0.0
Параметры
| параметр | обязательно | значение по умолчанию | выбор | комментарии | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ad_user | нет | Имя пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| append_tags | нет | True | Указывает, будет ли поле тегов каноничным или просто добавляться к существующим тегам. При каноничном режиме любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| client_id | нет | Идентификатор клиента Azure. Используйте при аутентификации с принципалом службы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cloud_environment | нет | 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 | нет | Набор правил, определяющих поток трафика в подсеть или сетевой интерфейс. Каждое правило — словарь. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| secret | нет | Секрет клиента Azure. Используйте при аутентификации с принципалом службы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| state | нет | present |
| Утвердить состояние группы безопасности. Установите значение «present», чтобы создать или обновить группу безопасности. Установите значение «absent», чтобы удалить группу безопасности. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| subscription_id | нет | Ваш идентификатор подписки Azure. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tags | нет | Словарь пар строка:строка для назначения в качестве метаданных объекту. Теги метаданных объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в значение false. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tenant | нет | Идентификатор Azure-аренды. Используйте при аутентификации с принципалом службы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Примеры
# 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
Значения возврата
Общие значения возврата документированы здесь Значения возврата, следующие поля уникальны для данного модуля:
| name | description | returned | type | sample |
|---|---|---|---|---|
| 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', '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'} |
Примечания
Примечание
- Для аутентификации с 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. Также можно добавить дополнительные профили. Укажите профиль, передав профиль или установив AZURE_PROFILE в окружении.
Статус
Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость интерфейса.
Для получения помощи в разработке модулей, если вы так решили, пожалуйста, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/azure_rm_securitygroup_module.html