azure_rm_resourcegroup работает в облачной оболочке Azure, но не локально. - PullRequest
0 голосов
/ 20 марта 2019

Я могу создать группу ресурсов со следующей записной книжкой в ​​облачной оболочке Azure, но не с моего локального компьютера. Зачем? Я пытался воссоздать приложение / секреты несколько раз, но ничего не получалось.

- name: Create Azure Kubernetes Service
  hosts: localhost
  connection: local
  vars:
    resource_group: birdy71
    location: westeurope
    aks_name: birdy7-cluster
    username: birdy7
    ssh_key: "ssh-rsa xxxxxxxx"
    client_id: "xxxx"
    client_secret: "xxx"
    tenant: "xxx"
    subscription_id: "xxx"
  tasks:
  - name: Create resource group
    azure_rm_resourcegroup:
      name: "{{ resource_group }}"
      location: "{{ location }}"
      client_id: "{{ client_id }}"
      secret: "{{ client_secret }}"
      subscription_id: "{{ subscription_id }}"
      tenant: "{{ tenant }}"

В облачной оболочке Azure я полностью удалил папку ~ / .azure, но, тем не менее, она работает. На локальном компьютере появляется эта ошибка: AADSTS7000215: указан неверный секретный ключ клиента.

Но как это может быть? Секрет работает хорошо, если он используется из оболочки лазурного облака.

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: Timestamp: 2019-03-20 13: 34: 02Z
fatal: [localhost
]: FAILED! => {
  "changed": false,
  "module_stderr": "Traceback (most recent call last):\n  File \"/Users/tobias/.ansible/tmp/ansible-tmp-1553088840.81-75656009010434/AnsiballZ_azure_rm_resourcegroup.py\", line 113, in <module>\n    _ansiballz_main()\n  File \"/Users/tobias/.ansible/tmp/ansible-tmp-1553088840.81-75656009010434/AnsiballZ_azure_rm_resourcegroup.py\", line 105, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/Users/tobias/.ansible/tmp/ansible-tmp-1553088840.81-75656009010434/AnsiballZ_azure_rm_resourcegroup.py\", line 48, in invoke_module\n    imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/var/folders/fl/pps_zz4s3lx6569226xr_2bh0000gn/T/ansible_azure_rm_resourcegroup_payload_CeouHT/__main__.py\", line 256, in <module>\n  File \"/var/folders/fl/pps_zz4s3lx6569226xr_2bh0000gn/T/ansible_azure_rm_resourcegroup_payload_CeouHT/__main__.py\", line 252, in main\n  File \"/var/folders/fl/pps_zz4s3lx6569226xr_2bh0000gn/T/ansible_azure_rm_resourcegroup_payload_CeouHT/__main__.py\", line 136, in __init__\n  File \"/var/folders/fl/pps_zz4s3lx6569226xr_2bh0000gn/T/ansible_azure_rm_resourcegroup_payload_CeouHT/ansible_azure_rm_resourcegroup_payload.zip/ansible/module_utils/azure_rm_common.py\", line 301, in __init__\n  File \"/var/folders/fl/pps_zz4s3lx6569226xr_2bh0000gn/T/ansible_azure_rm_resourcegroup_payload_CeouHT/ansible_azure_rm_resourcegroup_payload.zip/ansible/module_utils/azure_rm_common.py\", line 1021, in __init__\n  File \"/Users/tobias/.venv/azure2/lib/python2.7/site-packages/msrestazure/azure_active_directory.py\", line 453, in __init__\n    self.set_token()\n  File \"/Users/tobias/.venv/azure2/lib/python2.7/site-packages/msrestazure/azure_active_directory.py\", line 480, in set_token\n    raise_with_traceback(AuthenticationError, \"\", err)\n  File \"/Users/tobias/.venv/azure2/lib/python2.7/site-packages/msrest/exceptions.py\", line 48, in raise_with_traceback\n    raise error\nmsrest.exceptions.AuthenticationError: , InvalidClientError: (invalid_client) AADSTS7000215: Invalid client secret is provided.\r\nTrace ID: c7fab593-93e7-415f-a3e8-5ba973e81e00\r\nCorrelation ID: 5ee1181d-f0ac-4c08-a0e7-dfba9c722073\r\nTimestamp: 2019-03-20 13:34:02Z\n",
  "module_stdout": "",
  "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
  "rc": 1
}

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Решение состояло в том, чтобы восстановить мой клиентский секрет, пока я не получу один без специальных символов, таких как «&» и «\». : - (

0 голосов
/ 22 марта 2019

Я могу вновь появиться ошибка, которая произошла с вами:

enter image description here

Из ошибки показывает, что основная проблема, с которой вы столкнулись:

InvalidClientError: (invalid_client) AADSTS7000215: Предоставлен неверный секретный ключ клиента.

Таким образом, необходимо ввести неверный секрет участника службы.Что касается секрета основного сервиса, вы можете увидеть его при создании.Поэтому я предлагаю вам сбросить секрет с помощью команды CLI az ad sp credential reset, если вы на самом деле его не помните.

Кроме того, вы можете проверить, является ли секрет вашего участника службы прямым с помощьюКоманда CLI:

az login --service-principal --username APP_ID --password PASSWORD --tenant TENANT_ID

Кроме того, когда вы используете Cloud Shell для выполнения ansible, это означает автоматические учетные данные Azure.См. Автоматическая настройка учетных данных

При входе в Cloud Shell Ansible проходит проверку подлинности с помощью Azure для управления инфраструктурой без каких-либо дополнительных настроек.

На снимке экрана нижерезультат моего теста:

enter image description here

...