PowerShell-Anmeldung mit einem Microsoft Entra ID-Dienstprinzipal

Führen Sie diese Schritte aus, um sich über PowerShell mit einem Microsoft Entra ID-Dienstprinzipal bei Azure Databricks anzumelden. Informationen zu Azure Databricks-Dienstprinzipalen finden Sie unter Verwalten von Dienstprinzipalen.

Wichtig

Verwaltete Dienstprinzipale von Azure Databricks werden direkt in Azure Databricks verwaltet. Verwaltete Dienstprinzipale der Microsoft Entra ID werden in der Microsoft Entra ID verwaltet, die zusätzliche Berechtigungen erfordert. Databricks empfiehlt für die meisten Anwendungsfälle durch Azure Databricks verwaltete Dienstprinzipale zu verwenden. Databricks empfiehlt jedoch auch, verwaltete Dienstprinzipale von Microsoft Entra ID in Fällen zu verwenden, in denen Sie sich bei Azure Databricks und anderen Azure-Ressourcen gleichzeitig authentifizieren müssen.

Informationen zum Erstellen eines verwalteten Dienstprinzipals von Azure Databricks anstelle eines verwalteten Dienstprinzipals von Microsoft Entra ID finden Sie unter Verwalten von Dienstprinzipalen.

  1. Sammeln Sie die folgenden Informationen:

    Parameter Beschreibung
    Tenant ID Directory (tenant) ID für die zugehörige in Microsoft Entra ID registrierte Anwendung.
    Client ID Application (client) ID für die zugehörige in Microsoft Entra ID registrierte Anwendung.
    Client secret Value des geheimen Clientschlüssels für die zugehörige in Microsoft Entra ID registrierte Anwendung.
  2. Melden Sie den Dienstprinzipal bei Azure an, indem Sie PowerShell verwenden, um die folgenden Codezeilen zeilenweise auszuführen, und schließen Sie den Vorgang mit dem Aufruf des Cmdlets Connect-AzAccount ab.

    $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
    

    Hinweis

    Wenn eine Fehlermeldung besagt, dass das Cmdlet Connect-AzAccount nicht erkannt wird, installieren Sie es, indem Sie das folgende Cmdlet ausführen:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. Vergewissern Sie sich, dass Sie beim richtigen Abonnement für Ihren angemeldeten Dienstprinzipal angemeldet sind. Führen Sie das folgende Cmdlet aus, um den Namen und die ID Ihres angemeldeten Abonnements sowie die zugehörige Mandanten-ID des Abonnements abzurufen:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    Wenn Sie nicht sicher sind, welches das richtige Abonnement ist, können Sie beispielsweise die Abonnement-ID für einen Azure Databricks-Arbeitsbereich abrufen, indem Sie in der Navigationsleiste des Arbeitsbereichs auf Ihren Benutzernamen und dann auf >Azure-Portal klicken. Klicken Sie auf der angezeigten Ressourcenseite des Azure Databricks-Arbeitsbereichs in der Seitenleiste auf Übersicht. Suchen Sie dann nach dem Feld Abonnement-ID, das die Abonnement-ID enthält.

    Wenn Sie nicht auf das Azure-Portal zugreifen können, aber Zugriff auf Ihre Azure Databricks-Kontokonsole haben, können Sie wie folgt das richtige Abonnement für einen Azure Databricks-Arbeitsbereich abrufen:

    1. Notieren Sie sich den programmgesteuerten Namen des Arbeitsbereichs, der sich neben Ihrem Benutzernamen in der Navigationsleiste des Arbeitsbereichs befindet.
    2. Klicken Sie in der Navigationsleiste des Arbeitsbereichs auf Ihren Benutzernamen und dann auf >Konto verwalten.
    3. Klicken Sie auf der Randleiste auf Arbeitsbereiche.
    4. Geben Sie im Feld Arbeitsbereiche filtern den programmgesteuerten Namen des Arbeitsbereichs ein, und drücken Sie Enter.
    5. Klicken Sie in der Ergebnisliste auf den programmgesteuerten Namen des Arbeitsbereichs.
    6. Notieren Sie sich den Wert des Felds Abonnement, das die Abonnement-ID enthält.

    Wenn Sie zu einem anderen Abonnement wechseln müssen, führen Sie das Cmdlet Set-AzContext aus, indem Sie die Parameter -Name oder -Subscription verwenden, um den richtigen Abonnementnamen oder die richtige ID anzugeben.

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

    Wenn die folgende Meldung angezeigt wird, sind Sie bei dem falschen Mandanten angemeldet: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Um sich bei dem richtigen Mandanten anzumelden, müssen Sie das Cmdlet Connect-AzAccount erneut ausführen, indem Sie die -Tenant-Option verwenden, um die richtige Mandanten-ID anzugeben.

    Sie können die Mandanten-ID für einen Azure Databricks-Arbeitsbereich abrufen, indem Sie den Befehl curl -v <per-workspace-URL>/aad/auth ausführen und in der Ausgabe nach < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000 suchen, wobei 00000000-0000-0000-0000-000000000000 die Mandanten-ID ist. Siehe auch Abrufen von Abonnement- und Mandanten-IDs im Azure-Portal.

    Connect-AzAccount -Tenant <tenant-id>