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, ainsi que de l’autorisation d’octroyer des privilèges à d’autres principaux. Le propriétaire d’un objet a la possibilité de supprimer 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. En outre, les propriétaires d’objet peuvent accorder des privilèges sur l’objet lui-même et sur tous ses objets enfants. 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

Il existe une exception à la règle selon laquelle les propriétaires disposent de tous les privilèges sur un objet : pour éviter l’exfiltration accidentelle des données, les propriétaires de schémas n’ont pas le privilège EXTERNAL USE SCHEMA par défaut. Consultez Contrôler l’accès externe aux données dans le catalogue Unity.

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 Administrateur de metastore.

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

Voir le propriétaire de l’objet

Vous pouvez utiliser l’Explorateur de catalogues 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 icône Catalogue Catalogue.

  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, comme des emplacements externes ou des partages Delta Sharing, en cliquant sur l’icône d’engrenage icône 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> : type de sécurisable, tel que CATALOG ou TABLE.
  • <catalog>: catalogue parent si vous affichez un schéma ou le contenu d’un schéma.
  • <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 de catalogues ou les instructions SQL pour afficher le propriétaire d’un objet.

Autorisations requises: vous pouvez transférer une propriété d’objet si vous êtes le propriétaire actuel, un administrateur du metastore ou le propriétaire du conteneur (le catalogue d’un schéma, le schéma d’une table). Les objets de partage Delta Sharing sont une exception : les principaux avec les privilèges USE SHARE et SET SHARE PERMISSION peuvent également transférer la propriété du partage.

Remarque

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 actuels sont limités au transfert de propriété vers leur nom d’utilisateur ou à un groupe dont ils sont membres.

Explorateur de catalogues

  1. Dans votre espace de travail Azure Databricks, cliquez sur icône Catalogue Catalogue.

  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, comme des emplacements externes ou des partages Delta Sharing, en cliquant sur l’icône d’engrenage icône 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 du 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`;