Spec-Zone.ru › Ansible 2.8

gcp_compute_firewall – Создаёт брандмауэр GCP

Новая версия с 2.6.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • У каждой сети есть свой брандмауэр, контролирующий доступ к экземплярам.
  • Весь трафик к экземплярам, даже из других экземпляров, блокируется брандмауэром, если не созданы правила брандмауэра для разрешения доступа.
  • В сети по умолчанию автоматически созданы правила брандмауэра, которые показаны в правилах брандмауэра по умолчанию. Никаких автоматически созданных правил брандмауэра нет для вручную созданных сетей, за исключением правила по умолчанию «разрешить» исходящий трафик и правила по умолчанию «заблокировать» входящий трафик. Для всех сетей, кроме сети по умолчанию, необходимо создавать собственные правила брандмауэра.

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allowed
-
Список правил ALLOW, заданных этим брандмауэром. Каждое правило определяет кортеж из протокола и диапазона портов, описывающий разрешённое соединение.
ip_protocol
- / обязательно
IP-протокол, к которому применяется это правило. Тип протокола требуется при создании правила брандмауэра. Это значение может быть одним из следующих известных строк протоколов (tcp, udp, icmp, esp, ah, sctp), или номером IP-протокола.
ports
-
Необязательный список портов, к которым применяется это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть либо целым числом, либо диапазоном. Если не указано, это правило применяется к подключениям через любой порт.
Примеры ввода: ["22"], ["80","443"], и ["12345-12349"].
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
denied
-
добавлен в 2.8
Список правил DENY, заданных этим брандмауэром. Каждое правило определяет кортеж из протокола и диапазона портов, описывающий запрещённое соединение.
ip_protocol
- / обязательно
IP-протокол, к которому применяется это правило. Тип протокола требуется при создании правила брандмауэра. Это значение может быть одним из следующих известных строк протоколов (tcp, udp, icmp, esp, ah, sctp), или номером IP-протокола.
ports
-
Необязательный список портов, к которым применяется это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть либо целым числом, либо диапазоном. Если не указано, это правило применяется к подключениям через любой порт.
Примеры ввода: ["22"], ["80","443"], и ["12345-12349"].
description
-
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
destination_ranges
-
добавлен в 2.8
Если заданы диапазоны адресов назначения, брандмауэр будет применять правило только к трафику, у которого адрес назначения IP находится в этих диапазонах. Эти диапазоны должны быть выражены в формате CIDR. Поддерживается только IPv4.
direction
-
добавлен в 2.8
    Варианты:
  • INGRESS
  • EGRESS
Направление трафика, к которому применяется этот брандмауэр; значение по умолчанию — INGRESS. Примечание: для трафика INGRESS не поддерживается указание destinationRanges; для трафика EGRESS не поддерживается указание sourceRanges или sourceTags.
disabled
булево
добавлен в 2.8
    Варианты:
  • no
  • yes
Указывает, отключено ли правило брандмауэра, то есть не применяется ли оно к сети, с которой оно связано. При установке в значение true правило брандмауэра не применяется, и сеть ведёт себя так, как будто его не существует. Если это свойство не указано, правило брандмауэра будет включено.
name
- / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network
-
Значение по умолчанию:
{"selfLink": "global/networks/default"}
URL ресурса сети для этого правила брандмауэра. Если при создании правила брандмауэра это свойство не указано, используется сеть по умолчанию: global/networks/default. Если вы решите указать это свойство, вы можете указать сеть как полный или частичный URL. Например, следующие являются допустимыми URL: https://www.googleapis.com/compute/v1/projects/myproject/global/ networks/my-network projects/myproject/global/networks/my-network global/networks/default .
Это поле представляет собой ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network в "{{ name-of-resource }}"
priority
-
добавлен в 2.8
Значение по умолчанию:
"1000"
Приоритет этого правила. Это целое число от 0 до 65535 включительно. Если не указано, значение по умолчанию — 1000. Относительные приоритеты определяют порядок следования конфликтующих правил. Меньшее значение приоритета означает более высокий приоритет (например, правило с приоритетом 0 имеет более высокий приоритет, чем правило с приоритетом 1). Правила DENY имеют приоритет над правилами ALLOW с равным приоритетом.
project
строка
Проект Google Cloud Platform, который использовать.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учётной записи службы.
Это не должно передаваться в виде словаря, а в виде строки, содержащей точное содержимое файла json учетной записи службы (валидный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
source_ranges
-
Если заданы диапазоны источников, брандмауэр будет применять правило только к трафику, у которого исходный IP-адрес находится в этих диапазонах. Эти диапазоны должны быть выражены в формате CIDR. Можно указать один или оба из sourceRanges и sourceTags. Если оба свойства указаны, брандмауэр будет применяться к трафику, у которого исходный IP-адрес находится в sourceRanges ИЛИ исходный IP принадлежит тегу, перечисленному в свойстве sourceTags. Для применения брандмауэра не требуется соответствие обоим свойствам. Поддерживается только IPv4.
source_service_accounts
-
добавлен в 2.8
Если заданы учетные записи служб источников, брандмауэр будет применять правило только к трафику, исходящему от экземпляра с учётной записью службы в этом списке. Учетные записи служб-источников нельзя использовать для управления трафиком на внешний IP-адрес экземпляра, так как учетные записи служб связаны с экземпляром, а не с IP-адресом. sourceRanges могут быть установлены одновременно с sourceServiceAccounts. Если оба свойства установлены, брандмауэр будет применяться к трафику, у которого исходный IP-адрес находится в sourceRanges ИЛИ исходный IP принадлежит экземпляру с учётной записью службы, перечисленной в sourceServiceAccount. Для применения брандмауэра не требуется соответствие обоим свойствам. sourceServiceAccounts нельзя использовать одновременно с sourceTags или targetTags.
source_tags
-
Если заданы теги источников, брандмауэр будет применять правило только к трафику с исходным IP, который принадлежит тегу, указанному в тегах источников. Теги источников нельзя использовать для управления трафиком на внешний IP-адрес экземпляра. Так как теги связаны с экземпляром, а не с IP-адресом. Можно указать один или оба из sourceRanges и sourceTags. Если оба свойства указаны, брандмауэр будет применяться к трафику, у которого исходный IP-адрес находится в sourceRanges ИЛИ исходный IP принадлежит тегу, перечисленному в свойстве sourceTags. Для применения брандмауэра не требуется соответствие обоим свойствам.
state
-
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
target_service_accounts
-
added in 2.8
Список учетных записей сервисов, указывающий на наборы виртуальных машин, расположенных в сети, которые могут создавать сетевые соединения, как указано в allowed[].
targetServiceAccounts нельзя использовать одновременно с targetTags или sourceTags. Если ни targetServiceAccounts, ни targetTags не указаны, правило брандмауэра применяется ко всем виртуальным машинам в указанной сети.
target_tags
-
Список тегов виртуальных машин, указывающий на наборы виртуальных машин, расположенных в сети, которые могут создавать сетевые соединения, как указано в allowed[].
Если targetTags не указаны, правило брандмауэра применяется ко всем виртуальным машинам в указанной сети.

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/firewalls
  • Официальная документация: https://cloud.google.com/vpc/docs/firewalls
  • Для аутентификации можно установить service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использованы только в том случае, если значения в playbook не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a firewall
  gcp_compute_firewall:
    name: test_object
    allowed:
    - ip_protocol: tcp
      ports:
      - '22'
    target_tags:
    - test-ssh-server
    - staging-ssh-server
    source_tags:
    - test-ssh-clients
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

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

Ключ Возвращаемое значение Описание
allowed
complex
success
Список правил ALLOW, заданных этим брандмауэром. Каждое правило задает кортеж протокола и диапазона портов, описывающий разрешенное соединение.

ip_protocol
строка
success
Протокол IP, к которому относится это правило. Тип протокола требуется при создании правила брандмауэра. Это значение может быть одной из следующих известных строк протоколов (tcp, udp, icmp, esp, ah, sctp) или номером протокола IP.

ports
список
success
Необязательный список портов, к которым относится это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.
Примеры входных данных: ["22"], ["80", "443"] и ["12345-12349"].

creationTimestamp
строка
success
Дата и время создания в формате RFC3339.

denied
complex
success
Список правил DENY, заданных этим брандмауэром. Каждое правило задает кортеж протокола и диапазона портов, описывающий запрещенное соединение.

ip_protocol
строка
success
Протокол IP, к которому относится это правило. Тип протокола требуется при создании правила брандмауэра. Это значение может быть одной из следующих известных строк протоколов (tcp, udp, icmp, esp, ah, sctp) или номером протокола IP.

ports
список
success
Необязательный список портов, к которым относится это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.
Примеры входных данных: ["22"], ["80","443"], и ["12345-12349"].

description
строка
success
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

destinationRanges
список
success
Если указаны диапазоны назначения, брандмауэр будет применяться только к трафику, у которого адрес назначения IP находится в этих диапазонах. Эти диапазоны должны быть выражены в формате CIDR. Поддерживается только IPv4.

direction
строка
success
Направление трафика, к которому применяется этот брандмауэр; по умолчанию INGRESS. Примечание: для INGRESS-трафика не поддерживается указание destinationRanges; для EGRESS-трафика не поддерживается указание sourceRanges или sourceTags.

disabled
булево
success
Указывает, отключено ли правило брандмауэра, т. е. не применяется ли оно к сети, с которой связано. При установке в значение true правило брандмауэра не применяется, и сеть ведет себя так, как если бы оно не существовало. Если это свойство не указано, правило брандмауэра будет включено.

id
целое число
success
Уникальный идентификатор ресурса.

name
строка
success
Имя ресурса. Указывается клиентом при создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

network
словарь
success
URL ресурса сети для этого правила брандмауэра. Если при создании правила брандмауэра это свойство не указано, используется сеть по умолчанию: global/networks/default. Если вы хотите указать это свойство, вы можете указать сеть как полный или частичный URL. Например, следующие URL-адреса являются допустимыми: https://www.googleapis.com/compute/v1/projects/myproject/global/ networks/my-network projects/myproject/global/networks/my-network global/networks/default.

priority
целое число
success
Приоритет этого правила. Это целое число от 0 до 65535 включительно. Если не указано, используется значение 1000. Относительные приоритеты определяют порядок следования конфликтующих правил. Меньшее значение приоритета означает более высокий приоритет (например, правило с приоритетом 0 имеет более высокий приоритет, чем правило с приоритетом 1). Правила DENY имеют приоритет над правилами ALLOW с одинаковым приоритетом.

sourceRanges
список
success
Если указаны диапазоны источников, брандмауэр будет применяться только к трафику, у которого адрес источника IP находится в этих диапазонах. Эти диапазоны должны быть выражены в формате CIDR. Может быть указан один или оба из sourceRanges и sourceTags. Если оба свойства заданы, брандмауэр будет применяться к трафику, у которого адрес источника IP находится в sourceRanges или адрес источника IP принадлежит тегу, указанному в свойстве sourceTags. Для применения брандмауэра не требуется соответствие обоим свойствам. Поддерживается только IPv4.

sourceServiceAccounts
список
success
Если указаны учетные записи служб источника, брандмауэр будет применяться только к трафику, исходящему от виртуальной машины с учетной записью службы в этом списке. Учетные записи служб источника не могут использоваться для управления трафиком к внешнему IP-адресу виртуальной машины, так как учетные записи служб связаны с виртуальной машиной, а не с IP-адресом. sourceRanges могут быть заданы одновременно с sourceServiceAccounts. Если оба свойства заданы, брандмауэр будет применяться к трафику, у которого адрес источника IP находится в sourceRanges или адрес источника IP принадлежит виртуальной машине с учетной записью службы, указанной в sourceServiceAccount. Для применения брандмауэра не требуется соответствие обоим свойствам. sourceServiceAccounts не могут использоваться одновременно с sourceTags или targetTags.

sourceTags
список
success
Если указаны теги источника, брандмауэр будет применяться только к трафику, у которого IP-адрес источника принадлежит тегу, указанному в списке тегов источника. Теги источника не могут использоваться для управления трафиком к внешнему IP-адресу виртуальной машины, так как теги связаны с виртуальной машиной, а не с IP-адресом. Может быть указан один или оба из sourceRanges и sourceTags. Если оба свойства заданы, брандмауэр будет применяться к трафику, у которого адрес источника IP находится в sourceRanges или адрес источника IP принадлежит тегу, указанному в свойстве sourceTags. Для применения брандмауэра не требуется соответствие обоим свойствам.

targetServiceAccounts
список
success
Список учетных записей служб, указывающий на наборы виртуальных машин, расположенных в сети, которые могут устанавливать сетевые соединения, как указано в allowed[].
targetServiceAccounts нельзя использовать одновременно с targetTags или sourceTags. Если ни targetServiceAccounts, ни targetTags не указаны, правило брандмауэра применяется ко всем виртуальным машинам в указанной сети.

targetTags
список
success
Список тегов виртуальных машин, указывающий на наборы виртуальных машин, расположенных в сети, которые могут устанавливать сетевые соединения, как указано в allowed[].
Если не указаны targetTags, правило брандмауэра применяется ко всем виртуальным машинам в указанной сети.



Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [экспериментальная версия]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/gcp_compute_firewall_module.html

Spec-Zone.ru

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