Модуль google.cloud.gcp_secret_manager — доступ к объектам Google Cloud Secrets Manager и их обновление
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_secret_manager.
Обзор
- Доступ к секретам, хранящимся в Google Secrets Manager.
- Создание новых секретов.
- Создание новых значений секретов.
- Добавление и удаление версий секретов.
- Обратите внимание: другие функции, такие как etags, репликация и аннотации, должны управляться за пределами Ansible.
- Работа с региональными секретами, если задан параметр location.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте этот параметр, если не уверены в своих действиях. Он изменяет только строку User Agent для любых запросов API. |
labels dictionary | Набор пар «ключ — значение», назначаемых секрету в качестве меток используется только при создании Обратите внимание: часть «значение» метки может содержать только печатные символы По умолчанию: |
location string | Если задан, указывает расположение регионального секрета. |
name псевдонимы: key, secret, secret_id string / обязательный | Имя используемого секрета |
project string | Используемый проект Google Cloud Platform. |
return_value boolean | Если задано значение true, значение секрета будет возвращено в Ansible в расшифрованном виде Если задано значение false, значение не будет возвращено или расшифровано Варианты:
|
scopes list / элементы=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли секрет существовать Варианты:
|
value string | Значение, которое должен иметь секрет задается при создании Если значение секрета отличается от указанного, будет добавлена новая версия с этим значением |
version string | Метка версии, назначаемая секрету По умолчанию используется «latest» — самая новая версия секрета При удалении также допускается специальное значение «all» (удаляет все версии секрета) По умолчанию: |
Примечания
Примечание
- Справочник API: https://cloud.google.com/secret-manager/docs/reference/rests
- Официальная документация: https://cloud.google.com/secret-manager/docs/overview
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды используются, только если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file нельзя использовать одновременно.
Примеры
- name: Create a new secret
google.cloud.gcp_secret_manager:
name: secret_key
value: super_secret
state: present
auth_kind: serviceaccount
service_account_file: service_account_creds.json
- name: Ensure the secretexists, fail otherwise and return the value
google.cloud.gcp_secret_manager:
name: secret_key
state: present
- name: Ensure secret exists but don't return the value
google.cloud.gcp_secret_manager:
name: secret_key
state: present
return_value: false
- name: Add a new version of a secret
google.cloud.gcp_secret_manager:
name: secret_key
value: updated super secret
state: present
- name: Delete version 1 of a secret (but not the secret itself)
google.cloud.gcp_secret_manager:
name: secret_key
version: 1
state: absent
- name: Delete all versions of a secret
google.cloud.gcp_secret_manager:
name: secret_key
version: all
state: absent
- name: Create a secret with labels
google.cloud.gcp_secret_manager:
name: secret_key
value: super_secret
labels:
key_name: "ansible_rox"
- name: Create a new regional secret
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
value: super_secret
state: present
auth_kind: serviceaccount
service_account_file: service_account_creds.json
- name: Ensure the regional secret exists, fail otherwise and return the value
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
state: present
- name: Ensure regional secret exists but don't return the value
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
state: present
return_value: false
- name: Add a new version of a regional secret
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
value: updated super secret
state: present
- name: Delete version 1 of a regional secret (but not the secret itself)
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
version: 1
state: absent
- name: Delete all versions of a regional secret
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
version: all
state: absent
- name: Create a regional secret with labels
google.cloud.gcp_secret_manager:
name: secret_key
location: us-central1
value: super_secret
labels:
key_name: "ansible_rox"
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
resources complex | Список ресурсов Возвращается: всегда |
|
location string |
Расположение регионального секрета. Возвращается: при успехе |
|
msg string |
Сообщение о выполненном (или невыполненном) действии Возвращается: при успехе, при ошибке |
|
name string |
Имя секрета Возвращается: при успехе |
|
payload dictionary |
Полезная нагрузка секрета в кодировке base64, включая CRC для проверки Возвращается: при успехе |
|
status_code string |
Код состояния HTTP-ответа Google Cloud Возвращается: при успехе |
|
url string |
URL Google Cloud, использованный для выполнения запроса Возвращается: при успехе |
|
value string |
Расшифрованное значение секрета; используйте с осторожностью Возвращается: при успехе |
|
version string |
Номер возвращенной версии секрета Возвращается: при успехе |
Ссылки на коллекцию
© 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_module.html