Gérer les emplacements externes
Cet article explique comment répertorier, afficher, mettre à jour, accorder des autorisations sur, et supprimer des emplacements externes.
Remarque
Databricks recommande de régir l’accès aux fichiers à l’aide de volumes. Consultez Qu’est-ce que les volumes de catalogue Unity ?.
Décrire un emplacement externe.
Pour afficher les propriétés d’un emplacement externe, y compris les autorisations et l’accès à l’espace de travail, vous pouvez utiliser l’Explorateur catalogue ou une commande SQL.
Explorateur de catalogues
- Dans la barre latérale, cliquez sur Catalogue.
- Dans la page Accès rapide, cliquez sur le >externes pour accéder à l’onglet Emplacements externes.
- Cliquez sur le nom d’un emplacement externe pour afficher ses propriétés.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL. Remplacez <location-name>
par le nom de l’emplacement externe.
DESCRIBE EXTERNAL LOCATION <location-name>;
Afficher les octrois sur un emplacement externe
Pour afficher les subventions sur un emplacement externe, utilisez une commande semblable à la suivante. Vous pouvez éventuellement filtrer les résultats pour afficher uniquement les autorisations pour le principal spécifié.
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;
Remplacez les valeurs d’espace réservé :
<location-name>
: Nom de l’emplacement externe qui autorise la lecture et l’écriture dans le chemin d’accès au conteneur de stockage dans votre locataire Cloud.<principal>
: Adresse e-mail d’un utilisateur au niveau du compte ou nom d’un groupe au niveau du compte.
Remarque
Si un groupe ou un nom d’utilisateur contient un espace ou @
un symbole, utilisez des cycles précédents autour de celui-ci (et non des apostrophes). Par exemple, l’équipe
financière.
Accorder des autorisations sur un emplacement externe
Cette section explique comment accorder et révoquer des autorisations sur un emplacement externe à l’aide de l’Explorateur de catalogues et des commandes SQL dans un notebook ou une requête SQL. Pour plus d’informations sur l’utilisation de l’interface CLI Databricks ou Terraform à la place, consultez la documentation Databricks Terraform et Qu’est-ce que l’interface CLI Databricks ?.
Vous pouvez accorder les autorisations suivantes sur un emplacement externe :
CREATE EXTERNAL TABLE
CREATE EXTERNAL VOLUME
CREATE MANAGED STORAGE
Autorisations requises: privilège CREATE EXTERNAL LOCATION
sur le metastore et les informations d’identification de stockage référencées dans l’emplacement externe ou le privilège MANAGE
sur l’emplacement externe. Les administrateurs de metastore ont CREATE EXTERNAL LOCATION
sur le metastore par défaut.
Pour accorder l’autorisation d’utiliser un emplacement externe :
Explorateur de catalogues
- Dans la barre latérale, cliquez sur Catalogue.
- Dans la page Accès rapide, cliquez sur le >externes pour accéder à l’onglet Emplacements externes.
- Cliquez sur le nom d’un emplacement externe pour afficher ses propriétés.
- Cliquez sur Autorisations.
- Pour accorder l’autorisation d’accès aux utilisateurs ou aux groupes, sélectionnez chaque identité, puis cliquez sur accorder.
- Pour révoquer les autorisations des utilisateurs ou des groupes, sélectionnez chaque identité, puis cliquez sur Révoquer.
SQL
Exécutez la commande SQL suivante dans un notebook ou dans l’éditeur de requête SQL. Cet exemple octroie la capacité à créer une table externe qui référence l’emplacement externe :
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;
Remplacez les valeurs d’espace réservé :
<location-name>
: Nom de l’emplacement externe qui autorise la lecture et l’écriture dans le chemin d’accès au conteneur de stockage dans votre locataire Cloud.<principal>
: Adresse e-mail d’un utilisateur au niveau du compte ou nom d’un groupe au niveau du compte.
Remarque
Si un groupe ou un nom d’utilisateur contient un espace ou @
un symbole, utilisez des cycles précédents autour de celui-ci (et non des apostrophes). Par exemple, l’équipe
financière.
Modifier le propriétaire d’un emplacement externe
Le créateur d’un emplacement externe est son propriétaire initial. Pour remplacer le propriétaire par un autre utilisateur ou groupe de comptes, exécutez la commande suivante dans un notebook ou dans l’éditeur de SQL Databricks ou bien utilisez Catalog Explorer.
autorisations requises: propriétaire de l’emplacement externe ou utilisateur disposant du privilège MANAGE
.
Remplacez les valeurs d’espace réservé :
<location-name>
: Nom des informations d'identification.<principal>
: Adresse e-mail d’un utilisateur au niveau du compte ou nom d’un groupe au niveau du compte.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>
Marquer un emplacement externe en lecture seule
Si vous souhaitez que des utilisateurs aient un accès en lecture seule à un emplacement externe, vous pouvez utiliser Catalog Explorer pour marquer l’emplacement externe comme étant en lecture seule.
Définir des emplacements externes en lecture seule :
- Empêche les utilisateurs d’écrire dans des fichiers dans ces emplacements externes, quelles que soient les autorisations en écriture accordées par l’identité managée Azure qui sous-tend les informations d’identification de stockage, et quelles que soient les autorisations Unity Catalog accordées sur cet emplacement externe.
- Empêche les utilisateurs de créer des tables ou des volumes managés dans ces emplacements externes.
- Permet au système de valider correctement l’emplacement externe au moment de la création.
Vous pouvez marquer des emplacements externes comme étant en lecture seule lorsque vous les créez.
Vous pouvez également utiliser Catalog Explorer pour changer l’état en lecture seule après avoir créé un emplacement externe :
- Dans la barre latérale, cliquez sur Catalogue.
- Dans la page Accès rapide, cliquez sur le >externes pour accéder à l’onglet Emplacements externes.
- Sélectionnez l’emplacement externe, cliquez sur le menu Actions en regard du bouton Tester la connexion, puis sélectionnez Modifier.
- Dans la boîte de dialogue Modifier, cliquez sur Options avancées , puis sélectionnez l’option Limite de lecture seule pour utiliser l’ option.
- Cliquez sur Update.
Modifier un emplacement externe.
Le propriétaire ou l’utilisateur d’un emplacement externe disposant du privilège MANAGE
peut renommer, modifier l’URI et modifier les informations d’identification de stockage de l’emplacement externe.
Pour renommer un emplacement externe, procédez comme suit :
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL. Remplacez les valeurs d’espace réservé :
<location-name>
: Nom de l’emplacement.<new-location-name>
: Nouveau nom de l’emplacement.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;
Pour modifier l’URI qu’un emplacement externe localise dans votre locataire de cloud, procédez comme suit :
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL. Remplacez les valeurs d’espace réservé :
<location-name>
: Nom de l’emplacement externe.<url>
: La nouvelle URL de stockage à laquelle l’emplacement doit autoriser l’accès à votre locataire Cloud.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
L'option FORCE
modifie l’URL même si les tables externes dépendent de l’emplacement externe.
Pour modifier les informations d’identification de stockage qu’un emplacement externe utilise, procédez comme suit :
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL. Remplacez les valeurs d’espace réservé :
<location-name>
: Nom de l’emplacement externe.<credential-name>
: Nom des informations d’identification de stockage qui accorde l’accès à l’URL de l’emplacement dans votre locataire Cloud.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;
Supprimer un emplacement externe.
Pour supprimer (supprimer) un emplacement externe, vous devez être son propriétaire ou disposer du privilège MANAGE
sur l’emplacement externe. Pour supprimer un emplacement externe, procédez comme suit :
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL. Les éléments entre crochets sont optionnels. Remplacez <location-name>
par le nom de l’emplacement externe.
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;