azure.azcollection.azure_keyvault_secret 查找 – 从 Azure 密钥库读取密钥。

注意

此查找插件是 azure.azcollection 集合(版本 3.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。 它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install azure.azcollection。您需要更多要求才能使用此查找插件,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定: azure.azcollection.azure_keyvault_secret

azure.azcollection 1.12.0 中的新功能

概要

  • 此查找返回保存在 Azure 密钥库中的密钥内容。

  • 当 Ansible 主机是启用 MSI 的 Azure VM 时,用户无需提供任何凭据即可访问 Azure 密钥库。

要求

执行此查找的本地控制器节点需要满足以下要求。

  • requests

  • azure

术语

参数

注释

术语

字符串 / 必需

密钥名称,版本可以包含在内,如 secret_name/secret_version。

关键字参数

这描述了查找的关键字参数。这些是以下示例中的值 key1=value1key2=value2 等: lookup('azure.azcollection.azure_keyvault_secret', key1=value1, key2=value2, ...)query('azure.azcollection.azure_keyvault_secret', key1=value1, key2=value2, ...)

参数

注释

client_id

字符串

有权访问 Azure 密钥库的服务主体的客户端 ID

cloud_type

字符串

指定云,例如 azureusgovcloudapi

secret

字符串

服务主体的密钥。

tenant_id

字符串

服务主体的租户 ID。

use_msi

字符串

MSI 令牌自动发现,默认为 true。

vault_url

字符串 / 必需

Azure 密钥库的 URL。

注释

注意

  • 当关键字和位置参数一起使用时,位置参数必须在关键字参数之前列出: lookup('azure.azcollection.azure_keyvault_secret', term1, term2, key1=value1, key2=value2)query('azure.azcollection.azure_keyvault_secret', term1, term2, key1=value1, key2=value2)

  • 如果未提供版本,此插件将返回密钥的最新版本。

  • 如果 Ansible 在启用了 MSI 的 Azure 虚拟机上运行,则不需要 client_id、secret 和 tenant。

  • 有关在 Azure VM 上启用 MSI 的信息,请参阅此文档 https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/

  • 在 Azure VM 上启用 MSI 后,请记住通过在 Azure 门户中添加新的访问策略来授予 VM 密钥库的访问权限。

  • 如果 MSI 未在 Ansible 主机上启用,则需要提供有权访问密钥库的有效服务主体。

  • 要通过服务主体进行身份验证,请传递 client_id、secret 和 tenant_id 或设置环境变量 AZURE_CLIENT_ID、AZURE_CLIENT_SECRET 和 AZURE_TENANT_ID。

  • 还支持通过 az login 进行身份验证。

  • 要使用集合中的插件,请引用您要使用的完整命名空间、集合名称和查找插件名称。

返回值

密钥

描述

返回值

字符串

密钥内容字符串

返回: 成功

作者

  • Hai Cao (@tk5eq)

  • Marcin Slowikowski (@msl0)

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。