Spec-Zone.ru › Ansible

google.cloud.gcp_secret_manager lookup — получение секретов из Google Cloud с помощью lookup-плагина

Примечание

Этот lookup-плагин входит в коллекцию google.cloud (версия 1.13.0).

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

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

Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_secret_manager.

  • Краткое описание
  • Требования
  • Параметры-ключевые слова
  • Примеры
  • Возвращаемое значение

Краткое описание

  • получение ключей секретов из Secret Manager для использования в плейбуках
  • подробные сведения о создании учётных данных для Google Cloud и их формате см. на странице https://cloud.google.com/iam/docs/service-account-creds
  • после получения значение секрета возвращается в декодированном виде. Разработчик должен обеспечить сохранность этого значения после его возврата.
  • если задан параметр location, плагин работает с региональными секретами, находящимися в указанном расположении

Требования

Для работы этого lookup-плагина на локальном управляющем узле, который его выполняет, необходимы следующие компоненты.

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

Параметры-ключевые слова

Здесь описаны параметры-ключевые слова lookup-плагина. В приведённых далее примерах это значения key1=value1, key2=value2 и т. д.: lookup('google.cloud.gcp_secret_manager', key1=value1, key2=value2, ...) и query('google.cloud.gcp_secret_manager', key1=value1, key2=value2, ...)

Параметр

Комментарии

access_token

string

поддержка токена доступа GCP

если не задан, используется переменная окружения ОС GCP_ACCESS_TOKEN

auth_kind

string

тип аутентификации для Google Cloud (например, serviceaccount или machineaccount)

если не задан, используется переменная окружения ОС GCP_AUTH_KIND

key

псевдонимы: name, secret, secret_id

string / обязательно

имя секрета для поиска в Secret Manager

location

string

Если задан, определяет расположение регионального секрета.

on_error

string

способ обработки ошибок

strict означает, что будет вызвано исключение

warn означает, что будет выдано предупреждение и возвращено значение none

ignore означает, что будет просто возвращено значение none

Варианты:

  • "strict" ← (по умолчанию)
  • "warn"
  • "ignore"

project

string

имя проекта Google Cloud

если не задан, используется переменная окружения ОС GCP_PROJECT

scopes

list / элементы=string

области доступа аутентификации для Google Secret Manager

По умолчанию: ["https://www.googleapis.com/auth/cloud-platform"]

service_account_contents

псевдонимы: service_account_info

string

объект JSON, представляющий содержимое файла service_account_file, полученного из Google Cloud

если не задан, используется переменная окружения ОС GCP_SERVICE_ACCOUNT_CONTENTS

service_account_email

string

адрес электронной почты, связанный с сервисной учётной записью

если не задан, используется переменная окружения ОС GCP_SERVICE_ACCOUNT_EMAIL

service_account_file

string

файл учётных данных JSON, полученный из Google Cloud

если не задан, используется переменная окружения ОС GCP_SERVICE_ACCOUNT_FILE

подробности см. на странице https://cloud.google.com/iam/docs/service-account-creds

version

string

имя версии секрета для получения

По умолчанию: "latest"

Примеры

- name: Test secret using env variables for credentials
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key') }}"

- name: Test secret using explicit credentials
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', project='project', auth_kind='serviceaccount', service_account_file='file.json') }}"

- name: Test getting specific version of a secret (old version)
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', version='1') }}"

- name: Test getting specific version of a secret (new version)
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', version='2') }}"

- name: Test regional secret using env variables for credentials
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', location='us-central1') }}"

- name: Test regional secret using explicit credentials
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', location='us-central1', project='project', auth_kind='serviceaccount',
                    service_account_file='file.json') }}"

- name: Test getting specific version of a regional secret (old version)
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', location='us-central1', version='1') }}"

- name: Test getting specific version of a regional secret (new version)
  ansible.builtin.debug:
    msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', location='us-central1', version='2') }}"

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

Ключ

Описание

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

list / элементы=string

содержимое запрошенного секрета (используйте “no_log”, чтобы не раскрыть этот секрет)

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

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

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_secret_manager_lookup.html

Spec-Zone.ru

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