【发布时间】:2020-01-30 19:55:16
【问题描述】:
我正在尝试使用 Ansible 检索存储在 Azure Key Vault 中的机密。我使用 ansible-galaxy 找到并安装了azure.azure_preview_modules。我还更新了 ansible.cfg 以从角色指向 lookup_plugins 目录。运行以下剧本时出现错误:
- hosts: localhost
connection: local
roles:
- { role: azure.azure_preview_modules }
tasks:
- name: Look up secret when ansible host is general VM
vars:
url: 'https://myVault.vault.azure.net/'
secretname: 'SecretPassword'
client_id: 'ServicePrincipalIDHere'
secret: 'ServicePrinipcalPassHere'
tenant: 'TenantIDHere'
debug: msg="the value of this secret is {{lookup('azure_keyvault_secret',secretname,vault_url=url, cliend_id=client_id, secret=secret, tenant_id=tenant)}}"
fatal: [localhost]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'azure_keyvault_secret'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Invalid credentials provided."}
使用相同的信息,我可以使用 AZ PowerShell 和 AZCLI 连接到 Azure,并在命令行中检索 Azure Key Vault 机密。但是,对于使用查找插件的 playbook,这些相同的凭据在此任务中不起作用。
【问题讨论】:
标签: azure ansible azure-keyvault