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 对密钥库的访问权限。

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

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

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

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

返回值

描述

返回值

字符串

密钥内容字符串

返回:成功

作者

  • Hai Cao (@tk5eq)

  • Marcin Slowikowski (@msl0)

提示

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