Verwalten externer Speicherorte
In diesem Artikel wird beschrieben, wie Externe Speicherorte aufgelistet, angezeigt, aktualisiert, ihnen Berechtigungen erteilt und sie gelöscht werden.
Hinweis
Databricks empfiehlt, den Dateizugriff mithilfe von Volumes zu verwalten. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.
Beschreiben eines externen Speicherorts
Um die Eigenschaften eines externen Speicherorts (einschließlich Informationen zu Berechtigungen und zum Arbeitsbereichszugriff) anzuzeigen, können Sie den Katalog-Explorer oder einen SQL-Befehl verwenden.
Katalog-Explorer
- Klicken Sie auf der Seitenleiste auf Katalog.
- Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", um zur Registerkarte "Externe Speicherorte" zu wechseln.
- Klicken Sie auf den Namen eines externen Speicherorts, um dessen Eigenschaften anzuzeigen.
SQL
Führen Sie den folgenden Befehl in einem Notebook oder im Databricks-SQL-Editor aus. Ersetzen Sie <location-name>
durch den Namen des externen Speicherorts.
DESCRIBE EXTERNAL LOCATION <location-name>;
Anzeigen von Zuweisungen an einem externen Speicherort
Zum Anzeigen von Zuweisungen für einen externen Speicherort verwenden Sie einen Befehl wie den folgenden. Optional können Sie die Ergebnisse filtern, um nur die Zuweisungen für den angegebenen Prinzipal anzuzeigen.
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;
Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name des externen Speicherorts, der das Lesen und Schreiben im Speichercontainerpfad in Ihrem Cloudmandanten autorisiert.<principal>
: Die E-Mail-Adresse eines Benutzers auf Kontoebene oder der Name einer Gruppe auf Kontoebene.
Hinweis
Wenn eine Gruppe oder ein Benutzername ein Leerzeichen oder @
Symbol enthält, verwenden Sie die Rückstriche um sie herum (keine Apostrophe). Zum Beispiel
Finanzteam
.
Erteilen von Berechtigungen für einen externen Speicherort
In diesem Abschnitt wird beschrieben, wie Sie Berechtigungen für einen externen Speicherort mithilfe von Katalog-Explorer- und SQL-Befehlen in einem Notizbuch oder einer SQL-Abfrage erteilen und widerrufen. Informationen zur Verwendung der Databricks CLI oder Terraform finden Sie in der Databricks Terraform-Dokumentation und in Was ist die Databricks CLI?.
Sie können die folgenden Berechtigungen für einen externen Speicherort erteilen und widerrufen:
CREATE EXTERNAL TABLE
CREATE EXTERNAL VOLUME
CREATE MANAGED STORAGE
Erforderliche Berechtigungen: Sie müssen über die CREATE EXTERNAL LOCATION
-Berechtigung sowohl für den Metastore als auch für die Speicheranmeldeinformationen verfügen, auf die im externen Speicherort verwiesen wird. Metastore-Administrator*innen haben standardmäßig die Berechtigung CREATE EXTERNAL LOCATION
im Metastore.
So erteilen Sie die Berechtigung für die Verwendung eines externen Speicherorts:
Katalog-Explorer
- Klicken Sie auf der Seitenleiste auf Katalog.
- Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", um zur Registerkarte "Externe Speicherorte" zu wechseln.
- Klicken Sie auf den Namen eines externen Speicherorts, um dessen Eigenschaften zu öffnen.
- Klicken Sie auf Berechtigungen.
- Um Benutzern oder Gruppen Berechtigungen zu erteilen, wählen Sie jede Identität einzeln aus, und klicken Sie dann auf Zuweisung.
- Wählen Sie zum Widerrufen von Berechtigungen für Benutzer oder Gruppen die einzelnen Identitäten aus, und klicken Sie dann auf Widerrufen.
SQL
Führen Sie den folgenden SQL-Befehl in einem Notebook oder SQL-Abfrage-Editor aus. In diesem Beispiel wird die Möglichkeit gewährt, eine externe Tabelle zu erstellen, die auf den externen Speicherort verweist:
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;
Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name des externen Speicherorts, der das Lesen und Schreiben im Speichercontainerpfad in Ihrem Cloudmandanten autorisiert.<principal>
: Die E-Mail-Adresse eines Benutzers auf Kontoebene oder der Name einer Gruppe auf Kontoebene.
Hinweis
Wenn eine Gruppe oder ein Benutzername ein Leerzeichen oder @
Symbol enthält, verwenden Sie die Rückstriche um sie herum (keine Apostrophe). Zum Beispiel
Finanzteam
.
Ändern des Besitzers eines externen Speicherorts
Der Ersteller eines externen Standorts ist sein ursprünglicher Besitzer. Um Besitzer*innen in andere Benutzer*innen oder eine andere Gruppe auf Kontoebene zu ändern, führen Sie den folgenden Befehl in einem Notebook oder im Databricks SQL-Editor aus, oder verwenden Sie den Katalog-Explorer. Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name der Anmeldeinformationen.<principal>
: Die E-Mail-Adresse eines Benutzers auf Kontoebene oder der Name einer Gruppe auf Kontoebene.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>
Markieren eines externen Speicherorts als schreibgeschützt
Wenn Sie möchten, dass Benutzer*innen schreibgeschützten Zugriff auf einen externen Speicherort haben, können Sie den externen Speicherort unter Verwendung des Katalog-Explorers als schreibgeschützt markieren.
Externe Speicherorte schreibgeschützt machen:
- Verhindert, dass Benutzer in Dateien an diesen externen Speicherorten schreiben, unabhängig von Schreibberechtigungen, die von der verwalteten Azure-Identität gewährt werden, die den Speicheranmeldeinformationen zugrunde liegt, und unabhängig von den Unity Catalog-Berechtigungen, die für diesen externen Speicherort erteilt werden.
- Verhindert, dass Benutzer*innen verwaltete Tabellen oder Volumes an diesen externen Speicherorten erstellen.
- Ermöglicht es dem System, den externen Speicherort zur Erstellungszeit ordnungsgemäß zu überprüfen.
Sie können externe Speicherorte beim Erstellen als schreibgeschützt markieren.
Sie können auch den Katalog-Explorer verwenden, um den schreibgeschützten Status nach dem Erstellen eines externen Speicherorts zu ändern:
- Klicken Sie auf der Seitenleiste auf Katalog.
- Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", um zur Registerkarte "Externe Speicherorte" zu wechseln.
- Wählen Sie den externen Speicherort aus, klicken Sie auf das Menü Aktionen neben der Schaltfläche Verbindung testen, und wählen Sie Bearbeiten aus.
- Klicken Sie im Bearbeitungsdialogfeld auf Erweiterte Optionen, und wählen Sie die Option Auf schreibgeschützte Verwendung beschränken aus.
- Klicken Sie auf Aktualisieren.
Ändern eines externen Speicherorts
Der Besitzer eines externen Speicherorts kann den Namen, den URI und die Anmeldeinformationen des externen Speicherorts ändern.
Gehen Sie wie folgt vor, um einen externen Speicherort umzubenennen:
Führen Sie den folgenden Befehl in einem Notebook oder im Databricks-SQL-Editor aus. Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name des Speicherorts.<new-location-name>
: Ein neuer Name für den Speicherort.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;
Um den URI zu ändern, auf den ein externer Speicherort in Ihrem Cloudmandanten verweist, gehen Sie wie folgt vor:
Führen Sie den folgenden Befehl in einem Notebook oder im Databricks-SQL-Editor aus. Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name des externen Speicherorts.<url>
: Die neue Speicher-URL, für die der Speicherort den Zugriff in Ihrem Cloudmandanten autorisieren soll.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
Die Option FORCE
ändert die URL auch dann, wenn der externe Speicherort davon abhängt.
Gehen Sie wie folgt vor, um die Speicheranmeldeinformationen zu ändern, die ein externer Speicherort verwendet:
Führen Sie den folgenden Befehl in einem Notebook oder im Databricks-SQL-Editor aus. Ersetzen Sie folgende Platzhalterwerte:
<location-name>
: Der Name des externen Speicherorts.<credential-name>
: Der Name der Speicheranmeldeinformationen, die Zugriff auf die URL des Standorts in Ihrem Cloudmandanten gewähren.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;
Löschen eines externen Speicherorts
Zum Löschen eines externen Speicherorts müssen Sie dessen Besitzer sein. Gehen Sie wie folgt vor, um einen externen Speicherort zu löschen:
Führen Sie den folgenden Befehl in einem Notebook oder im Databricks-SQL-Editor aus. Elemente in Klammern sind optional. Ersetzen Sie <location-name>
durch den Namen des externen Speicherorts.
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;