Aller au contenu principal

Gérer les demandes d'accès

info

Aperçu

Cette fonctionnalité est en aperçu public.

La fonctionnalité de demande d’accès (RFA) permet aux utilisateurs de demander des privilèges pour les objets sécurisables dans Unity Catalog. Cette page explique comment configurer les destinations des demandes d'accès en tant qu'administrateur. Ces destinations déterminent où les demandes d'accès sont envoyées lorsque les utilisateurs demandent l'accès aux objets de données.

Que sont les destinations de requêtes d'accès ?

Lorsque les utilisateurs demandent l'accès à un objet dans Unity Catalog (tel qu'une table ou une vue), la demande est envoyée à une ou plusieurs destinations configurées. Les destinations peuvent être les suivantes :

  • Adresses e-mail

  • Canaux Slack

  • Canaux Microsoft Teams

  • Webhook Endpoint

  • Une URL de redirection (vers le système externe de demande d'accès de votre organisation)

    Une seule URL de redirection peut être configurée par objet. Si une URL est définie, aucune autre destination ne peut être configurée et les utilisateurs sont redirigés vers cette URL au lieu de voir le formulaire de demande intégré au produit.

Demander des autorisations directement depuis votre lieu de travail dans Databricks

Une fois les destinations configurées, les utilisateurs peuvent demander des autorisations à partir de plusieurs interfaces produit : Explorateur de catalogues, éditeur SQL et Notebooks, tableaux de bord AI/BI et agents Genie.

Explorateur de catalogue

Les utilisateurs disposant du privilège BROWSE peuvent naviguer dans l’arborescence du catalogue, ouvrir la page d’un objet et demander des privilèges supplémentaires (tels que SELECT) à partir de là. Les utilisateurs peuvent également recevoir une URL directe vers la page d’un objet et demander l’accès depuis la même interface, même sans BROWSE.

Page d’objets de l’Explorateur de catalogues avec une fonctionnalité « Demander l’accès ».

Éditeur SQL, notebooks et autres surfaces de création

Lorsqu'une requête ou une commande échoue avec une erreur INSUFFICIENT_PERMISSIONS, le message d'erreur inclut une option Demander l'accès qui pré-remplit la requête avec les tables référencées. Cela fonctionne partout où l'erreur apparaît, y compris dans l'éditeur SQL et les notebooks.

La query SQL échoue avec une erreur INSUFFICIENT_PERMISSIONS et une option de demande d'accès.

Tableaux de bord AI/BI

Lorsqu'un tableau de bord s'exécute sans identifiants intégrés et qu'un widget référence des datasets que l'utilisateur ne peut pas lire, le widget affiche un modal Demander l'accès pour les datasets manquants.

Widget de AI/BI dashboard invitant l'utilisateur à demander l'accès aux datasets manquants.

Agents Genie

Lorsqu'un Genie Agent fait référence à des tables pour lesquelles l'utilisateur ne dispose pas d'autorisations, l'espace affiche une bannière PERMISSION_DENIED avec une fenêtre modale Demander l'accès pour les tables inaccessibles.

Agent Genie avec une fenêtre modale de demande d'accès répertoriant les tables inaccessibles.

Fonctionnement des destinations des demandes d'accès

Les destinations des demandes d’accès peuvent être configurées sur la plupart des objets dans Unity Catalog, y compris les metastores, les catalogues, les schémas, les tables, les vues, les volumes, les fonctions, les modèles, les identifiants de stockage, les identifiants de service, les emplacements externes et les connexions. Les utilisateurs peuvent demander l'accès à un objet s'ils disposent du privilège BROWSE ou d'une URL directe vers l'objet.

Lors de la soumission d'une requête, les utilisateurs peuvent demander l'accès pour un ou plusieurs principals. Cela inclut eux-mêmes, les Service Principal, d'autres utilisateurs ou des groupes. La requête est acheminée vers les destinations configurées. Si plusieurs destinations sont configurées sur un objet, la requête est envoyée à toutes.

Si une URL de redirection est configurée, les utilisateurs sont redirigés vers cette URL et ne voient pas le formulaire de demande d'accès. Les administrateurs du Workspace peuvent configurer des destinations externes en suivant les instructions de Gérer les destinations de notification.

Databricks détermine où acheminer les demandes d’accès en fonction de si la demande d’accès (RFA) est activée au niveau du metastore ou du Workspace.

Vue d'ensemble de la résolution des destinations de demande d'accès

Logique de résolution de destination

Lorsque les demandes d'accès au niveau du metastore sont activées, Databricks résout la destination d'une demande donnée dans l'ordre suivant :

  1. Destination explicite au niveau de l'objet : si l'objet a une destination explicite définie, la requête y est envoyée.
  2. E-mail du propriétaire de l'objet : si le propriétaire de l'objet est un utilisateur individuel, la demande est envoyée à son adresse e-mail.
  3. Destination de l'objet parent : Si le propriétaire de l'objet est un groupe ou un Service Principal, Databricks remonte la hiérarchie des objets et utilise la première destination explicite trouvée.
  4. Destination au niveau du Metastore : si aucune destination n’est trouvée dans la hiérarchie des objets, la requête est renvoyée à la destination au niveau du metastore. Si aucune destination au niveau du metastore n'est définie, les utilisateurs ne peuvent pas demander l'accès à l'objet. Voir Activer les demandes d'accès pour le métastore.

Le diagramme ci-dessous illustre cet ordre :

Logique de résolution de destination lorsque le RFA au niveau du métastore est activé

Comportement d'héritage de destination

Lorsque vous configurez une destination à des niveaux supérieurs de la hiérarchie d'objets du Unity Catalog, elle s'applique également à tous les objets enfants qui n'ont pas encore de destination. Par exemple, si vous configurez une destination sur un catalogue, cette destination est héritée par tous les schémas et objets du catalogue, à l'exception de ceux qui ont déjà une destination.

Exemple d'héritage des destinations de demande d'accès

Activer les demandes d'accès sur le métastore

Databricks recommande d’activer les demandes d’accès au niveau du métastore. Ceci garantit que les demandes d’accès sont livrées même si aucune destination n’est configurée manuellement. Lorsque cette option est activée, les demandes d'objets de catalogue sont envoyées à l'adresse e-mail du propriétaire du catalogue, et les demandes d'objets en dehors d'un catalogue, tels que les emplacements externes, sont envoyées à l'adresse e-mail du propriétaire de l'objet.

Pour configurer les demandes d'accès à travers le métastore, vous devez être un administrateur du métastore.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalogue , cliquez sur l'icône d'engrenage Icône d'engrenage. et sélectionnez Metastore .

  3. Sous l'onglet Détails , cliquez sur l'icône de modification en regard de Demandes d'accès .

    Modifiez les demandes d'accès au métastore dans l'Explorateur de catalogues.

  4. Configurez les options suivantes :

    • Paramètre des demandes d'accès au métastore : Activez cette option pour configurer automatiquement l’adresse e-mail du propriétaire comme destination pour chaque objet. Ceci s’applique uniquement aux objets sans destination explicitement configurée. Vous pouvez modifier manuellement n’importe quelle destination configurée.
    • Destination au niveau du métastore : Vous pouvez définir n'importe quelle adresse e-mail, webhook ou URL de redirection comme destination au niveau du métastore. Cette destination est héritée par tous les objets enfants (catalogues, schémas, tables et autres objets sécurisables) qui n'ont pas de destination explicitement configurée.
remarque

Le paramètre Activer les destinations e-mail par default pour les demandes d’accès dans UC , précédemment disponible dans Settings > Notifications , a été déprécié et remplacé par la configuration au niveau du metastore décrite ci-dessus. Les clients qui ont activé le paramètre default au niveau du workspace ne subissent aucun changement de comportement.

Configurez les destinations des demandes d’accès sur un objet.

Pour configurer les destinations des demandes d’accès sur un objet, vous devez être le propriétaire de l’objet, disposer du privilège MANAGE sur l’objet, ou être un administrateur du métastore.

Vous pouvez configurer les destinations à l'aide de Catalog Explorer, de l'API REST ou de Terraform.

Configurez les destinations pour les objets existants

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. Sélectionnez un objet sécurisable.

  3. Cliquez sur le menu kebab Icône du menu kebab. et sélectionnez Gérer les destinations des demandes d'accès .

  4. Sélectionnez une ou plusieurs destinations e-mail ou externes, ou configurez une URL de redirection. Si une URL est sélectionnée, aucun autre type de destination ne peut être ajouté.

    Configurer une destination de demande d'accès.

  5. Cliquez sur Mettre à jour .

Configurez les destinations lors de la création d'un catalogue

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .
  2. Cliquez sur l'Icône Plus. icône plus. Ensuite, cliquez sur Créer un catalogue .
  3. Veuillez saisir un nom pour votre catalogue, puis cliquez sur **Créer un catalogue**.
  4. Dans la prochaine fenêtre modale, cliquez sur Configurer le catalogue .
  5. Sous la section Demandes d'accès , ajoutez, modifiez ou supprimez des destinations si nécessaire. L'e-mail du propriétaire du catalogue est inclus comme destination par default.

Configurez une destination de demande d'accès pour un nouveau catalogue.

  1. Cliquez sur Suivant , puis cliquez sur Enregistrer .

Les destinations sont héritées dans la hiérarchie d'objets du Unity Catalog. Lors de la création d’un schéma dans un catalogue doté d’une destination de demande d’accès, la fenêtre contextuelle Créer un nouveau schéma mentionne les destinations héritées :

Destinations des demandes d'accès listées dans la nouvelle fenêtre modale de schéma

Pour modifier ces destinations sur le schéma, consultez Configurer les destinations des objets existants.

Exemples de demande d'accès

La section suivante présente des exemples de demandes d’accès envoyées à différentes destinations.

e-mail

Les e-mails de demande d'accès sont envoyés depuis noreply@databricks.com.

Demande d'accès pour la destination e-mail.

Slack

Destination Slack pour les demandes d’accès.

Webhook (JSON)

JSON
{
"requesterName": "<first-name> <last-name> (<email>)",
"objectName": "<catalog>.<schema>.<table>",
"objectType": "Table",
"privileges": "SELECT",
"principalName": "<group-name>",
"onBehalfOf": "<group-name>",
"onBehalfOfType": "Group",
"comment": "My team needs access to run queries on this table.",
"databricksWorkspaceUrl": "https:/<account>.databricks.com/explore/data/<catalog>/<schema>/<table>?o=<table-id>&activeTab=permissions&showGrantModal=true&requestedPrivileges=SELECT&groupId=<group-id>"
}

Pour plus d'informations sur la manière d'intégrer les webhooks avec des outils courants, voir ce qui suit :

Validation des autorisations intégrée

  • Les privilèges prérequis (USE CATALOG, USE SCHEMA) sont vérifiés automatiquement lorsqu'un utilisateur demande un privilège comme SELECT.
  • Les prérequis manquants génèrent des demandes supplémentaires acheminées aux approbateurs des objets parents.
  • La validation s'applique également aux requêtes soumises au nom d'un autre utilisateur ou groupe.

Approuver une demande d'accès

Pour approuver une demande d'accès, suivez le Link envoyé à votre notification de demande d'accès. The Link ouvre une boîte de dialogue modale dans votre Workspace qui affiche le demandeur, l'objet et les privilèges demandés.

Examiner une demande d&#39;accès.

Ensuite, sélectionnez l'une des méthodes d'approbation suivantes :

  • Ajouter un principal à un ou plusieurs groupes pour ajouter le demandeur à un ou plusieurs groupes existants disposant d'au moins l'un des privilèges demandés.

    Accorder une demande d&#39;accès à l&#39;aide d&#39;un groupe.

  • Accorder des privilèges au principal pour lui donner un accès direct à l'objet. Vous pouvez également sélectionner des préréglages de privilèges, tels que Lecteur de données pour accorder à un utilisateur un ensemble de privilèges.

    Accorder une demande d’accès à l’aide de privilèges.

Pour un enregistrement de chaque demande d'accès et configuration de destination, consultez les événements de demande d'accès dans la référence du Logs d'audit.