Rollen für die Verwaltung von Dienstprinzipalen

In diesem Artikel wird beschrieben, wie Sie Rollen für Dienstprinzipale in Ihrem Azure Databricks-Konto verwalten.

Ein Dienstprinzipal ist eine Identität, die Sie in Azure Databricks für die Verwendung mit automatisierten Tools, Aufträgen und Anwendungen erstellen. Dienstprinzipale ermöglichen automatisierten Tools und Skripts einen reinen API-Zugriff auf Azure Databricks-Ressourcen und bieten mehr Sicherheit als die Verwendung von Benutzern oder Gruppen.

Sie können Azure Databricks-Benutzer*innen, -Dienstprinzipalen und -Kontogruppen Zugriff zur Verwendung eines Dienstprinzipals erteilen. Dadurch können Benutzer Aufträge als Dienstprinzipal anstelle ihrer eigenen Identität ausführen. Dies verhindert, dass Aufträge fehlschlagen, wenn ein Benutzer Ihre Organisation verlässt oder eine Gruppe geändert wird.

Eine Übersicht über Dienstprinzipale finden Sie unter Verwalten von Dienstprinzipalen.

Dienstprinzipalrollen

Dienstprinzipalrollen sind Rollen auf Kontoebene. Dies bedeutet, dass sie nur einmal in Ihrem Konto definiert werden müssen und für alle Arbeitsbereiche gelten. Es gibt zwei Rollen, die Sie einem Dienstprinzipal zuweisen können: Dienstprinzipal-Manager und Dienstprinzipal-Benutzer.

  • Mit dem Dienstprinzipal-Manager können Sie Rollen für einen Dienstprinzipal verwalten. Die Person, welche einen Dienstprinzipal erstellt hat, verfügt über die Rolle Dienstprinzipalmanager für den Dienstprinzipal. Kontoadmins verfügen über die Rolle Dienstprinzipalmanager für alle Dienstprinzipale in einem Konto.

Hinweis

Wenn ein Dienstprinzipal vor dem 13. Juni 2023 erstellt wurde, verfügt die Person, die ihn erstellt hat. nicht standardmäßig über die Rolle Dienstprinzipalmanager. Wenn Sie die Managerrolle benötigen, bitten Sie ein Mitglied der Kontoadministration, Ihnen die Rolle Dienstprinzipalmanager zuzuweisen.

  • Die Rolle Dienstprinzipalbenutzer ermöglicht Arbeitsbereichsbenutzern das Ausführen von Aufträgen als Dienstprinzipal. Der Auftrag wird mit der Identität des Dienstprinzipals anstelle der Identität der Person ausgeführt, die den Auftrag besitzt.

Benutzer mit der Rolle Dienstprinzipalmanager erben nicht die Rolle Dienstprinzipalbenutzer. Wenn Sie den Dienstprinzipal zum Ausführen von Aufträgen verwenden möchten, müssen Sie sich die Rolle „Dienstprinzipalbenutzer“ explizit selbst zuweisen.

Hinweis

Azure Databricks-Dienstprinzipalrollen überschneiden sich nicht mit Azure-Rollen oder Microsoft Entra ID (früher Azure Active Directory)-Rollen. Diese Rollen umfassen nur das Azure Databricks-Konto.

Verwalten von Dienstprinzipalrollen mithilfe der Kontokonsole

Kontoadministrator*innen können Dienstprinzipalrollen mithilfe der Kontokonsole verwalten.

Anzeigen von Rollen für einen Dienstprinzipal

  1. Melden Sie sich als Kontoadministrator*in bei der Kontokonsole an.
  2. Klicken Sie in der Randleiste auf Benutzerverwaltung.
  3. Suchen Sie auf der Registerkarte Dienstprinzipale nach dem Namen und klicken Sie darauf.
  4. Klicken Sie auf die Registerkarte Berechtigungen.

Sie können die Liste der Prinzipale und die Rollen anzeigen, die diesen für den Dienstprinzipal gewährt wurden. Sie können auch die Suchleiste verwenden, um nach einem bestimmten Prinzipal oder einer bestimmten Rolle zu suchen.

Zuweisen von Rollen für einen Dienstprinzipal

  1. Melden Sie sich als Kontoadministrator*in bei der Kontokonsole an.

  2. Klicken Sie in der Randleiste auf Benutzerverwaltung.

  3. Suchen Sie auf der Registerkarte Dienstprinzipale nach dem Namen und klicken Sie darauf.

  4. Klicken Sie auf die Registerkarte Berechtigungen.

  5. Klicken Sie auf Zugriff gewähren.

  6. Suchen Sie nach dem*der Benutzer*in, dem Dienstprinzipal oder der Gruppe, und wählen Sie die Rollen (Dienstprinzipal: Manager oder Dienstprinzipal: Benutzer) aus, die Sie zuweisen möchten.

    Hinweis

    Benutzer mit der Rolle Dienstprinzipalmanager erben nicht die Rolle Dienstprinzipalbenutzer. Wenn Benutzer den Dienstprinzipal zum Ausführen von Aufträgen verwenden sollen, müssen Sie die Rolle Dienstprinzipalbenutzer explizit zuweisen.

  7. Klicken Sie auf Speichern.

Widerrufen von Rollen für einen Dienstprinzipal

  1. Melden Sie sich als Kontoadministrator*in bei der Kontokonsole an.
  2. Klicken Sie in der Randleiste auf Benutzerverwaltung.
  3. Suchen Sie auf der Registerkarte Dienstprinzipale nach dem Namen und klicken Sie darauf.
  4. Klicken Sie auf die Registerkarte Berechtigungen.
  5. Suchen Sie nach dem*der Benutzer*in, dem Dienstprinzipal oder der Gruppe, um die zugehörigen Rollen zu bearbeiten.
  6. Klicken Sie in der Zeile mit dem Prinzipal auf das Kebab-Menü (vertikale Auslassungspunkte), und wählen Sie dann Bearbeiten aus. Wählen Sie alternativ Löschen aus, um alle Rollen für den Prinzipal zu widerrufen.
  7. Klicken Sie auf Bearbeiten.
  8. Klicken Sie auf das X neben den Rollen, die Sie widerrufen möchten.
  9. Klicken Sie auf Speichern.

Verwalten von Dienstprinzipalrollen auf der Seite „Administratoreinstellungen“ für einen Arbeitsbereich

Arbeitsbereichsadministrator*innen können die Dienstprinzipalrollen für Dienstprinzipale, für die sie über die Rolle Dienstprinzipalmanager verfügen, über die Seite „Administratoreinstellungen“ verwalten.

Anzeigen von Rollen für einen Dienstprinzipal

  1. Melden Sie sich als Arbeitsbereichsadministrator beim Azure Databricks-Arbeitsbereich an.
  2. Wählen Sie Ihren Benutzernamen in der oberen Leiste des Azure Databricks-Arbeitsbereichs und anschließend Einstellungen aus.
  3. Klicken Sie auf die Registerkarte Identität und Zugriff.
  4. Klicken Sie neben Dienstprinzipale auf Verwalten.
  5. Suchen Sie den Namen, und klicken Sie darauf.
  6. Klicken Sie auf die Registerkarte Berechtigungen.

Sie können die Liste der Prinzipale und die Rollen anzeigen, die diesen für den Dienstprinzipal gewährt wurden. Sie können auch die Suchleiste verwenden, um nach einem bestimmten Prinzipal oder einer bestimmten Rolle zu suchen.

Zuweisen von Rollen für einen Dienstprinzipal

Sie müssen über die Rolle Dienstprinzipalmanager für einen Dienstprinzipal verfügen, um Rollen zuzuweisen.

  1. Melden Sie sich als Arbeitsbereichsadministrator beim Azure Databricks-Arbeitsbereich an.

  2. Wählen Sie Ihren Benutzernamen in der oberen Leiste des Azure Databricks-Arbeitsbereichs und anschließend Einstellungen aus.

  3. Klicken Sie auf die Registerkarte Identität und Zugriff.

  4. Klicken Sie neben Dienstprinzipale auf Verwalten.

  5. Suchen Sie den Namen, und klicken Sie darauf.

  6. Klicken Sie auf die Registerkarte Berechtigungen.

  7. Klicken Sie auf Zugriff gewähren.

  8. Suchen Sie nach dem*der Benutzer*in, dem Dienstprinzipal oder der Gruppe, und wählen Sie die Rollen (Dienstprinzipal: Manager oder Dienstprinzipal: Benutzer) aus, die Sie zuweisen möchten.

    Hinweis

    Rollen können allen Benutzer*innen, jedem Dienstprinzipal oder jeder Gruppe auf Kontoebene zugewiesen werden, auch wenn diese kein Mitglied des Arbeitsbereichs sind. Rollen können lokalen Arbeitsbereichsgruppen nicht zugewiesen werden.

    Benutzer mit der Rolle Dienstprinzipalmanager erben nicht die Rolle Dienstprinzipalbenutzer. Wenn Benutzer den Dienstprinzipal zum Ausführen von Aufträgen verwenden sollen, müssen Sie die Rolle Dienstprinzipalbenutzer explizit zuweisen.

  9. Klicken Sie auf Speichern.

Widerrufen von Rollen für einen Dienstprinzipal

Sie müssen über die Rolle Dienstprinzipalmanager für einen Dienstprinzipal verfügen, um Rollen zu widerrufen.

  1. Melden Sie sich als Arbeitsbereichsadministrator beim Azure Databricks-Arbeitsbereich an.
  2. Wählen Sie Ihren Benutzernamen in der oberen Leiste des Azure Databricks-Arbeitsbereichs und anschließend Einstellungen aus.
  3. Klicken Sie auf die Registerkarte Identität und Zugriff.
  4. Klicken Sie neben Dienstprinzipale auf Verwalten.
  5. Suchen Sie den Namen, und klicken Sie darauf.
  6. Klicken Sie auf die Registerkarte Berechtigungen.
  7. Suchen Sie nach dem*der Benutzer*in, dem Dienstprinzipal oder der Gruppe, um die zugehörigen Rollen zu bearbeiten.
  8. Klicken Sie in der Zeile mit dem Prinzipal auf das Kebab-Menü (vertikale Auslassungspunkte), und wählen Sie dann Bearbeiten aus. Wählen Sie alternativ Löschen aus, um alle Rollen für den Prinzipal zu widerrufen.
  9. Klicken Sie auf Bearbeiten.
  10. Klicken Sie auf das X neben den Rollen, die Sie widerrufen möchten.
  11. Klicken Sie auf Speichern.

Verwalten von Dienstprinzipalrollen mithilfe der Databricks-CLI

Sie müssen über die Rolle Service Principal Manager (Dienstprinzipalmanager) verfügen, um Rollen für einen Dienstprinzipal zu verwalten. Sie können die Databricks-CLI verwenden, um Rollen zu verwalten. Informationen zum Installieren der und Authentifizieren bei der Databricks-CLI finden Sie unter Was ist die Databricks-CLI?.

Sie können Dienstprinzipalrollen auch mithilfe der Access Control-API für Konten verwalten. Die Access Control-API für Konten wird über das Azure Databricks-Konto und Azure Databricks-Arbeitsbereiche unterstützt.

Kontoadministrator*innen rufen die API unter accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control) auf.

Benutzer mit der Rolle Dienstprinzipalmanager, die keine Kontoadmins sind, rufen die API in der Arbeitsbereichsdomäne ({workspace-domain}/api/2.0/preview/accounts/access-control/) auf.

Zuweisen von Rollen für einen Dienstprinzipal mithilfe der Databricks-CLI

Die Access Control-API für Konten verwendet ein Feld etag, um die Konsistenz sicherzustellen. Um Dienstprinzipalrollen über die API zuzuweisen oder zu widerrufen, geben Sie zuerst einen GET-Regelsatzbefehl aus und empfangen als Antwort ein etag. Anschließend können Sie Änderungen lokal anwenden und schließlich einen PUT-Regelsatz mit dem etag ausgeben.

Geben Sie beispielsweise einen GET-Regelsatz für den Dienstprinzipal aus, auf den Sie Zugriff gewähren möchten, indem Sie den folgenden Befehl ausführen:

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Ersetzen Sie:

  • <account-id> durch die Konto-ID
  • <application-id> durch die Anwendungs-ID des Dienstprinzipals
  • <etag> durch “”

Beispielantwort:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

Kopieren Sie das Feld etag aus dem Antworttext zur späteren Verwendung.

Anschließend können Sie Aktualisierungen lokal vornehmen, wenn Sie den endgültigen Status der Regeln festlegen, und dann den Regelsatz mithilfe des Entitätstags (etag) aktualisieren. Führen Sie Folgendes aus, um dem*der Benutzer*in user2@example.com die Rolle Dienstprinzipal: Benutzer zuzuweisen:

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

Ersetzen Sie:

  • <account-id> durch die Konto-ID
  • <application-id> durch die Anwendungs-ID des Dienstprinzipals
  • <etag> durch das Entitätstag (etag), das Sie aus der letzten Antwort kopiert haben

Beispielantwort:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Wichtig

Da dies eine PUT-Methode ist, werden alle vorhandenen Rollen überschrieben. Um vorhandene Rollen beizubehalten, müssen Sie sie dem Array grant_roles hinzufügen.

Auflisten der Dienstprinzipale, die Sie verwenden können

Mithilfe der Dienstprinzipal-API für Arbeitsbereiche können Sie die Dienstprinzipale auflisten, für die Sie über die Benutzerrolle verfügen, indem Sie nach servicePrincipal/use filtern.

Führen Sie den folgenden Befehl aus, um die Dienstprinzipale aufzulisten, für die Sie über die Rolle Dienstprinzipalbenutzer verfügen:

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

Sie können Dienstprinzipale auch mithilfe der Service Principals-API für Arbeitsbereiche auflisten.