google.cloud.gcp_secret_manager 查找 – 从 Google Cloud 获取密钥作为查找插件
注意
此查找插件是 google.cloud 集合(版本 1.4.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。
要在 playbook 中使用它,请指定:google.cloud.gcp_secret_manager
。
注意
由于违反 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有未解决的健全性测试失败。有关更多信息,请参阅讨论主题。
概要
检索 Secret Manager 中的密钥以在 playbook 中使用
有关创建 Google Cloud 凭据和此类凭据格式的详细信息,请参阅https://cloud.google.com/iam/docs/service-account-creds
一旦检索到密钥值,它将以解码后的形式返回。开发人员有责任在返回后保持此值的机密性。
关键字参数
这描述了查找的关键字参数。这些是以下示例中的值 key1=value1
、key2=value2
等:lookup('google.cloud.gcp_secret_manager', key1=value1, key2=value2, ...)
和 query('google.cloud.gcp_secret_manager', key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
支持 GCP 访问令牌 如果不存在,则默认为操作系统环境变量 GCP_ACCESS_TOKEN |
|
要与 Google Cloud 一起使用的身份验证类型(即 serviceaccount 或 machineaccount) 如果不存在,则默认为操作系统环境变量 GCP_AUTH_KIND |
|
要在 Secret Manager 中查找的密钥的名称 |
|
如何处理错误 strict 表示引发异常 warn 表示警告,并返回 none ignore 表示只返回 none 选项
|
|
Google Cloud 项目的名称 如果不存在,则默认为操作系统环境变量 GCP_PROJECT |
|
Google Secret Manager 的身份验证范围 默认值: |
|
与服务帐户关联的电子邮件 如果不存在,则默认为操作系统环境变量 GCP_SERVICE_ACCOUNT_EMAIL |
|
从 Google Cloud 获取的 JSON 凭据文件 如果不存在,则默认为操作系统环境变量 GCP_SERVICE_ACCOUNT_FILE 有关详细信息,请参阅https://cloud.google.com/iam/docs/service-account-creds |
|
表示从 Google Cloud 获取的 service_account_file 内容的 JSON 对象 如果不存在,则默认为操作系统环境变量 GCP_SERVICE_ACCOUNT_INFO |
|
要检索的密钥的版本名称 默认值: |
示例
- 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') }}"
返回值
键 |
描述 |
---|---|
请求的密钥的内容(请使用“no_log”来不公开此密钥) 返回: 成功 |