Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_firewall – Создаёт брандмауэр GCP

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.4.1).

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

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

Для использования в playbook, укажите: google.cloud.gcp_compute_firewall.

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

Описание

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

Требования

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

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

Параметры

Параметр

Комментарии

access_token

строка

Токен доступа OAuth2, если тип учетных данных — accesstoken.

allowed

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

Список правил РАЗРЕШЕНИЯ, заданных этим брандмауэром. Каждое правило определяет кортеж протокола и диапазона портов, описывающий разрешенное соединение.

ip_protocol

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

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

ports

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

Необязательный список портов, к которым относится это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.

Примеры входных данных: [“22”], [“80”,”443”], и [“12345-12349”].

auth_kind

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

Тип учетных данных, используемых.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

denied

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

Список правил ОТКАЗА, заданных этим брандмауэром. Каждое правило определяет кортеж протокола и диапазона портов, описывающий запрещенное соединение.

ip_protocol

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

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

ports

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

Необязательный список портов, к которым относится это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.

Примеры входных данных: [“22”], [“80”,”443”], и [“12345-12349”].

description

строка

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

destination_ranges

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

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

direction

строка

Направление трафика, к которому применяется этот брандмауэр; по умолчанию — ВХОДЯЩИЙ. Примечание: для ВХОДЯЩЕГО трафика не поддерживается указание destinationRanges; для ВЫХОДЯЩЕГО трафика не поддерживается указание sourceRanges или sourceTags.

Некоторые допустимые варианты: «ВХОДЯЩИЙ», «ВЫХОДЯЩИЙ»

disabled

булево

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

Варианты:

  • false
  • true

env_type

строка

Указывает, в какой среде Ansible выполняется этот модуль.

Это значение не следует устанавливать, если вы не знаете, что делаете.

Это изменяет только строку User Agent для всех запросов к API.

log_config

словарь

Это поле обозначает параметры ведения журнала для определенного правила брандмауэра.

Если ведение журнала включено, журналы будут экспортированы в Cloud Logging.

enable

булево

Это поле обозначает, следует ли включить ведение журнала для определенного правила брандмауэра. Если ведение журнала включено, журналы будут экспортированы в Stackdriver.

Варианты:

  • false
  • true

metadata

строка

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

Некоторые допустимые варианты: «EXCLUDE_ALL_METADATA», «INCLUDE_ALL_METADATA»

name

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

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

END_OF_DOCUMENT_MARKER

network

dictionary

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.

Это поле представляет собой ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом «selfLink» и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле сети в «{{ name-of-resource }}»

Default: {"selfLink": "global/networks/default"}

priority

integer

Приоритет для этого правила. Это целое число от 0 до 65535 включительно. Если не указано, предполагается значение 1000. Относительные приоритеты определяют порядок следования конфликтующих правил. Меньшее значение приоритета означает более высокий приоритет (например, правило с приоритетом 0 имеет более высокий приоритет, чем правило с приоритетом 1). Правила ОТКАЗА имеют приоритет над правилами РАЗРЕШЕНИЯ с одинаковым приоритетом.

Default: 1000

project

string

Проект Google Cloud Platform для использования.

scopes

list / elements=string

Массив областей для использования

service_account_contents

jsonarg

Содержимое файла Service Account JSON, либо в словаре, либо в виде представляющей его JSON-строки.

service_account_email

string

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

service_account_file

path

Путь к файлу Service Account JSON, если в качестве типа выбран serviceaccount.

source_ranges

list / elements=string

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

source_service_accounts

list / elements=string

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

source_tags

list / elements=string

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

state

string

Должен ли данный объект существовать в GCP

Choices:

  • "present" ← (default)
  • "absent"

target_service_accounts

list / elements=string

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

targetServiceAccounts нельзя использовать одновременно с targetTags или sourceTags. Если ни targetServiceAccounts, ни targetTags не указаны, правило брандмауэра применяется ко всем экземплярам в указанной сети.

target_tags

list / elements=string

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

Если targetTags не указаны, правило брандмауэра применяется ко всем экземплярам в указанной сети.

Примечания

Примечание

  • API Reference: 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_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации вы можете установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации вы можете установить access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации вы можете установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации вы можете установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
  • Параметры service_account_email и service_account_file являются взаимоисключающими.

Примеры

- name: create a firewall
  google.cloud.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

Список правил ALLOW, указанных в этом файрволе. Каждое правило определяет кортеж протокола и диапазона портов, описывающий разрешенное соединение.

Возвращаемое значение: успех

ip_protocol

строка

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

Возвращаемое значение: успех

ports

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

Необязательный список портов, к которым применяется это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.

Примеры входных данных включают: [“22”], [“80”,”443”] и [“12345-12349”].

Возвращаемое значение: успех

creationTimestamp

строка

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

Возвращаемое значение: успех

denied

complex

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

Возвращаемое значение: успех

ip_protocol

строка

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

Возвращаемое значение: успех

ports

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

Необязательный список портов, к которым применяется это правило. Это поле применимо только для протоколов UDP или TCP. Каждый элемент должен быть целым числом или диапазоном. Если не указано, это правило применяется к соединениям через любой порт.

Примеры входных данных включают: [“22”], [“80”,”443”] и [“12345-12349”].

Возвращаемое значение: успех

description

строка

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

Возвращаемое значение: успех

destinationRanges

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

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

Возвращаемое значение: успех

direction

строка

Направление трафика, к которому применяется этот файрвол; по умолчанию — ВХОДЯЩИЙ (INGRESS). Примечание: для ВХОДЯЩЕГО трафика НЕ поддерживается указание destinationRanges; для ВЫХОДЯЩЕГО трафика НЕ поддерживается указание sourceRanges или sourceTags.

Возвращаемое значение: успех

disabled

булево

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

Возвращаемое значение: успех

id

целое число

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

Возвращаемое значение: успех

logConfig

complex

Это поле обозначает параметры ведения журнала для конкретного правила файрвола.

Если ведение журнала включено, журналы будут экспортированы в Cloud Logging.

Возвращаемое значение: успех

enable

булево

Это поле обозначает, нужно ли включить ведение журнала для конкретного правила файрвола. Если ведение журнала включено, журналы будут экспортированы в Stackdriver.

Возвращаемое значение: успех

metadata

строка

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

Возвращаемое значение: успех

name

строка

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

Возвращаемое значение: успех

network

словарь

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

integer

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

Возвращаемое значение: success

sourceRanges

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

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

Возвращаемое значение: success

sourceServiceAccounts

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

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

Возвращаемое значение: success

sourceTags

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

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

Возвращаемое значение: success

targetServiceAccounts

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

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

targetServiceAccounts нельзя использовать одновременно с targetTags или sourceTags. Если ни targetServiceAccounts, ни targetTags не указаны, правило брандмауэра применяется ко всем экземплярам в указанной сети.

Возвращаемое значение: success

targetTags

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

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

Если не указаны targetTags, правило брандмауэра применяется ко всем экземплярам в указанной сети.

Возвращаемое значение: success

Авторы

  • Google Inc. (@googlecloudplatform)

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

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

© 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/google/cloud/gcp_compute_firewall_module.html

Spec-Zone.ru

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