使用 Microsoft Entra ID 服务主体进行 Azure CLI 登录
按照以下步骤,通过 Microsoft Entra ID 服务主体使用 Azure CLI 登录到 Azure Databricks。 有关 Azure Databricks 服务主体的信息,请参阅管理服务主体。
收集以下信息:
参数 说明 Tenant ID
在 Microsoft Entra ID 中注册的相关应用程序的 Directory (tenant) ID
。Client ID
在 Microsoft Entra ID 中注册的相关应用程序的 Application (client) ID
。Client secret
在 Microsoft Entra ID 中注册的相关应用程序的客户端密码的 Value
。请通过执行以下操作之一获取 Microsoft Entra ID 服务主体的正确 Azure 订阅 ID(如果你尚不知道此 ID):
在 Azure Databricks 工作区的顶部导航栏中,单击你的用户名,然后单击“Azure 门户”。 在显示的 Azure Databricks 工作区资源页上,单击边栏中的“概述”。 然后查找“订阅 ID”字段,其中包含订阅 ID。
使用 Azure CLI 运行 az databricks workspace list 命令,使用
--query
和-o
或--output
选项缩小结果范围。 将adb-0000000000000000.0.azuredatabricks.net
替换为你的工作区实例的名称,不包括https://
。 在此示例中,输出中/subscriptions/
后的00000000-0000-0000-0000-000000000000
是订阅 ID。az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
如果显示了以下消息,则表示你登录到了错误的租户:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
要登录到正确的租户,必须再次运行az login
命令,使用-t
或--tenant
选项指定正确的租户 ID。可以通过运行命令
curl -v <per-workspace-URL>/aad/auth
并查看输出< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
来获取 Azure Databricks 工作区的租户 ID,其中的00000000-0000-0000-0000-000000000000
是租户 ID。 另请参阅在 Azure 门户中获取订阅和租户 ID。az login -t <tenant-id>
获得 Microsoft Entra ID 服务主体的正确 Azure 租户 ID、客户端 ID、客户端密码和订阅 ID 后,请使用 Azure CLI 运行 az login 命令来登录到 Azure。 使用
--service-principal
选项,同时为在 Microsoft Entra ID 中注册的相关应用程序指定Tenant ID
(Directory (tenant) ID
)、Client ID
(Application (client) ID
) 和Client secret
(Value
) 参数的值。az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
确认你已登录到已登录 Microsoft Entra ID 服务主体的正确订阅。 为此,请运行 az account set 命令,使用
-s
或--subscription
选项来指定正确的订阅 ID。az account set -s <subscription-id>