Gérer les identifiants de stockage
Cette page décrit comment lister, afficher, mettre à jour, accorder des autorisations et supprimer des informations d'identification de stockage.
Databricks vous recommande d'accorder uniquement CREATE EXTERNAL LOCATION et aucun autre privilège sur les identifiants de stockage.
Cette page décrit comment gérer les informations d'identification de stockage à l'aide de Catalog Explorer et des commandes SQL. Pour en savoir plus sur l'utilisation du CLI Databricks ou de Terraform, consultez la documentation Databricks Terraform et le CLI Databricks.
Lister les identifiants de stockage
Pour afficher la liste de tous les identifiants de stockage dans un metastore, vous pouvez utiliser l'Explorateur de catalogue ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Triez les identifiants par Objectif (STOCKAGE ou SERVICE).
Exécutez la commande suivante dans un notebook ou l'éditeur Databricks SQL.
SHOW STORAGE CREDENTIALS;
Afficher un identifiant de stockage
Pour afficher les propriétés d'un identifiant de stockage, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d’un identifiant de stockage pour afficher ses propriétés.
Exécutez la commande suivante dans un Notebook ou l'éditeur Databricks SQL. Remplacez <credential-name> par le nom de l'identifiant.
DESCRIBE STORAGE CREDENTIAL <credential-name>;
Attribuer un identifiant de stockage à des workspaces spécifiques
Par default, une information d'identification de stockage est accessible depuis tous les Workspace dans le metastore. Cela signifie que si un utilisateur s'est vu accorder un privilège (tel que CREATE EXTERNAL LOCATION) sur cette information d'identification de stockage, il peut exercer ce privilège depuis n'importe quel workspace attaché au metastore. Si vous utilisez des Workspace pour isoler l'accès aux données des utilisateurs, vous voudrez peut-être autoriser l'accès à une information d'identification de stockage uniquement depuis des Workspace spécifiques. Cette fonctionnalité est connue sous le nom de liaison de workspace ou d'isolation des informations d'identification de stockage.
Les administrateurs cloud lient souvent les identifiants de stockage à des espaces de travail spécifiques pour s'assurer que les identifiants de production ne sont utilisés que pour créer des emplacements externes au sein des espaces de travail de production.
Pour plus d'informations sur la liaison de workspace, consultez liaison Workspace-catalogue.
Les liaisons Workspace sont référencées lorsque les autorisations relatives aux identifiants de stockage sont exercées. Par exemple, si un utilisateur crée un emplacement externe à l’aide d’un identifiant de stockage, la liaison Workspace sur l’identifiant de stockage n’est vérifiée qu’au moment de la création de l’emplacement externe. Une fois l’emplacement externe créé, il fonctionne indépendamment des liaisons Workspace configurées sur l’identifiant de stockage.
Lier des informations d'identification de stockage à un ou plusieurs Workspace
Pour attribuer un identifiant de stockage à des Workspace spécifiques, vous pouvez utiliser l'Explorateur de catalogues ou l'interface de ligne de commande Databricks.
Autorisations requises : Administrateur du métastore, propriétaire de l’identifiant de stockage ou MANAGE sur l’identifiant de stockage.
Peu importe si l'identifiant de stockage est attribué au workspace actuel, les administrateurs de métastore peuvent voir tous les identifiants de stockage dans un métastore à l'aide de Catalog Explorer, et les propriétaires d'identifiants de stockage peuvent voir tous les identifiants de stockage qu'ils possèdent dans un métastore. Les informations d'identification de stockage qui ne sont pas attribuées au workspace apparaissent indisponibles.
- Catalog Explorer
- CLI
-
Connectez-vous à un Workspace lié au métastore.
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur **Connecter** > **Identifiants**.
-
Sélectionnez l'identifiant de stockage et accédez à la tab Workspaces.
-
Dans l’onglet **tab**, décochez la case **Tous les Workspaces ont accès**.
Si votre identifiant de stockage est déjà lié à un ou plusieurs Workspaces, cette case est déjà décochée.
-
Cliquez sur Assigner aux workspaces et saisissez ou recherchez les workspaces que vous souhaitez assigner.
Pour révoquer l'accès, accédez à l'onglet Workspaces , sélectionnez le Workspace et cliquez sur Révoquer . Pour autoriser l'accès depuis tous les Workspaces, cochez la case Tous les Workspaces ont accès .
Deux groupes de commandes Databricks CLI et deux étapes sont nécessaires pour attribuer des informations d'identification de stockage à un workspace.
Dans les exemples suivants, remplacez <profile-name> par le nom de votre profil de configuration d’authentification Databricks. Il doit inclure la valeur d’un jeton d’accès personnel, en plus du nom d’instance du Workspace et de l’ID du Workspace où vous avez généré le jeton d’accès personnel. Consultez Authentification par jeton d’accès personnel (hérité).
-
Utilisez la commande
updatedu groupe de commandesstorage-credentialspour définir les informations d'identification de stockageisolation modesurISOLATED:Bashdatabricks storage-credentials update <my-storage-credential> \
--isolation-mode ISOLATED \
--profile <profile-name>Le default
isolation-modeestOPENà tous les workspaces attachés au métastore. -
Utilisez la commande
update-bindingsdu groupe de commandesworkspace-bindingspour attribuer les Workspaces à l'identifiant de stockage :Bashdatabricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
--json '{
"add": [{"workspace_id": <workspace-id>}...],
"remove": [{"workspace_id": <workspace-id>}...]
}' --profile <profile-name>Utilisez les propriétés
"add"et"remove"pour ajouter ou supprimer des liaisons de workspace.
La liaison en lecture seule (BINDING_TYPE_READ_ONLY) n'est pas disponible pour les informations d'identification de stockage. Il n'y a donc aucune raison de définir binding_type pour la liaison des identifiants de stockage.
Pour répertorier toutes les attributions de Workspace pour un identifiant de stockage, utilisez la commande get-bindings du groupe de commandes workspace-bindings :
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
Dissocier une information d'identification de stockage d'un workspace
Les instructions pour révoquer l'accès au Workspace à une information d'identification de stockage à l'aide de l'Explorateur de catalogues ou du groupe de commandes workspace-bindings CLI sont incluses dans Lier une information d'identification de stockage à un ou plusieurs Workspaces.
Afficher les octrois sur un identifiant de stockage
Pour afficher les octrois sur un identifiant de stockage, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d'un identifiant de stockage.
- Cliquez sur Autorisations .
Pour afficher les autorisations sur un identifiant de stockage, utilisez une commande similaire à celle-ci. Vous pouvez éventuellement filtrer les résultats pour n'afficher que les octrois pour le principal spécifié.
SHOW GRANTS [<principal>] ON STORAGE CREDENTIAL <storage-credential-name>;
Remplacez les valeurs des espaces réservés :
<principal>: L’adresse e-mail de l’utilisateur au niveau du compte ou le nom du groupe au niveau du compte auquel accorder l’autorisation. Si un groupe ou un nom d'utilisateur contient un espace ou un symbole@, utilisez des accents graves autour (pas des apostrophes). Par exemple, équipe financière.<storage-credential-name>Nom de l'identifiant de stockage
Accorder les autorisations de création d'emplacements externes
Pour accorder l'autorisation de créer un emplacement externe à l'aide d'un identifiant de stockage, veuillez suivre les étapes suivantes :
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d'un identifiant de stockage pour ouvrir la page de détails.
- Cliquez sur Autorisations .
- Pour accorder l'autorisation 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**.
Exécutez la commande suivante dans un Notebook ou l'éditeur de query SQL :
GRANT CREATE EXTERNAL LOCATION ON STORAGE CREDENTIAL <storage-credential-name> TO <principal>;
Remplacez les valeurs des espaces réservés :
<principal>: L’adresse e-mail de l’utilisateur au niveau du compte ou le nom du groupe au niveau du compte auquel accorder l’autorisation. Si un groupe ou un nom d'utilisateur contient un espace ou un symbole@, utilisez des accents graves autour (pas des apostrophes). Par exemple, équipe financière.<storage-credential-name>Nom de l'identifiant de stockage
Modifier le propriétaire d'un identifiant de stockage
Le créateur d'un identifiant de stockage est son propriétaire initial. Pour changer le propriétaire en un autre utilisateur ou groupe au niveau du compte, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d'un identifiant de stockage.
- Cliquez sur
à côté de Propriétaire .
- Tapez pour rechercher un principal et sélectionnez-le.
- Cliquez sur Enregistrer .
Exécutez la commande suivante dans un Notebook ou l'éditeur Databricks SQL. Remplacez les valeurs d'espace réservé :
<credential-name>: Le nom de l'identifiant.<principal>: L'adresse e-mail d'un utilisateur au niveau du compte ou le nom d'un groupe au niveau du compte.
ALTER STORAGE CREDENTIAL <credential-name> OWNER TO <principal>;
Marquer un identifiant de stockage comme étant en lecture seule
Si vous souhaitez que les utilisateurs aient un accès en lecture seule à toutes les données gérées par un identifiant de stockage, vous pouvez utiliser Catalog Explorer pour marquer l'identifiant de stockage comme étant en lecture seule.
Rendre un identifiant de stockage en lecture seule rend également tout stockage qui utilise cet identifiant en lecture seule.
Vous pouvez marquer les identifiants de stockage comme étant en lecture seule lorsque vous les créez.
Vous pouvez également utiliser l'Explorateur de catalogues pour modifier le statut en lecture seule après avoir créé un identifiant de stockage :
- Dans l'Explorateur de catalogues, trouvez l'identifiant de stockage, cliquez sur le menu kebab
de la ligne d'objet, puis sélectionnez Modifier .
- Dans la boîte de dialogue d'édition, sélectionnez l'option Lecture seule .
Renommer un identifiant de stockage
Pour renommer un identifiant de stockage, vous pouvez utiliser l'Explorateur de catalogues ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d’un identifiant de stockage pour ouvrir la boîte de dialogue de modification.
- Renommez l'identifiant de stockage et enregistrez-le.
Exécutez la commande suivante dans un Notebook ou l'éditeur Databricks SQL. Remplacez les valeurs d'espace réservé :
<credential-name>: Le nom de l'identifiant.<new-credential-name>: Un nouveau nom pour l'identifiant.
ALTER STORAGE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;
Supprimer un identifiant de stockage
Pour supprimer (drop) un identifiant de stockage, vous devez en être le propriétaire. Pour supprimer un identifiant de stockage, vous pouvez utiliser Catalog Explorer ou une commande SQL.
- Catalog Explorer
- SQL
- Dans la barre latérale, cliquez sur
Catalogue .
- Cliquez sur **Connecter** > **Identifiants**.
- Cliquez sur le nom d’un identifiant de stockage pour ouvrir la boîte de dialogue de modification.
- Cliquez sur le bouton Supprimer .
Exécutez la commande suivante dans un Notebook ou l'éditeur Databricks SQL. Remplacez <credential-name> par le nom de l'identifiant. Les parties de la commande entre crochets sont facultatives. By default, si l'identifiant est utilisé par un emplacement externe, il n'est pas supprimé.
IF EXISTS ne renvoie pas d'erreur si l'identifiant n'existe pas.
FORCE supprime l’identifiant même si des emplacements externes en dépendent. Ces emplacements externes ne sont plus utilisables tant que vous n’avez pas attribué un nouvel identifiant.
DROP STORAGE CREDENTIAL [IF EXISTS] <credential-name> [FORCE];
Pour plus de détails, consultez DROP CREDENTIAL.