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 bool |
| Управление тем, является ли поле тегов каноническим или просто добавляется к существующим тегам. При каноническом поле любые теги, не найденные в параметре тегов, будут удалены из метаданных объекта. | |
| auth_source (добавлено в 2.5) |
| Управление источником учетных данных для аутентификации. Если не указано, используется переменная среды 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) |
| Управление поведением проверки сертификата для 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 bool |
| Удаление любых существующих правил, не соответствующих правилам, определённым в параметре default_rules. | |
| purge_rules bool |
| Удаление любых существующих правил, не соответствующих параметрам правил. | |
| resource_group обязательно | Имя группы ресурсов, к которой принадлежит группа безопасности. | ||
| rules | Набор правил, формирующих поток трафика в или из подсети или сетевого интерфейса. Каждое правило — словарь. | ||
| name обязательно | Уникальное имя правила. | ||
| description | Краткое описание цели правила. | ||
| protocol |
| Поддерживаемый протокол трафика. | |
| source_port_range | Значение по умолчанию: "*" | Порт или диапазон портов, откуда исходит трафик. Может принимать строковый тип или список строковых типов. | |
| destination_port_range | Значение по умолчанию: "*" | Порт или диапазон портов, куда направляется трафик. Может принимать строковый тип или список строковых типов. | |
| source_address_prefix | Значение по умолчанию: "*" | Префикс CIDR или диапазон исходных IP-адресов. Звёздочка * также может использоваться для соответствия всем исходным IP-адресам.Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.Если это правило входа, указывает, откуда исходит сетевой трафик. Может принимать строковый тип или список строковых типов. | |
| destination_address_prefix | Значение по умолчанию: "*" | Префикс назначения адреса. CIDR или диапазон назначения IP-адресов. Звёздочка * также может использоваться для соответствия всем исходным IP-адресам.Также можно использовать теги по умолчанию, такие как VirtualNetwork, AzureLoadBalancer и Internet.Может принимать строковый тип или список строковых типов. | |
| access |
| Разрешить ли поток трафика. | |
| priority обязательно | Порядок применения правила. Должно быть уникальным целым числом от 100 до 4096 включительно. | ||
| direction |
| Указывает направление потока трафика. | |
| secret | Секрет клиента Azure. Используется при аутентификации с принципалом службы. | ||
| state |
| Утвердить состояние группы безопасности. Установите в '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
# 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 | всегда | Текущее состояние группы безопасности. Пример: {'default_rules': [{'access': 'Allow', 'description': 'Разрешить входящий трафик со всех ВМ в VNET', 'destination_address_prefix': 'VirtualNetwork', 'destination_port_range': '*', 'direction': 'Inbound', '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': 'Succeeded', 'source_address_prefix': 'VirtualNetwork', 'source_port_range': '*'}, {'access': 'Allow', 'description': 'Разрешить входящий трафик с Azure Load Balancer', 'destination_address_prefix': '*', 'destination_port_range': '*', 'direction': 'Inbound', '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': '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/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/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/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/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/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/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/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/providers/Microsoft.Network/networkSecurityGroups/mysecgroup/defaultSecurityRules/DenyAllOutBound', 'name': 'DenyAllOutBound', 'priority': 65500, 'protocol': '*', 'provisioning_state': 'Succeeded', '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': 'Deny', 'description': None, 'destination_address_prefix': '*', 'destination_port_range': '22', 'direction': 'Inbound', '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': '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/3f7e29ba-24e0-42f6-8d9c-5149a14bda37/resourceGroups/Testing/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': [], 'tags': {'delete': 'on-exit', 'foo': 'bar', 'testing': 'testing'}, 'type': 'Microsoft.Network/networkSecurityGroups'} |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как сертифицированный, что означает, что он поддерживается партнером Ansible. Более подробную информацию см. в Техническом обслуживании и поддержке модулей.
Список других модулей, также поддерживаемых партнерами 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.6/modules/azure_rm_securitygroup_module.html