Кажется, вам больше не следует использовать UserPassCredentials
, оно устарело.
См. Эту ссылку :
В предыдущей версии SDK, ADAL еще не был доступен, и мы предоставили класс UserPassCredentials
.Это считается устаревшим и больше не должно использоваться.
Для аутентификации с использованием учетных данных токена вы можете попробовать следующий код:
from azure.common.credentials import ServicePrincipalCredentials
# Tenant ID for your Azure Subscription
TENANT_ID = 'ABCDEFGH-1234-1234-1234-ABCDEFGHIJKL'
# Your Service Principal App ID
CLIENT = 'a2ab11af-01aa-4759-8345-7803287dbd39'
# Your Service Principal Password
KEY = 'password'
credentials = ServicePrincipalCredentials(
client_id = CLIENT,
secret = KEY,
tenant = TENANT_ID
)
Если вам нужно больше контроля, этоРекомендуется использовать ADAL и оболочку SDK ADAL.
import adal
from msrestazure.azure_active_directory import AdalAuthentication
from msrestazure.azure_cloud import AZURE_PUBLIC_CLOUD
# Tenant ID for your Azure Subscription
TENANT_ID = 'ABCDEFGH-1234-1234-1234-ABCDEFGHIJKL'
# Your Service Principal App ID
CLIENT = 'a2ab11af-01aa-4759-8345-7803287dbd39'
# Your Service Principal Password
KEY = 'password'
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
)
Для получения дополнительной информации вы можете обратиться по этой ссылке: Аутентификация с помощью библиотек управления Azure для Python .
Если у вас нет приложения AD, перейдите по этой ссылке , чтобы создать его.Чтобы получить идентификатор клиента (идентификатор клиента совпадает с идентификатором приложения) и ключ, перейдите по этой ссылке .