Informations d’identification de stockage
S’applique à : Databricks SQL Databricks Runtime Unity Catalog uniquement
Unity Catalog et le metastore intégré Azure Databricks Hive utilisent des emplacements par défaut pour les tables managées. Unity Catalog introduit plusieurs nouveaux objets sécurisables pour accorder des privilèges aux données dans le stockage d’objets cloud.
Informations d’identification du stockage
Objet Unity Catalog utilisé pour extraire les informations d’identification à long terme des fournisseurs de stockage cloud.
-
Objet Unity Catalog utilisé pour associer un URI de stockage d’objets cloud à des informations d’identification de stockage.
-
Table Unity Catalog créée dans un emplacement externe managé par Unity Catalog.
Informations d’identification de stockage
Les informations d’identification de stockage constituent un objet sécurisable représentant une identité managée Azure ou un principal de service Microsoft Entra ID.
Une fois que des informations d’identification de stockage ont été créées, l’accès à celui-ci peut être accordé aux principaux (utilisateurs et groupes).
Les informations d’identification de stockage sont principalement utilisées pour créer des emplacements externes, qui étendent l’accès à un chemin de stockage spécifique.
Les noms d’informations d’identification de stockage ne sont pas qualifiés et doivent être uniques dans le magasin de données.
Représentation graphique des relations
Le diagramme suivant décrit la relation entre les éléments suivants :
- informations d’identification de stockage
- emplacements externes
- tables externes
- chemins de stockage
- entités IAM
- comptes de service Azure
Exemples
À l’aide de l’interface CLI, créez des informations d’identification de stockage my_azure_storage_cred
pour un principal de service Microsoft Entra ID.
databricks storage-credentials create --json '{"name": "my_azure_storage_cred", "azure_service_principal": {"directory_id": "12345678-9abc-def0-1234-56789abcdef0", "application_id": "23456789-9abc-def0-1234-56789abcdef0", "client_secret": "Cli3nt5ecr3t"}}'
Les autres commandes peuvent être exécutées dans SQL.
-- Grant access to the storage credential
> GRANT READ FILES ON STORAGE CREDENTIAL my_azure_storage_cred TO ceo;
-- ceo can directly read from any storage path using myazure_storage_cred
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance/forecast/somefile` WITH (CREDENTIAL my_azure_storage_cred);
100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
2017
-- Create an external location on specific path to which `my_azure_storage_cred` has access
> CREATE EXTERNAL LOCATION finance_loc URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
WITH (CREDENTIAL my_azure_storage_cred)
COMMENT 'finance';