Azure/Ansible“;提供了无效的客户端密码;

Azure/Ansible“;提供了无效的客户端密码;,azure,ansible,ubuntu-16.04,azure-virtual-machine,Azure,Ansible,Ubuntu 16.04,Azure Virtual Machine,我从Ansible开始,尝试在Azure中创建虚拟机等 ansible 2.4.3.0 config file = /etc/ansible/ansible.cfg configured module search path = [u'/home/path/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2

我从Ansible开始,尝试在Azure中创建虚拟机等

ansible 2.4.3.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/path/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.12 (default, Nov 20 2017, 18:23:56) [GCC 5.4.0 20160609]
我在认证问题上有点困惑。这是我用来创建我认为需要的东西的命令:

az ad sp create-for-rbac --name AzureTools --password "A Password I Made Up"
然后,我创建了~/.ansible/credentials文件,其中包含以下内容:

[default]
subscription_id=my-sub-id
client_id=the appId from when I ran the previous command
secret='A Password I Made Up'
tenant=the tenantid from the above command
当我尝试运行ansible playbook时,我得到了以下信息(提供了无效的客户端机密),请参见下面的完整错误:

fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_QL57O_/ansible_module_azure_rm_virtualmachine.py\", line 1553, in <module>\n    main()\n  File \"/tmp/ansible_QL57O_/ansible_module_azure_rm_virtualmachine.py\", line 1550, in main\n    AzureRMVirtualMachine()\n  File \"/tmp/ansible_QL57O_/ansible_module_azure_rm_virtualmachine.py\", line 651, in __init__\n    supports_check_mode=True)\n  File \"/tmp/ansible_QL57O_/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py\", line 265, in __init__\n  File \"/usr/local/lib/python2.7/dist-packages/msrestazure/azure_active_directory.py\", line 440, in __init__\n    self.set_token()\n  File \"/usr/local/lib/python2.7/dist-packages/msrestazure/azure_active_directory.py\", line 473, in set_token\n    raise_with_traceback(AuthenticationError, \"\", err)\n  File \"/usr/local/lib/python2.7/dist-packages/msrest/exceptions.py\", line 48, in raise_with_traceback\n    raise error\nmsrest.exceptions.AuthenticationError: , InvalidClientError: (invalid_client) AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.\r\nTrace ID: 34de605e-5d21-4be2-84c1-27759ffe0000\r\nCorrelation ID: e62ed2ee-46b8-4847-9c1d-0c1e24ab711a\r\nTimestamp: 2018-03-08 21:00:55Z\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE",
    "rc": 0
如果我没有提供任何信息,请告诉我


提前谢谢

secret
行中,您应该删除单引号。我在我的实验室测试,如果我使用单引号,我会和你得到相同的错误日志

第二个问题是您应该在
~/.azure/credentials
中创建
凭据
,而不是
~/.ansible
。更多信息请参考此