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.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage
et sélectionnez Emplacements externes.
Vous pouvez également, à partir de la page Accès rapide, cliquer sur le bouton Données 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 nom de groupe contient un espace, utilisez des battements en arrière (pas d’apostrophes).
Accorder des autorisations sur un emplacement externe
Cette section explique comment accorder et révoquer des autorisations sur un emplacement externe à l’aide de Catalog Explorer et de commandes SQL dans un notebook ou une requête SQL Databricks. 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 nécessaires : privilège CREATE EXTERNAL LOCATION
sur le metastore et les informations d’identification de stockage référencées dans 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.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage
et sélectionnez Emplacements externes.
Vous pouvez également, à partir de la page Accès rapide, cliquer sur le bouton Données 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 nom de groupe contient un espace, utilisez des battements en arrière (pas d’apostrophes).
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. 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.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage
et sélectionnez Emplacements externes.
Vous pouvez également, à partir de la page Accès rapide, cliquer sur le bouton Données 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.
Modifier un emplacement externe.
Le propriétaire d’un emplacement externe 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 en être le propriétaire. 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>;