Freigeben über


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 mit Azure Key Vault gesicherten oder databricks-bereichsbezogenen geheimen Bereich, lesen Sie " Verwalten von geheimen Bereichen", und notieren Sie den Wert der Bereichsnameneigenschaft:

    • Bereichsname: Der Name des erstellten Geheimnisbereichs.
  4. Wenn Sie Azure Key Vault verwenden, erstellen Sie einen geheimen Schlüssel im Azure Key Vault, indem Sie den geheimen Clientschlüssel im Feld "Wert " verwenden. Ein Beispiel finden Sie unter Schritt 4: Hinzufügen des geheimen Clientschlüssels zu Azure Key Vault. Notieren Sie sich den geheimen Namen, den Sie ausgewählt haben.

    • 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 Verwalten von geheimen Schlüsseln.

  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.