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 von Azure Databricks auf externe Clouddienste steuern können. Eine Dienstanmeldeinformation im Unity-Katalog kapselt eine langfristige Cloudanmeldeinformationen, die Zugriff auf diese Dienste gewähren.
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)".
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.
Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich als Benutzer an, der die in "Bevor Sie beginnen" aufgeführten Anforderungen erfüllt.
Wählen Sie Katalog aus.
Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", wechseln Sie zur Registerkarte "Anmeldeinformationen", und wählen Sie "Anmeldeinformationen erstellen" aus.
Wählen Sie "Dienstanmeldeinformationen" aus.
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>
(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>
Klicken Sie auf Erstellen.
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.
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.
Melden Sie sich bei einem Arbeitsbereich an, der mit dem Metastore verknüpft ist.
Klicken Sie auf der Seitenleiste auf Katalog.
Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", und wechseln Sie zur Registerkarte "Anmeldeinformationen".
Wählen Sie die Dienstanmeldeinformationen aus, und wechseln Sie zur Registerkarte "Arbeitsbereiche ".
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.
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
- Erfahren Sie, wie Sie andere Benutzer zum Verwenden von Dienstanmeldeinformationen anzeigen, aktualisieren, löschen und erteilen. Siehe "Dienstanmeldeinformationen verwalten".
- Erfahren Sie, wie Sie Dienstanmeldeinformationen im Code verwenden. Weitere Informationen finden Sie unter Verwenden der Anmeldeinformationen des Unity-Katalogdiensts, um eine Verbindung mit externen Clouddiensten herzustellen.
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, undINFORMATION_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 verwendenINFORMATION_SCHEMA.CREDENTIALS
INFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES
.