Configuration de l’accès aux données

Cet article décrit les configurations d’accès aux données effectuées par les administrateurs Azure Databricks pour tous les entrepôts SQL (auparavant appelés « points de terminaison SQL ») en utilisant l’interface utilisateur.

Pour configurer tous les entrepôts SQL en utilisant l’API REST, consultez API Entrepôts SQL globale.

Important

La modification de ces paramètres a pour effet de redémarrer tous les entrepôts SQL en cours d’exécution.

Pour obtenir une vue d’ensemble générale de l’activation de l’accès aux données, consultez Modèle de sécurité SQL Databricks et vue d’ensemble de l’accès aux données.

Spécifications

Vous devez être administrateur Azure Databricks pour configurer des paramètres pour tous les entrepôts SQL.

Configurer un principal de service

Pour configurer l’accès de vos entrepôts SQL à un compte de stockage Azure Data Lake Storage Gen2 à l’aide de principaux de service, procédez comme suit :

  1. Inscrivez une application Azure AD et enregistrez les propriétés suivantes :

    • ID d’application (client) : ID qui identifie de manière unique l’application Azure Active Directory.
    • ID (locataire) de répertoire : ID qui identifie de manière unique l’instance Azure Active Directory (appelé ID (locataire) de répertoire dans Azure Databricks).
    • Clé secrète client : valeur d’une clé secrète client créée pour cette inscription d’application. L’application utilisera cette chaîne secrète pour prouver son identité.
  2. Sur votre compte de stockage, ajoutez une attribution de rôle pour l’application inscrite à l’étape précédente pour lui donner accès au compte de stockage.

  3. Créez une étendue secrète Azure Key Vault ou une étendue de secret d’étendue Databricks, puis enregistrez la valeur de la propriété de nom d’étendue :

    • Nom de l’étendue : nom de l’étendue du secret créé.
  4. Si vous utilisez Azure Key Vault, accédez à la section Secrets et créez un secret avec le nom de votre choix. Utilisez la « clé secrète client » que vous avez obtenu à l’étape 1 pour renseigner le champ « valeur » de ce secret. Conservez un enregistrement du nom du secret que vous venez de choisir.

    • Nom du secret : nom du secret Azure Key Vault créé.
  5. Si vous utilisez une étendue associée à Databricks, créez un secret à l’aide de la CLI Databricks et utilisez-le pour stocker la clé secrète client obtenue à l’étape 1. Conservez un enregistrement de la clé secrète que vous avez entrée à cette étape.

    • Clé secrète : clé du secret associé à Databricks créé.

    Notes

    Si vous le souhaitez, vous pouvez créer un secret supplémentaire pour stocker l’ID client que vous avez obtenu à l’étape 1.

  6. Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail, puis sélectionnez Console administrateur SQL dans la liste déroulante.

  7. Cliquez sur l’onglet Paramètres d’entrepôt SQL.

  8. Dans le champ Configuration de l’accès aux données, cliquez sur le bouton Ajouter un principal de service.

  9. Configurez les propriétés de votre compte de stockage Azure Data Lake Storage Gen2.

  10. Cliquez sur Add.

    Compte de stockage ADLS2

    Vous verrez que de nouvelles entrées ont été ajoutées à la zone de texte Configuration de l’accès aux données.

  11. Cliquez sur Enregistrer.

Notes

Vous pouvez également modifier directement les entrées de la zone de texte Configuration de l’accès aux données.

Important

Pour définir une propriété de configuration sur la valeur d’un secret sans exposer la valeur du secret à Spark, définissez la valeur sur {{secrets/<secret-scope>/<secret-name>}}. Remplacez <secret-scope> par l’étendue du secret et <secret-name> par le nom du secret. La valeur doit commencer par {{secrets/ et se terminer par with }}. Pour plus d’informations sur cette syntaxe, consultez Syntaxe pour référencer des secrets dans une variable d’environnement ou une propriété de configuration Spark.

Configurer les propriétés d’accès aux données pour les entrepôts SQL

Pour configurer tous les entrepôts avec des propriétés d’accès aux données :

  1. Cliquez sur l’User Settings IconParamètres au bas de la barre latérale, puis sélectionnez Console d’administration SQL.

  2. Cliquez sur l’onglet Paramètres d’entrepôt SQL.

  3. Dans la zone de texte Configuration de l’accès aux données, spécifiez des paires clé-valeur contenant les propriétés du metastore.

    Important

    Pour définir une propriété de configuration Spark sur la valeur d’un secret sans exposer la valeur du secret à Spark, affectez la valeur à {{secrets/<secret-scope>/<secret-name>}}. Remplacez <secret-scope> par l’étendue du secret et <secret-name> par le nom du secret. La valeur doit commencer par {{secrets/ et se terminer par }}. Pour plus d’informations sur cette syntaxe, consultez Syntaxe pour référencer des secrets dans une variable d’environnement ou une propriété de configuration Spark.

  4. Cliquez sur Enregistrer.

Vous pouvez également configurer des propriétés d’accès aux données avec le fournisseur Databricks Terraform et databricks_sql_global_config.

Propriétés prises en charge

Les propriétés suivantes sont prises en charge pour les entrepôts SQL. Pour une entrée qui se termine par *, toutes les propriétés de ce préfixe sont prises en charge. Par exemple, spark.sql.hive.metastore.* indique que spark.sql.hive.metastore.jars et spark.sql.hive.metastore.version sont pris en charge, ainsi que toutes les autres propriétés qui commencent par spark.sql.hive.metastore.

Pour les propriétés dont les valeurs contiennent des informations sensibles, vous pouvez stocker les informations sensibles dans un secret et définir la valeur de la propriété sur le nom du secret à l’aide de la syntaxe suivante : secrets/<secret-scope>/<secret-name>.

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

Pour plus d’informations sur la façon de définir ces propriétés, consultez Metastore Hive externe.