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 Варианты:
|
project string | имя проекта Google Cloud если не задан, используется переменная окружения ОС GCP_PROJECT |
scopes list / элементы=string | области доступа аутентификации для Google Secret Manager По умолчанию: |
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 | имя версии секрета для получения По умолчанию: |
Примеры
- 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”, чтобы не раскрыть этот секрет) Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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