在 Azure 上使用用户凭据对 Python 应用程序进行身份验证

本文介绍通过 Azure 服务对应用程序进行身份验证的方法(涉及用户凭据)。

如果你尚未这样做,请查看身份验证概述以了解适用于所有身份验证方法的重要详细信息,即分配应用程序标识、向标识授予权限以及使用 Azure 库时进行身份验证和授权的时间。

交互式浏览器身份验证

此方法使用 InteractiveBrowserCredential(在 Python 开发环境中的 Azure 身份验证中进行了介绍)。

设备代码身份验证

此方法使用 DeviceCodeCredential(在 Python 开发环境中的 Azure 身份验证中进行了介绍)。

使用用户名和密码的身份验证

此方法使用以前收集的凭据和 UsernamePasswordCredential 对象对应用程序进行身份验证。

不建议使用此身份验证方法,因为其安全性低于其他流程。 此外,此方法不是交互式方法,因此不与任何形式的多重身份验证或同意提示兼容。 应用程序必须获得用户或目录管理员的同意。

此外,此方法仅对工作和学校帐户进行身份验证;不支持 Microsoft 帐户。 有关详细信息,请参阅注册你的组织以使用 Azure Active Directory

# Show Azure subscription information

import os
from azure.mgmt.resource import SubscriptionClient
from azure.identity import UsernamePasswordCredential

# Retrieve the information necessary for the credentials, which are assumed to
# be in environment variables for the purpose of this example.
client_id = os.environ["AZURE_CLIENT_ID"]
tenant_id = os.environ["AZURE_TENANT_ID"]
username = os.environ["AZURE_USERNAME"]
password = os.environ["AZURE_PASSWORD"]

credential = UsernamePasswordCredential(client_id=client_id, tenant_id = tenant_id,
    username = username, password = password)

subscription_client = SubscriptionClient(credential)

subscription = next(subscription_client.subscriptions.list())
print(subscription.subscription_id)

请参阅