通过将我的服务原理详细信息放入存储在〜/ .azure / credentials中的凭据文件中,我可以使用Ansible连接到Azure
对于开发而言,这是可以的,现在(在生产中)我想不再使用文本凭据文件,而是通过命令行通过参数将凭据传递给Ansible。
这应该怎么做? 感谢您的帮助-谢谢
我尝试过:
ansible-playbook -i ./dev-env/epazure_rm.yml ./dev-env/site.yml -vvvv -u adminuser --extra-vars "AZURE_SUBSCRIPTION_ID=XXX AZURE_CLIENT_ID=XXX AZURE_SECRET=XXX AZURE_TENANT=XXX"
我的Azure动态清单插件文件如下
---
plugin: azure_rm
include_vm_resource_groups:
- rg-devdonal-eastus01
auth_source: auto
subscription_id: "{{ AZURE_SUBSCRIPTION_ID }}"
client_id: "{{ AZURE_CLIENT_ID }}"
secret: "{{ AZURE_SECRET }}"
tenant: "{{ AZURE_TENANT }}"
keyed_groups:
- prefix: tag
key: tags
答案 0 :(得分:1)
您可以使用environment variables for the credential,然后从环境中读取变量,here是示例:
- debug: msg="{{ lookup('env','HOME') }} is an environment variable"
还有另一个issue显示了示例。