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.
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 des 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.
Un objet ne peut avoir qu'un seul principal, y compris un groupe, tandis que MANAGE
peut être accordé à plusieurs principaux.
Pour éviter l’escalade accidentelle des privilèges, ALL PRIVILEGES
n’inclut pas le privilège MANAGE
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
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
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 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 queCATALOG
ouTABLE
.<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 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 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 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.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
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 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.
Cliquez sur l’icône d’édition en regard du Propriétaire.
Recherchez et sélectionnez un groupe, un utilisateur ou un principal de service.
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 exempleCATALOG
ouTABLE
.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`;