google.cloud.gcp_secret_manager lookup – 从 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 中移除。该集合存在 未解决的健全性测试失败。请参阅 讨论主题 获取更多信息。
概要
检索密钥管理器中的密钥以在 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 |
|
要在密钥管理器中查找的密钥的名称 |
|
如何处理错误 strict 表示引发异常 warn 表示发出警告并返回 none ignore 表示只返回 none 选项
|
|
Google Cloud 项目的名称 如果不存在,则默认为操作系统环境变量 GCP_PROJECT |
|
Google 密钥管理器的身份验证范围 默认值: |
|
与服务帐户关联的电子邮件 如果不存在,则默认为操作系统环境变量 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”以不公开此密钥) 返回:成功 |