Verwalten des Zugriffs auf externe Clouddienste mithilfe von Dienstanmeldeinformationen

Wichtig

Dieses Feature befindet sich in der Public Preview.

In diesem Artikel wird beschrieben, wie Sie ein Dienstanmeldeinformationsobjekt im Unity-Katalog erstellen, mit dem Sie den Zugriff auf externe Clouddienste steuern können. Ein Dienstanmeldeinformationsobjekt im Unity-Katalog kapselt eine langfristige Cloudanmeldeinformationen, die Zugriff auf einen externen Clouddienst bietet, mit dem Benutzer eine Verbindung mit Azure Databricks herstellen müssen.

Dienstanmeldeinformationen sind nicht für die Steuerung des Zugriffs auf Cloudspeicher vorgesehen, der als verwalteter Unity-Katalogspeicherort oder externer Speicherort verwendet wird. Verwenden Sie für diese Anwendungsfälle eine Speicheranmeldeinformation. Siehe Verwalten des Zugriffs auf Cloudspeicher mithilfe des Unity-Katalogs.

Um eine Dienstanmeldeinformation für den Zugriff auf Azure-Dienste zu erstellen, erstellen Sie einen Azure Databricks-Zugriffsconnector, der auf eine von Azure verwaltete Identität verweist und ihm Berechtigungen für einen Dienst oder dienste zuweist. Anschließend verweisen Sie in der Dienstanmeldeinformationsdefinition auf diesen Connector.

Vorbemerkungen

Bevor Sie eine Dienstanmeldeinformationen erstellen, müssen Sie die folgenden Anforderungen erfüllen:

In Azure Databricks:

  • Azure Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist.

  • CREATE SERVICE CREDENTIAL-Berechtigungen für den Unity Catalog-Metastore, der an den Arbeitsbereich angefügt ist. Kontoadministratoren und Metastoreadministratoren verfügen standardmäßig über diese Berechtigung. Wenn Ihr Arbeitsbereich automatisch für Unity-Katalog aktiviert wurde, verfügen Arbeitsbereichsadministratoren auch über diese Berechtigung.

    Hinweis

    Dienstprinzipale müssen über die Kontoadministratorrolle verfügen, um eine Dienstanmeldeinformationen zu erstellen, die eine verwaltete Identität verwenden. Sie können CREATE SERVICE CREDENTIAL nicht an einen Dienstprinzipal delegieren. Dies gilt sowohl für Azure Databricks-Dienstprinzipale als auch für Microsoft Entra ID-Dienstprinzipale.

In Ihrem Azure-Mandanten:

  • Ein Azure-Dienst in derselben Region wie der Arbeitsbereich, aus dem Sie auf die Daten zugreifen möchten.
  • Die Rolle "Mitwirkender" oder "Besitzer" in einer Azure-Ressourcengruppe.
  • Die Azure RBAC-Rolle des Besitzers oder des Benutzerzugriffsadministrators für das Dienstkonto.

Erstellen einer Dienstanmeldeinformationen mithilfe einer verwalteten Identität

Um die Identität zu konfigurieren, die den Zugriff auf Ihr Dienstkonto autorisiert, verwenden Sie einen Azure Databricks-Zugriffsconnector, der eine von Azure verwaltete Identität mit Ihrem Azure Databricks-Konto verbindet. Wenn Sie bereits über den definierten Zugriffsconnector verfügen, können Sie mit Schritt 2 im folgenden Verfahren fortfahren.

Hinweis

Sie können einen Dienstprinzipal anstelle einer verwalteten Identität verwenden, verwaltete Identitäten werden jedoch dringend empfohlen. Verwaltete Identitäten haben den Vorteil, dass Unity-Katalog auf Dienstkonten zugreifen kann, die durch Netzwerkregeln geschützt sind, was nicht mithilfe von Dienstprinzipalen möglich ist, und sie entfernen die Notwendigkeit, geheime Schlüssel zu verwalten und zu drehen. Wenn Sie einen Dienstprinzipal verwenden müssen, lesen Sie "Erstellen von verwaltetem Speicher im Unity-Katalog mithilfe eines Dienstprinzipals (Legacy)".

  1. Erstellen Sie im Azure-Portal einen Azure Databricks-Zugriffsconnector, und weisen Sie ihm Berechtigungen für den Dienst zu, auf den Sie zugreifen möchten, mithilfe der Anweisungen unter Konfigurieren einer verwalteten Identität für Unity-Katalog.

    Ein Azure Databricks Access Connector ist eine Azure-Ressource der ersten Stunde, mit der Sie verwaltete Identitäten mit einem Azure Databricks-Konto verbinden können. Sie müssen über die Rolle "Mitwirkender" oder höher in der Zugriffsconnectorressource in Azure verfügen, um die Dienstanmeldeinformationen hinzuzufügen.

    Anstatt den Anweisungen in Schritt 2 zu folgen: Gewähren Sie dem Speicherkonto den Zugriff auf die verwaltete Identität, gewähren Sie der verwalteten Identität Zugriff auf Ihr Dienstkonto.

    Notieren Sie sich die Ressourcen-ID des Zugriffsconnectors.

  2. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich als Benutzer an, der die in "Bevor Sie beginnen" aufgeführten Anforderungen erfüllt.

  3. Wählen Sie Katalogsymbol Katalog aus.

  4. Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", wechseln Sie zur Registerkarte "Anmeldeinformationen", und wählen Sie "Anmeldeinformationen erstellen" aus.

  5. Wählen Sie "Dienstanmeldeinformationen" aus.

  6. Geben Sie einen Anmeldeinformationsnamen, einen optionalen Kommentar und die Ressourcen-ID des Zugriffsconnectors im Format ein:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (Optional) Wenn Sie den Zugriffsconnector mithilfe einer benutzerseitig zugewiesenen verwalteten Identität erstellt haben, geben Sie die Ressourcen-ID der verwalteten Identität im Feld Benutzerseitig zugewiesene verwaltete Identitäts-ID im folgenden Format ein:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  8. Klicken Sie auf Erstellen.

  9. Kopieren Sie im Dialogfeld "Dienstanmeldeinformationen erstellt " die externe ID.

    Sie können die externe ID auch jederzeit auf der Seite mit den Anmeldeinformationen des Diensts anzeigen.

  10. Klicken Sie auf Fertig.

(Optional) Zuweisen von Dienstanmeldeinformationen zu bestimmten Arbeitsbereichen

Wichtig

Dieses Feature befindet sich in der Public Preview.

Standardmäßig kann über alle Arbeitsbereiche im Metastore auf anmeldeinformationen zugegriffen werden. Dies bedeutet, dass ein Benutzer, wenn einem Benutzer eine Berechtigung für diese Dienstanmeldeinformationen gewährt wurde, diese Berechtigung von jedem Arbeitsbereich ausüben kann, der dem Metastore zugeordnet ist. Wenn Sie Arbeitsbereiche verwenden, um den Benutzerdatenzugriff zu isolieren, sollten Sie den Zugriff auf Dienstanmeldeinformationen nur aus bestimmten Arbeitsbereichen zulassen. Dieses Feature wird als Arbeitsbereichsbindung oder Dienstanmeldeinformationsisolation bezeichnet.

Ein typischer Anwendungsfall zum Binden von Dienstanmeldeinformationen an bestimmte Arbeitsbereiche ist das Szenario, in dem ein Cloudadministrator eine Dienstanmeldeinformationen mithilfe einer Anmeldeinformationen für ein Produktionscloudkonto konfiguriert, und Sie möchten sicherstellen, dass Azure Databricks-Benutzer diese Anmeldeinformationen verwenden, um nur im Produktionsarbeitsbereich auf einen externen Clouddienst zuzugreifen.

Weitere Informationen zur Arbeitsbereichsbindung finden Sie unter (Optional) Zuweisen von Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen und Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.

Binden von Dienstanmeldeinformationen an einen oder mehrere Arbeitsbereiche

Verwenden Sie den Katalog-Explorer, um dienstanmeldeinformationen bestimmten Arbeitsbereichen zuzuweisen.

Erforderliche Berechtigungen: Administrator- oder Dienstanmeldeinformationsbesitzer des Metastores.

Hinweis

Metastore-Administratoren können alle Dienstanmeldeinformationen in einem Metastore mithilfe des Katalog-Explorers anzeigen, und Dienstanmeldeinformationenbesitzer können alle Dienstanmeldeinformationen sehen, die sie in einem Metastore besitzen – unabhängig davon, ob die Dienstanmeldeinformationen dem aktuellen Arbeitsbereich zugewiesen sind. Dienstanmeldeinformationen, die dem Arbeitsbereich nicht zugewiesen sind, werden abgeblendet angezeigt.

  1. Melden Sie sich bei einem Arbeitsbereich an, der mit dem Metastore verknüpft ist.

  2. Klicken Sie auf der Seitenleiste auf Katalogsymbol Katalog.

  3. Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", und wechseln Sie zur Registerkarte "Anmeldeinformationen".

  4. Wählen Sie die Dienstanmeldeinformationen aus, und wechseln Sie zur Registerkarte "Arbeitsbereiche ".

  5. Deaktivieren Sie auf der Registerkarte Arbeitsbereiche das Kontrollkästchen Alle Arbeitsbereiche haben Zugriff.

    Wenn Ihre Dienstanmeldeinformationen bereits an einen oder mehrere Arbeitsbereiche gebunden sind, ist dieses Kontrollkästchen bereits deaktiviert.

  6. Klicken Sie auf Arbeitsbereichen zuordnen und geben Sie die Arbeitsbereiche ein, die Sie zuordnen möchten, oder suchen Sie diese.

Um den Zugriff zu widerrufen, wechseln Sie zur Registerkarte Arbeitsbereiche, wählen Sie den Arbeitsbereich aus, und klicken Sie auf Widerrufen. Um den Zugriff von allen Arbeitsbereichen zuzulassen, aktivieren Sie das Kontrollkästchen Alle Arbeitsbereiche haben Zugriff.

Nächste Schritte

Begrenzungen

Es gelten die folgenden Einschränkungen:

  • Databricks Runtime 15.4 LTS umfasst nur Python-Unterstützung.
  • SQL-Lagerhäuser werden nicht unterstützt.
  • Einige Überwachungsereignisse für Aktionen, die für Dienstanmeldeinformationen ausgeführt werden, werden nicht in der system.access.audit Tabelle angezeigt. Überwachungsinformationen darüber, wer Anmeldeinformationen erstellt, gelöscht, aktualisiert, gelesen, aufgelistet oder verwendet hat, sind verfügbar. Siehe Referenz zur Systemtabelle des Überwachungsprotokolls.
  • Während der Vorschau INFORMATION_SCHEMA.STORAGE_CREDENTIALS der Dienstanmeldeinformationen (veraltet) werden sowohl Speicheranmeldeinformationen als auch Dienstanmeldeinformationen angezeigt, und INFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES (veraltet) werden Berechtigungen angezeigt, die sowohl für Speicheranmeldeinformationen als auch für Dienstanmeldeinformationen gelten. Dies ist ein falsches Vorschauverhalten, das korrigiert wird, und Sie sollten nicht davon abhängen, um den Vorgang fortzusetzen. Sie sollten stattdessen sowohl Speicher- als auch Dienstanmeldeinformationen verwenden INFORMATION_SCHEMA.CREDENTIALS INFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES .