分享方式:


使用 Microsoft Entra ID 服務主體的 PowerShell 登入

請遵循下列步驟,使用 PowerShell 以 Microsoft Entra ID 服務主體登入 Azure Databricks。 如需 Azure Databricks 服務主體的相關信息,請參閱 管理服務主體

重要

Azure Databricks 受控服務主體會直接在 Azure Databricks 中管理。 Microsoft Entra ID 受控服務主體是在 Microsoft Entra ID 中管理,這需要額外的許可權。 Databricks 建議您針對大部分使用案例使用 Azure Databricks 受控服務主體。 不過,Databricks 建議您在必須同時向 Azure Databricks 和其他 Azure 資源進行驗證的情況下,使用 Microsoft Entra ID 受控服務主體。

若要建立 Azure Databricks 受控服務主體,而不是 Microsoft Entra ID 受控服務主體,請參閱 管理服務主體

  1. 收集以下資訊:

    參數 描述
    Tenant ID Directory (tenant) ID在 Microsoft Entra ID 中註冊之相關應用程式的 。
    Client ID Application (client) ID在 Microsoft Entra ID 中註冊之相關應用程式的 。
    Client secret Value Microsoft Entra ID 中註冊之相關應用程式的用戶端密碼的 。
  2. 使用 PowerShell 一次執行一行程式代碼,以呼叫 連線-AzAccount Cmdlet 來結束登入 Azure 的服務主體。

    $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 -ServicePrincipal -TenantId $TenantId -Credential $Credential
    

    注意

    如果錯誤訊息指出 Connect-AzAccount 無法辨識 Cmdlet,請執行下列 Cmdlet 加以安裝:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. 確認您已登入登入服務主體的正確訂用帳戶。 若要取得您登入訂用帳戶的名稱和標識碼,以及訂用帳戶的相關租用戶標識碼,請執行下列 Cmdlet:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    如果您不確定正確的訂用帳戶為何,您可以按兩下工作區導覽列中的使用者名稱 >Azure 入口 網站,以取得 Azure Databricks 工作區的訂用帳戶標識碼。 在出現的 [Azure Databricks 工作區資源] 頁面上,按兩下 提要欄位中的 [概觀 ]。 然後尋找 [ 訂用帳戶標識符 ] 字段,其中包含訂用帳戶標識符。

    如果您無法存取 Azure 入口網站,但您可以存取 Azure Databricks 帳戶控制台,您可以取得 Azure Databricks 工作區的正確訂用帳戶,如下所示:

    1. 記下工作區的程式設計名稱,其位於工作區導覽列中的使用者名稱旁邊。
    2. 按兩下工作區導覽列中的使用者名稱 >[管理帳戶 ]。
    3. 在提要欄位中,按兩下 [ 工作區]。
    4. 在 [ 篩選工作區] 方塊中 ,輸入工作區的程式設計名稱,然後按 Enter
    5. 按兩下結果清單中的工作區程式設計名稱。
    6. 記下 [訂 用帳戶] 字段,其中包含訂用帳戶標識碼。

    如果您需要切換至不同的訂用帳戶,請使用 -Name-Subscription 參數來執行 Set-AzContext Cmdllet,以指定正確的訂用帳戶名稱或標識符。

    Set-AzContext -Name "<subscription-name>"
    
    # Or ...
    
    Set-AzContext -Subscription <subscription-id>
    

    如果顯示下列訊息,表示您已登入錯誤的租使用者: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. 若要登入正確的租使用者,您必須再次執行 Connect-AzAccount Cmdlet,使用 -Tenant 選項來指定正確的租使用者識別碼。

    您可以執行 命令 curl -v <per-workspace-URL>/aad/auth 並查看輸出 < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,其中 00000000-0000-0000-0000-000000000000 是租用戶標識碼,以取得 Azure Databricks 工作區的租使用者標識碼。 另請參閱取得 Azure 入口網站 中的訂用帳戶和租用戶標識碼。

    Connect-AzAccount -Tenant <tenant-id>