Аутентификация Azure ADAL с использованием Python - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь аутентифицировать лазурь с помощью ADAL, я следую за лазурными документами https://docs.microsoft.com/en-us/python/azure/python-sdk-azure-authenticate?view=azure-python

Я получаю сообщение об ошибке

msrest.exceptions.AuthenticationError: Get Token request returned http error: 401 and server response: {"error":"invalid_client","error_description":"AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.\r\nTrace ID: be8e6b37-71dc-4a03-a6d5-8c1ea0c91900\r\nCorrelation ID: 0c1cb916-3250-4176-be9e-d951b8ec7203\r\nTimestamp: 2018-12-21 11:03:22Z","error_codes":[70002,50012],"timestamp":"2018-12-21 11:03:22Z","trace_id":"be8e6b37-71dc-4a03-a6d5-8c1ea0c91900","correlation_id":"0c1cb916-3250-4176-be9e-d951b8ec7203"}

Я уверен, что яЯ использую правильные TENANT_ID CLIENT и KEY.

Вот мой код из документов

import adal
from msrestazure.azure_active_directory import AdalAuthentication
from msrestazure.azure_cloud import AZURE_PUBLIC_CLOUD
from azure.mgmt.compute import ComputeManagementClient

# Tenant ID for your Azure Subscription
TENANT_ID = 'bef06fb1-f1d7-4b31-9a96-xxfx5xx5xbx2x7'

# Your Service Principal App ID
CLIENT = '8ce61571-35c4-43ce-94ae-7xx1xex2x5x9'

# Your Service Principal Password
KEY = 'SoafGHAvu2EyTdSvxWQo/1XnlKRoaf89eDuuQiCnptc='

subscription_id = '020dd0e6-f63c-4e76-825c-02faad1d8d18'

LOGIN_ENDPOINT = AZURE_PUBLIC_CLOUD.endpoints.active_directory
RESOURCE = AZURE_PUBLIC_CLOUD.endpoints.active_directory_resource_id

context = adal.AuthenticationContext(LOGIN_ENDPOINT + '/' + TENANT_ID)
credentials = AdalAuthentication(
    context.acquire_token_with_client_credentials,
    RESOURCE,
    CLIENT,
    KEY
)

client = ComputeManagementClient(credentials, subscription_id)
vmlist = client.virtual_machines.list_all()

for vm in vmlist:
    print(vm.name)

`

1 Ответ

0 голосов
/ 25 декабря 2018

Я могу воспроизвести вашу проблему на моей стороне, я думаю, что вы не передали роль своему сервисному работнику в области действия subscription.

enter image description here

Чтобы устранить эту проблему, вы можете попытаться перейти к вашей subscription -> Access control (IAM) -> Add role assignment -> Добавить роль Owner (например) к субъекту службы.

Тогда он будет работать нормально.

enter image description here

Подробнее о Azure RBAC см. По этой ссылке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...