Credenciais
Aplica-se a: SQL do Databricks Databricks Runtime Somente Catálogo do Unity
O Catálogo do Unity e o metastore Hive do Azure Databricks incorporado usam locais padrões para tabelas gerenciadas. O Catálogo do Unity apresenta vários novos objetos protegíveis para conceder privilégios a serviços de nuvem externos e dados no armazenamento de objetos de nuvem.
-
Um objeto do Catálogo do Unity usado para abstrair credenciais de longo prazo de provedores de armazenamento e serviços de nuvem.
credencial de armazenamento
Uma credencial do Catálogo do Unity usada para acessar locais e tabelas externos.
credencial de serviço
Importante
Esse recurso está em uma versão prévia.
Uma credencial do Catálogo do Unity usada para acessar serviços de nuvem externos com SDKs de provedor. Para obter mais detalhes, consulte Gerenciar o acesso a serviços de nuvem externos usando credenciais de serviço.
-
Um objeto do Catálogo do Unity usado para associar um URI de armazenamento de objeto de nuvem a uma credencial de armazenamento.
-
Uma tabela do Catálogo do Unity criada em um local externo gerenciado pelo Catálogo do Unity.
Credencial
Uma credencial é um objeto protegível que representa uma identidade gerenciada do Azure ou uma entidade de serviço da ID do Microsoft Entra.
Depois que uma credencial é criada, o acesso a ela pode ser concedido a entidades principais (usuários e grupos).
As credenciais de armazenamento são usadas principalmente para criar locais externos, que definem o escopo do acesso a um caminho de armazenamento específico.
Os nomes de credenciais não são qualificados e devem ser exclusivos no metastore.
Representação gráfica de relacionamentos
O diagrama a seguir mostra o relacionamento entre:
- credenciais de armazenamento
- locais externos
- tabelas externas
- caminhos de armazenamento
- entidades IAM
- contas de serviço do Azure
Exemplos
Usando a CLI, crie uma credencial de armazenamento my_azure_storage_cred
para uma entidade de serviço do 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"}}'
O restante dos comandos pode ser executado no 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';