Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esse recurso está em uma versão prévia.
Esta página descreve como configurar o acesso ao Azure Databricks a partir do dbt Core com a ID do Microsoft Entra. Depois que você concluir essa configuração única como administrador de conta do Azure Databricks, os usuários poderão conectar o Azure Databricks ao dbt Core usando o SSO (logon único).
Além de usar o Microsoft Entra ID, você pode usar o OAuth M2M do Databricks para se integrar ao dbt Core. Confira Habilitar ou desabilitar aplicativos OAuth de parceiros.
Antes de começar
Antes de concluir as etapas neste artigo, você deve:
- Ter acesso a um ambiente local do dbt Core
- Obter o Nome do Host do Servidor e o Caminho HTTP para um SQL do Databricks no seu workspace do Azure Databricks
- Ser um administrador de conta do Azure Databricks
- Tenha permissão para criar um registro de aplicativo do Azure no locatário do Azure na sua conta do Azure Databricks.
Configurar a autenticação computador para computador (M2M) para o dbt Core
Esta seção descreve como configurar a autenticação computador para computador (M2M) para o Azure Databricks e o dbt Core. O fluxo de trabalho M2M da OAuth capacita processos automatizados, como a integração de CI/CD, a acessar recursos com segurança sem intervenção humana. O cliente dbt é executado como uma entidade de serviço, adquire um token OAuth do Microsoft Azure AD usando a entidade de serviço e utiliza esse token para conectar-se à API do SQL da Databricks.
Criar um registro de aplicativo do Azure
- Use o portal do Azure para entrar no locatário do Azure para sua conta do Azure Databricks, em
https://portal.azure.com/<tenant-id>. - Clique em Registros do aplicativo. Se Registros de aplicativo não estiver visível, clique em Mais serviços e use a caixa de texto Filtrar serviços para pesquisar Registros de aplicativo.
- Clique em Novo registro.
- Insira um Nome para o aplicativo.
- Para a URI de Redirecionamento, selecione Cliente público/nativo (móvel desktop) no menu suspenso e insira
http://localhost:8020. - Clique em Registrar.
- Copie a ID do cliente do aplicativo . Você precisará desse valor mais tarde.
Gerar um segredo do cliente para o registro do seu Aplicativo Azure AD
- No portal do Microsoft Azure, selecione o registro do aplicativo criado na etapa anterior.
- Clique em Certificados e segredos e depois em Novo segredo do cliente.
- Insira uma descrição e clique em Adicionar.
- Copiar o valor do segredo. Você precisará desse valor mais tarde e só poderá acessá-lo após a criação do segredo.
Adicionar a entidade de serviço do Microsoft Entra ID ao seu workspace
- Em seu workspace do Azure Databricks, clique no seu nome de usuário no canto superior direito e, em seguida, clique em Configurações.
- Clique na guia Identidade e acesso.
- Ao lado de Entidades de serviço, clique em Gerenciar.
- Clique em Adicionar entidade de serviço e clique ID do cliente.
- Em ApplicationId, insira a ID do Aplicativo (cliente) que você copiou anteriormente.
- Em Nome de Exibição, insira um nome lógico para a entidade de serviço e clique em Adicionar.
Adicione o perfil M2M ao seu projeto dbt
Defina uma ID de Aplicativo (cliente) e o segredo do cliente que você copiou anteriormente como variáveis de ambiente. O Databricks não recomenda armazenar diretamente informações confidenciais, como segredos, em
profiles.yml.~ export DATABRICKS_CLIENT_ID=<client-id> ~ export DATABRICKS_CLIENT_SECRET=<client-secret>Adicione o perfil M2M ao arquivo
profiles.ymlem seu projeto dbt.A seguir, um exemplo de arquivo
profiles.ymlcom o perfil M2Mazure-oauth-m2mespecificado. Especificarazure-oauth-m2mparatargetdefine o perfil M2M como o perfil de execução padrão utilizado pelo dbt.databricks_demo: outputs: ... azure-oauth-m2m: catalog: uc_demos host: "adb-xxx.azuredatabricks.net" http_path: "/sql/1.0/warehouses/9196548d010cf14d" schema: databricks_demo threads: 1 type: databricks auth_type: oauth client_id: "{{ env_var('DATABRICKS_CLIENT_ID') }}" client_secret: "{{ env_var('DATABRICKS_CLIENT_SECRET') }}" target: azure-oauth-m2m
Autorizar a entidade de serviço a acessar um SQL Warehouse
- Na barra lateral, clique em SQL Warehouses, clique no seu SQL Warehouse e, em seguida, clique em Permissions.
- Ao lado da entidade de serviço criada anteriormente neste artigo, selecione PODE USAR no menu suspenso.
Verificar a configuração do aplicativo OAuth
Execute o comando dbt debug para verificar se seu aplicativo OAuth foi configurado corretamente. Por exemplo:
dbt debug --target azure-oauth-m2m
A seguir, um exemplo de saída de uma execução dbt debug bem-sucedida:
...
Configuration:
profiles.yml file [OK found and valid]
dbt_project.yml file [OK found and valid]
Required dependencies:
- git [OK found]
Connection:
...
Connection test: OK connection ok
Configurar a autenticação de usuário para computador (U2M) para o dbt Core
Esta seção descreve como configurar a autenticação de usuário para computador com o Azure Databricks e o dbt Core. O fluxo de trabalho U2M do OAuth permite que os sistemas acessem em nome de um usuário, como é o caso do cliente dbt, ao obter de forma segura um token OAuth por meio de uma janela pop-up do navegador do Azure AD. O dbt usa esse token para conectar-se à API do Databricks SQL, simplificando a autenticação e a autorização.
Criar um registro de aplicativo do Azure
- Use o portal do Azure para entrar no locatário do Azure para sua conta do Azure Databricks, em
https://portal.azure.com/<tenant-id>. - Clique em Registros do aplicativo. Se Registros de aplicativo não estiver visível, clique em Mais serviços e use a caixa de texto Filtrar serviços para pesquisar Registros de aplicativo.
- Clique em Novo registro.
- Insira um Nome para o aplicativo.
- Para a URI de Redirecionamento, selecione Cliente público/nativo (móvel desktop) no menu suspenso e insira
http://localhost:8020. - Clique em Registrar.
- Copiar a ID do Aplicativo (cliente) e a ID de Locatário. Você precisará desses valores mais tarde.
Adicione o perfil U2M ao seu projeto dbt
Adicione o perfil U2M ao arquivo profiles.yml em seu projeto dbt.
A seguir, um exemplo de arquivo profiles.yml com o perfil U2M azure-oauth-u2m especificado. Especificar azure-oauth-u2m para target define o perfil U2M como o perfil de execução padrão utilizado pelo dbt.
databricks_demo:
outputs:
azure-oauth-u2m:
catalog: uc_demos
host: "adb-xxx.azuredatabricks.net"
http_path: "/sql/1.0/warehouses/9196548d010cf14d"
schema: databricks_demo
threads: 1
type: databricks
auth_type: oauth
client_id: "9729e77e-ba94-4d53-8cfb-bb609f43f881"
target: azure-oauth-u2m
Verificar a configuração do aplicativo OAuth
Execute o comando
dbt debugpara verificar se seu aplicativo OAuth foi configurado corretamente. Por exemplo:dbt debug --target azure-oauth-u2mA página Permissões solicitadas é aberta em seu navegador.
Clique em Aceitar.
A seguir, um exemplo de saída de uma execução dbt debug bem-sucedida:
...
Configuration:
profiles.yml file [OK found and valid]
dbt_project.yml file [OK found and valid]
Required dependencies:
- git [OK found]
Connection:
...
Connection test: OK connection ok
Recursos adicionais
Para criar um novo projeto do dbt Core e conectar-se ao Azure Databricks usando a autenticação de SSO, confira Conectar-se ao dbt Core.