Partager via


Gérer la propriété de l’objet Unity Catalog

Chaque objet sécurisable dans Unity Catalog a un propriétaire. Tout principal peut en être propriétaire : un utilisateur, un responsable de service ou un groupe de comptes. Le principal qui crée un objet devient son propriétaire initial. Le propriétaire d’un objet dispose de tous les privilèges sur l’objet, tels que SELECT et MODIFY sur une table, en plus de l’autorisation d’accorder des privilèges à d’autres principaux. Le propriétaire d'un objet a la possibilité de déposer l'objet.

Privilèges de propriétaire

Les propriétaires d’un objet bénéficient automatiquement de tous les privilèges sur cet objet. Supplémentairement, les propriétaires d’objet peuvent accorder des privilèges sur l’objet lui-même et sur tous ses sous-objets. Cela signifie que les propriétaires d’un schéma ne disposent pas automatiquement de tous les privilèges sur les tables du schéma, mais qu’ils peuvent s’octroyer des privilèges sur les tables du schéma.

Remarque

Pour éviter l’exfiltration accidentelle des données, les propriétaires de schémas n’ont pas le EXTERNAL USE SCHEMA privilège par défaut et les propriétaires d’emplacements externes n’ont pas le EXTERNAL USE LOCATION privilège par défaut. Voir Activer l'accès aux données externes à Unity Catalog.

Métastore et propriété du catalogue

Les administrateurs du metastore sont les propriétaires du metastore. Le rôle d’administrateur du metastore est facultatif. Les administrateurs du metastore peuvent réattribuer la propriété du metastore en transférant le rôle d’administrateur du metastore, consultez Attribuer un rôle d’administrateur du metastore.

Si votre espace de travail a été activé automatiquement pour Unity Catalog, l’espace de travail est attaché à un metastore par défaut et un catalogue d’espaces de travail est créé pour votre espace de travail dans le metastore. Les administrateurs de l'espace de travail sont les propriétaires par défaut et peuvent réattribuer la propriété du catalogue de l'espace de travail. Dans ces espaces de travail, aucun administrateur de metastore n’est affecté par défaut, mais les administrateurs de compte peuvent octroyer le rôle Administrateur du metastore si nécessaire. Voir les Administrateurs de metastore.

Pour plus d’informations sur les privilèges d’administrateur dans Unity Catalog, consultez Privilèges d’administrateur dans Unity Catalog.

Propriété par rapport au privilège de MANAGE

MANAGE (aperçu public) est un privilège similaire à la propriété de l’objet. Il accorde à un utilisateur la possibilité de modifier, de supprimer et de gérer des privilèges sur l’objet. Toutefois, les utilisateurs disposant du privilège MANAGE sur un objet ne bénéficient pas automatiquement de tous les privilèges sur cet objet. Comme ils le font avec d’autres privilèges, les utilisateurs nécessitent USE CATALOG sur le catalogue parent de l’objet et USE SCHEMA sur le schéma parent de l’objet. Par exemple, pour accorder des autorisations sur une table, les utilisateurs doivent disposer des privilèges MANAGE sur cette table, des privilèges USE CATALOG sur son catalogue parent, ainsi que des privilèges USE SCHEMA sur son schéma parent.

Le propriétaire d’un objet ne peut être qu’une seule entité principale, un groupe étant considéré comme tel, tandis que MANAGE peut être accordé à plusieurs entités principales.

Pour éviter l’escalade accidentelle des privilèges, ALL PRIVILEGES n’inclut pas le privilège MANAGE

Afficher le propriétaire d’un objet

Vous pouvez utiliser l’Explorateur catalogue ou les instructions SQL pour afficher le propriétaire d’un objet.

Autorisations requises: tout utilisateur disposant du privilège BROWSE sur l’objet ou un parent de l’objet peut afficher le propriétaire de l’objet.

Explorateur de catalogues

  1. Dans votre espace de travail Azure Databricks, cliquez sur Data icon.Catalog.

  2. Sélectionnez l’objet, tel qu’un catalogue, un schéma, une table, une vue, un volume, un emplacement externe ou des informations d’identification de stockage.

    La façon d’accéder à l’objet dépend de l’objet. Les catalogues, les schémas et le contenu des schémas (comme les tables et les volumes) sont sélectionnables dans le volet Catalogue gauche. Vous pouvez trouver d’autres objets, tels que des emplacements externes ou des partages Delta Sharing, en cliquant sur l’icône d’engrenage au-dessus du volet Catalogue et en sélectionnant la catégorie d’objet dans le menu.

    Pour la plupart des objets, le propriétaire s’affiche sur l’onglet Vue d’ensemble de la page des détails de l’objet. Pour certains objets, comme que les emplacements externes, il s’affiche en haut de la page des détails de l’objet.

SQL

Exécutez la commande SQL suivante dans un notebook ou dans l’éditeur de requête SQL. Remplacez les valeurs d’espace réservé :

  • <securable-type> : un type d'élément sécurisable, tel que CATALOG ou TABLE.
  • <catalog>: le catalogue parent lorsque vous consultez un schéma ou son contenu.
  • <schema>: schéma parent si vous affichez le contenu d’un schéma, comme une table ou une vue.
  • <securable-name> : nom de l’objet sécurisable.
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;

Transférer la propriété

Vous pouvez utiliser l’Explorateur catalogue ou les instructions SQL pour afficher le propriétaire d’un objet.

Autorisations requises: vous pouvez transférer la propriété de l’objet si vous êtes le propriétaire actuel, un administrateur de metastore, le propriétaire du conteneur (le catalogue d’un schéma, le schéma d’une table) ou un utilisateur disposant du privilège MANAGE sur l’objet. Les objets de partage delta sont une exception : seul un administrateur de metastore peut transférer la propriété du partage.

Pour empêcher les escalades de privilèges, seul un administrateur de metastore peut transférer la propriété d’une vue, d’une fonction ou d’un modèle à n’importe quel utilisateur, principal de service ou groupe dans le compte. Les propriétaires et utilisateurs actuels disposant du privilège MANAGE sont limités au transfert de propriété vers leur nom d’utilisateur ou à un groupe dont ils sont membres.

Conseil / Astuce

Le transfert de la propriété d’une vue ou d’une vue de métrique vers un groupe permet une modification collaborative. Lorsqu’un groupe possède une vue ou une vue de métrique, tous les membres du groupe peuvent modifier sa définition tandis que l’accès aux données reste limité à ce que le groupe a l’autorisation de voir. Pour obtenir des instructions détaillées, consultez Activer la modification collaborative.

Remarque

Les vues matérialisées et les tables de diffusion en continu créées avec Databricks SQL peuvent avoir la propriété transférée. Pour plus d’informations, consultez Modifier le propriétaire d’une vue matérialisée et modifier le propriétaire d’une table de diffusion en continu.

Les vues matérialisées et les tables de streaming, créées avec les pipelines déclaratifs Spark Lakeflow, ne peuvent pas voir leur propriété transférée directement. Au lieu de cela, modifiez l’utilisateur d’exécution du pipeline propriétaire des jeux de données. Une fois l’actualisation suivante effectuée, le propriétaire sera mis à jour vers l’utilisateur d’identification. Consultez Définir l’utilisateur d’identification.

Explorateur de catalogues

  1. Dans votre espace de travail Azure Databricks, cliquez sur Data icon.Catalog.

  2. Sélectionnez l’objet, tel qu’un catalogue, un schéma, une table, un affichage, un emplacement externe ou des informations d’identification de stockage.

    La façon d’accéder à l’objet dépend de l’objet. Les catalogues, les schémas et le contenu des schémas (comme les tables et les volumes) sont sélectionnables dans le volet Catalogue gauche. Vous pouvez trouver d’autres objets, tels que des emplacements externes ou des partages Delta Sharing, en cliquant sur l’icône d’engrenage au-dessus du volet Catalogue et en sélectionnant la catégorie d’objet dans le menu.

    Pour la plupart des objets, le propriétaire s’affiche sur l’onglet Vue d’ensemble de la page des détails de l’objet. Pour certains objets, comme que les emplacements externes, il s’affiche en haut de la page des détails de l’objet.

  3. Cliquez sur l’icône d’édition Icône Modifier en regard du Propriétaire.

  4. Recherchez et sélectionnez un groupe, un utilisateur ou un principal de service.

  5. Cliquez sur Enregistrer.

SQL

Exécutez la commande SQL suivante dans un notebook ou dans l’éditeur de requête SQL. Remplacez les valeurs d’espace réservé :

  • <securable-type> : type de l’objet sécurisable, par exemple CATALOG ou TABLE. METASTORE n’est pas pris en charge en tant qu’objet sécurisable dans cette commande.
  • <securable-name> : nom de l'objet sécurisable. Si vous modifiez un schéma ou le contenu d’un schéma, vous devez utiliser l’espace de noms complet à trois niveaux (catalog.schema.object), sauf si vous avez déjà spécifié le catalogue ou le schéma parent.
  • <principal> est un utilisateur, un principal de service (représenté par sa valeur applicationId) ou un groupe. Les noms des utilisateurs, des principaux services et des groupes qui contiennent des caractères spéciaux doivent être placés entre des accents graves (` `). Consultez Principal.
ALTER <securable-type> <securable-name> OWNER TO <principal>;

Par exemple, pour transférer la propriété de la table orders au groupe accounting :

ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;