Credenciais
Aplica-se a: Databricks SQL Databricks Runtime Unity Catalog apenas
O Catálogo Unity e o metastore interno do Azure Databricks Hive usam locais padrão para tabelas gerenciadas. O Unity Catalog introduz vários novos objetos protegíveis para conceder privilégios a serviços de nuvem externos e dados no armazenamento de objetos na nuvem.
-
Um objeto Unity Catalog usado para abstrair credenciais de longo prazo de provedores de serviços de nuvem e armazenamento.
credencial de armazenamento
Uma credencial do Catálogo Unity usada para acessar locais e tabelas externos.
credencial de serviço
Importante
Esta funcionalidade está em Pré-visualização Pública.
Uma credencial do Unity Catalog 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 Unity Catalog usado para associar um URI de armazenamento de objeto em nuvem a uma credencial de armazenamento.
-
Uma tabela do Catálogo Unity criada em um local externo gerenciado pelo Catálogo Unity.
Credencial
Uma credencial é um objeto protegível que representa uma identidade gerenciada do Azure ou uma entidade de serviço do Microsoft Entra ID.
Depois que uma credencial é criada, o acesso a ela pode ser concedido a entidades de segurança (usuários e grupos).
As credenciais de armazenamento são usadas principalmente para criar locais externos, que abrangem o acesso a um caminho de armazenamento específico.
Os nomes de credenciais não são qualificados e devem ser exclusivos dentro do metastore.
Representação gráfica de relações
O diagrama a seguir descreve a relação entre:
- Credenciais de armazenamento
- Localizações externas
- Tabelas externas
- caminhos de armazenamento
- Entidades do IAM
- Contas de serviço do Azure
Exemplos
Usando a CLI, crie uma credencial my_azure_storage_cred
de armazenamento 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 dentro do 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';