Aktivieren der Datenzugriffskonfiguration

Dieser Artikel beschreibt die Datenzugriffskonfigurationen, die von Azure Databricks-Administratoren für alle SQL-Warehouses über die Benutzeroberfläche vorgenommen werden.

Hinweis

Wenn Ihr Arbeitsbereich für Unity Catalog aktiviert ist, müssen Sie die Schritte in diesem Artikel nicht ausführen. Unity Catalog unterstützt standardmäßig SQL Warehouses.

Databricks empfiehlt die Verwendung von Unity Catalog-Volumes oder externen Speicherorten zum Herstellen einer Verbindung mit Cloudobjektspeicher anstelle von Instanzprofilen. Unity Catalog vereinfacht die Sicherheit und Governance Ihrer Daten durch die Bereitstellung eines zentralen Ortes zum Verwalten und Überwachen des Datenzugriffs über mehrere Arbeitsbereiche in Ihrem Konto. Weitere Informationen finden Sie unter Was ist Unity Catalog? und Empfehlungen für die Verwendung externer Speicherorte.

Informationen zum Konfigurieren aller SQL-Warehouses über die REST-API finden Sie unter SQL-Warehouses-API.

Wichtig

Wenn Sie diese Einstellungen ändern, werden alle derzeit aktiven SQL-Warehouses neu gestartet.

Einen allgemeinen Überblick darüber, wie der Zugriff auf Daten ermöglicht wird, finden Sie unter Zugriffssteuerungslisten.

Anforderungen

  • Sie müssen Azure Databricks-Arbeitsbereich-Administrator sein, um Einstellungen für alle SQL-Warehouses zu konfigurieren.

Konfigurieren eines Dienstprinzipals

Führen Sie die folgenden Schritte aus, um für Ihre SQL-Warehouses Zugriff auf ein Azure Data Lake Storage Gen2-Speicherkonto unter Verwendung von Dienstprinzipalen zu konfigurieren:

  1. Registrieren Sie eine Microsoft Entra ID-Anwendung (ehemals Azure Active Directory) und erfassen Sie die folgenden Eigenschaften:

    • Anwendungs-ID (Client): Eine ID zur eindeutigen Identifizierung der Microsoft Entra ID-Anwendung.
    • Verzeichnis-ID (Mandant): Eine ID zur eindeutigen Identifizierung der Microsoft Entra ID-Instanz (in Azure Databricks als Verzeichnis- bzw. Mandanten-ID bezeichnet).
    • Geheimer Clientschlüssel: Der Wert eines geheimen Clientschlüssels, der für diese Anwendungsregistrierung erstellt wurde. Die Anwendung verwendet diese Geheimniszeichenfolge, um ihre Identität nachzuweisen.
  2. Fügen Sie in Ihrem Speicherkonto eine Rollenzuweisung für die im vorherigen Schritt registrierte Anwendung hinzu, um ihr Zugriff auf das Speicherkonto zu gewähren.

  3. Erstellen Sie einen von Azure Key Vault unterstützten Geheimnisbereich oder einen auf Databricks ausgerichteten Geheimnisbereich und erfassen Sie den Wert der Eigenschaft für den Bereichsnamen:

    • Bereichsname: Der Name des erstellten Geheimnisbereichs.
  4. Wenn Sie Azure Key Vault verwenden, wechseln Sie zum Abschnitt „Geheimnisse“, und lesen Sie Erstellen eines Geheimnisses in einem von Azure Key Vault unterstützten Geheimnisbereich. Fügen Sie dann den geheimen Clientschlüssel aus Schritt 1 in das Feld „Wert“ dieses Geheimnisses ein. Dokumentieren Sie den gewählten Geheimnisnamen.

    • Geheimnisname: Der Name des erstellten Azure Key Vault-Geheimnisses.
  5. Falls Sie einen von Databricks unterstützten Bereich verwenden, erstellen Sie ein neues Geheimnis mithilfe der Databricks-Befehlszeilenschnittstelle, und verwenden Sie es, um den geheimen Clientschlüssel aus Schritt 1 zu speichern. Dokumentieren Sie den geheimen Schlüssel, den Sie in diesem Schritt eingegeben haben.

    • Geheimer Schlüssel: Der Schlüssel des erstellten, von Databricks unterstützten Geheimnisses.

    Hinweis

    Sie können optional ein zusätzliches Geheimnis erstellen, um die Client-ID aus Schritt 1 zu speichern.

  6. Wählen Sie in der oberen Leiste im Arbeitsbereich Ihren Benutzernamen aus, und wählen Sie Einstellungen aus der Dropdownliste aus.

  7. Klicken Sie auf die Registerkarte Compute.

  8. Klicken Sie neben SQL-Warehouses auf Verwalten.

  9. Klicken Sie im Feld „Datenzugriffskonfiguration“ auf die Schaltfläche Dienstprinzipal hinzufügen.

  10. Konfigurieren Sie die Eigenschaften für Ihr Azure Data Lake Storage Gen2-Speicherkonto.

  11. Klicken Sie auf Hinzufügen.

    ADLS2-Speicherkonto

    Sie werden sehen, dass dem Textfeld „Datenzugriffskonfiguration“ neue Einträge hinzugefügt wurden.

  12. Klicken Sie auf Speichern.

Die Einträge des Textfelds „Datenzugriffskonfiguration“ können auch direkt bearbeitet werden.

Konfigurieren von Datenzugriffseigenschaften für SQL-Warehouses

So konfigurieren Sie alle Warehouses mit Datenzugriffseigenschaften

  1. Wählen Sie in der oberen Leiste im Arbeitsbereich Ihren Benutzernamen aus, und wählen Sie Einstellungen aus der Dropdownliste aus.

  2. Klicken Sie auf die Registerkarte Compute.

  3. Klicken Sie neben SQL-Warehouses auf Verwalten.

  4. Geben Sie im Textfeld Datenzugriffskonfiguration Schlüssel-Wert-Paare an, die Metastore-Eigenschaften enthalten.

    Wichtig

    Wenn Sie eine Spark-Konfigurationseigenschaft auf den Wert eines Geheimnisses festlegen möchten, ohne den Geheimniswert für Spark verfügbar zu machen, legen Sie den Wert auf {{secrets/<secret-scope>/<secret-name>}} fest. Ersetzen Sie <secret-scope> durch den Geheimnisbereich und <secret-name> durch den Geheimnisnamen. Der Wert muss mit {{secrets/ beginnen und mit }} enden. Weitere Informationen zu dieser Syntax finden Sie unter Syntax zum Verweisen auf Geheimnisse in einer Spark-Konfigurationseigenschaft oder -Umgebungsvariablen.

  5. Klicken Sie auf Speichern.

Sie können die Eigenschaften für den Datenzugriff auch mit dem Databricks-Terraform-Anbieter und databricks_sql_global_config konfigurieren.

Unterstützte Eigenschaften

  • Für einen Eintrag, der auf * endet, werden alle Eigenschaften innerhalb dieses Präfixes unterstützt.

    Beispielsweise gibt spark.sql.hive.metastore.* an, dass sowohl spark.sql.hive.metastore.jars als auch spark.sql.hive.metastore.version unterstützt werden, sowie alle anderen Eigenschaften, die mit spark.sql.hive.metastore beginnen.

  • Für Eigenschaften, deren Werte vertrauliche Informationen enthalten, können Sie die vertraulichen Informationen in einem Geheimnis speichern und den Wert der Eigenschaft mithilfe der folgenden Syntax auf den Geheimnisnamen festlegen: secrets/<secret-scope>/<secret-name>.

Für SQL-Warehouses werden folgende Eigenschaften unterstützt:

  • spark.sql.hive.metastore.*
  • spark.sql.warehouse.dir
  • spark.hadoop.datanucleus.*
  • spark.hadoop.fs.*
  • spark.hadoop.hive.*
  • spark.hadoop.javax.jdo.option.*
  • spark.hive.*

Weitere Informationen zum Festlegen dieser Eigenschaften finden Sie unter Externer Hive-Metastore.