我尝试使用azcollection 1.9.0从我的 ansible 4 playbook 中的 azure key Vault 获取一个秘密。
- name: Get secret value
azure_rm_keyvaultsecret_info:
vault_uri: https://my-vault.vault.azure.net/
register: kvSecret
根据文档,结果应该包含一个秘密列表,其中包含一个名为secret
包含秘密值的属性。
但是,此属性不存在于结果集中。这是我得到的结果:
{
"changed": False,
"secrets": [
{
"sid": "https: //my-vault.vault.azure.net/secrets/ssh-user-username",
"version": "",
"tags": {},
"attributes": {
"enabled": True,
"not_before": None,
"expires": None,
"created": "2021-09-05T14:32:10+00:00",
"updated": "2021-09-05T14:32:10+00:00",
"recovery_level": "Recoverable+Purgeable"
}
}
],
"failed": False
}
如果我尝试使用该name
选项获取这个确切的秘密,我会得到一个空的结果集。
我的保管库包含此机密,它有一个值,并且服务主体可以通过 IAM 使用角色Key Vault Reader
和访问我的密钥保管库Key Vault Secrets User
。
原来这是身份验证的问题。Ansible 正在通过 ssh 连接到我的远程机器,因此我需要为 azure 设置身份验证。我在我的 ansible playbook 中使用环境变量执行此操作,但事实证明,当 playbook 运行其任务时,它们并未设置。将它们显式传递给命令可以解决问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句