Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment activer un contrôle d’accès aux tables pour le metastore Hive intégré sur un cluster.
Pour obtenir des informations sur comment définir des privilèges sur les objets sécurisables du Metastore Hive une fois que le contrôle d'accès aux tables a été activé sur un cluster, consultez Privilèges du Metastore Hive et objets sécurisables (ancien système).
Remarque
Le contrôle d’accès aux tables du metastore Hive est un modèle de gouvernance des données hérité. Databricks vous recommande d’utiliser plutôt Unity Catalog pour sa simplicité et son modèle de gouvernance centré sur les comptes. Vous pouvez mettre à niveau les tables managées par le metastore Hive vers le metastore Unity Catalog.
Activer un contrôle d’accès aux tables pour un cluster
Le contrôle d’accès aux tables est disponible en deux versions :
- Contrôle d’accès aux tables SQL uniquement, ce qui limite les utilisateurs aux commandes SQL.
- Contrôle d’accès aux tables Python et SQL, ce qui permet aux utilisateurs d’exécuter des commandes SQL, Python et PySpark.
Le contrôle d’accès aux tables n’est pas pris en charge avec Machine Learning Runtime.
Important
Même si le contrôle d’accès aux tables est activé pour un cluster, les administrateurs d’espaces de travail Azure Databricks ont accès aux données au niveau du fichier.
Contrôle d’accès aux tables SQL uniquement
Cette version du contrôle d’accès aux tables restreint les utilisateurs aux commandes SQL uniquement.
Pour activer le contrôle d’accès aux tables SQL uniquement sur un cluster et restreindre ce cluster à utiliser uniquement des commandes SQL, définissez l’indicateur suivant dans la conf Spark du cluster :
spark.databricks.acl.sqlOnly true
Remarque
L’accès au contrôle d’accès aux tables SQL uniquement n’est pas affecté par le paramètre Activer le contrôle d’accès aux tables dans la page des paramètres d’administration. Ce paramètre contrôle uniquement l’activation à l’ensemble de l’espace de travail de Python et du contrôle d'accès aux tables SQL.
Contrôle d’accès aux tables SQL et Python
Cette version du contrôle d’accès aux tables permet aux utilisateurs d’exécuter des commandes Python qui utilisent l’API DataFrame et SQL. Lorsqu’elle est activée sur un cluster, les utilisateurs de ce cluster :
- On peut accéder à Spark uniquement à l'aide de l'API Spark SQL ou de l'API DataFrame. Dans les deux cas, l’accès aux tables et aux vues est restreint par les administrateurs en fonction des Privilèges Azure Databricks que vous pouvez accorder sur des objets du metastore Hive.
- Doivent exécuter leurs commandes sur des nœuds de cluster en tant qu’utilisateur à faibles privilèges, et ne peuvent pas accéder aux parties sensibles du système de fichiers ou créer des connexions réseau à des ports autres que 80 et 443.
- Seules les fonctions Spark intégrées peuvent créer des connexions réseau sur des ports autres que 80 et 443.
- Seuls les utilisateurs administrateurs ou utilisateurs d’espaces de travail avec un privilège TOUT FICHIER peuvent lire les données à partir de bases de données externes via le connecteur JDBC PySpark.
- Si vous souhaitez que les processus Python puissent accéder à des ports de sortie supplémentaires, vous pouvez définir la configuration Spark
spark.databricks.pyspark.iptable.outbound.whitelisted.portssur les ports pour lesquels vous souhaitez autoriser l’accès. Le format pris en charge pour la valeur de configuration est[port[:port][,port[:port]]...], par exemple :21,22,9000:9999. Le port doit être compris dans la plage valide, c.-à-d.0-65535.
Les tentatives visant à contourner ces restrictions échouent avec une exception. Ces restrictions sont en place afin que les utilisateurs ne puissent jamais accéder aux données non privilégiées via le cluster.
Activer le contrôle d’accès aux tables pour votre espace de travail
Avant que les utilisateurs puissent configurer le contrôle d’accès aux tables Python et SQL, un administrateur d’espace de travail Azure Databricks doit activer le contrôle d’accès aux tables pour l’espace de travail Azure Databricks et refuser aux utilisateurs l’accès aux clusters qui ne sont pas activés pour le contrôle d’accès aux tables.
- Accédez à la page des paramètres.
- Cliquez sur l’onglet Security .
- Activez l’option Contrôle d’accès aux tables.
Appliquer le contrôle d’accès aux tables
Pour vous assurer que les utilisateurs accèdent uniquement aux données auxquelles vous voulez qu’ils accèdent, vous devez limiter vos utilisateurs aux clusters avec le contrôle d’accès aux tables activé. En particulier, vous devez vérifier que :
- Les utilisateurs n’ont pas l’autorisation de créer des clusters. S’ils créent un cluster sans contrôle d’accès aux tables, ils peuvent accéder à toutes les données de ce cluster.
- Les utilisateurs ne disposent pas d’autorisation PEUT JOINDRE À pour un cluster qui n’est pas activé pour le contrôle d’accès aux tables.
Pour plus d’informations, consultez Autorisations d’ordinateur.
Créer un cluster activé pour le contrôle d’accès aux tables
Le contrôle d’accès aux tables est activé par défaut dans les clusters en mode d’accès Standard.
Pour créer un cluster au moyen de l’API REST, consultez Créer un nouveau cluster.
Définir des privilèges sur un objet de données
Consultez Privilèges et objets sécurisables dans le metastore Hive (hérité).