按照以下步骤,通过 Microsoft Entra ID 服务主体使用 PowerShell 登录到 Azure Databricks。 有关 Azure Databricks 服务主体的信息,请参阅 服务主体。
重要
Databricks 建议对大多数用例使用 Azure Databricks 托管服务主体 。 仅当需要访问 Azure 资源时,才使用 Microsoft Entra ID 托管服务主体,因为它们需要其他Microsoft Entra ID 权限。
收集以下信息:
参数 DESCRIPTION Tenant ID在 Microsoft Entra ID 中注册的相关应用程序的 Directory (tenant) ID。Client ID在 Microsoft Entra ID 中注册的相关应用程序的 Application (client) ID。Client secret在 Microsoft Entra ID 中注册的相关应用程序的客户端密码的 Value。使用 PowerShell 一行一行地运行以下代码,使用服务主体登录到 Azure,最后调用 Connect-AzAccount -Environment AzureChinaCloud cmdlet。
$SecurePassword = ConvertTo-SecureString -String "<Client-secret>" -AsPlainText -Force $TenantId = "<Tenant-ID>" $ApplicationId = "<Client-ID>" $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword Connect-AzAccount -Environment AzureChinaCloud -ServicePrincipal -TenantId $TenantId -Credential $Credential注释
如果错误消息指出无法识别
Connect-AzAccount -Environment AzureChinaCloudcmdlet,请通过运行以下 cmdlet 来安装它:Install-Module -Name Az -Repository PSGallery -Force确认你已登录到已登录服务主体的正确订阅。 要获取已登录订阅的名称和 ID 以及订阅的相关租户 ID,请运行以下 cmdlet:
Get-AzContext | Select-Object -ExpandProperty Subscription例如,如果不确定正确的订阅应该是什么,可通过在工作区导航栏中单击用户名>“Azure 门户”来获取 Azure Databricks 工作区的订阅 ID。 在显示的 Azure Databricks 工作区资源页上,单击边栏中的“概述”。 然后查找“订阅 ID”字段,其中包含订阅 ID。
如果无法访问 Azure 门户,但有权访问 Azure Databricks 帐户控制台,则可以获取 Azure Databricks 工作区的正确订阅,如下所示:
记下工作区的编程名称,该名称位于工作区导航栏中用户名旁边。
在工作区导航栏中点击你的用户名 >,然后选择管理帐户。
在边栏中单击“工作区”。
在“筛选工作区”框中,输入工作区的编程名称,然后按
Enter。在结果列表中单击工作区的编程名称。
记下包含订阅 ID 的“订阅”字段。
如果需要切换到其他订阅,请运行 Set-AzContext cmdllet,并使用
-Name或-Subscription参数来指定正确的订阅名称或 ID。Set-AzContext -Name "<subscription-name>" # Or ... Set-AzContext -Subscription <subscription-id>如果显示了以下消息,则表示登录到了错误的租户:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.若要登录到正确的租户,必须再次运行Connect-AzAccount -Environment AzureChinaCloudcmdlet,并使用-Tenant选项指定正确的租户 ID。可以通过运行命令
curl -v <per-workspace-URL>/aad/auth并查看输出< location: https://login.chinacloudapi.cn/00000000-0000-0000-0000-000000000000来获取 Azure Databricks 工作区的租户 ID,其中的00000000-0000-0000-0000-000000000000是租户 ID。 另请参阅在 Azure 门户中获取订阅和租户 ID。Connect-AzAccount -Environment AzureChinaCloud -Tenant <tenant-id>