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.
Você pode chamar um aplicativo do Databricks que expõe uma API HTTP (por exemplo, um aplicativo FastAPI ou Gradio) usando a autenticação de token de portador OAuth 2.0. Esse método funciona em seu ambiente de desenvolvimento local, aplicativos externos e outros aplicativos do Azure Databricks.
Observação
Esse método se aplica somente a aplicativos que disponibilizam APIs ou endpoints (acessíveis usando /api/ rotas). Para aplicativos que fornecem apenas uma interface do usuário ou processamento em segundo plano, você não pode se conectar usando a autenticação de token.
Requirements
Para se conectar a um aplicativo do Databricks usando a autenticação de token, você deve atender aos seguintes requisitos:
- O aplicativo deve expor pelo menos um endpoint de API acessível usando a rota
/api/. - Você deve ter permissão
CAN USEno aplicativo. Consulte Configurar permissões para um aplicativo do Databricks. - Você deve ser capaz de gerar um token de acesso do Azure Databricks usando um dos métodos de autenticação com suporte.
Métodos de autenticação
Observação
Você não pode chamar um aplicativo do Databricks diretamente usando um token de ID do Azure Entra. A federação de token requer uma etapa de troca de tokens do lado do cliente, que o Azure Databricks não executa no lado do servidor. Para usar tokens de ID do Azure Entra para autenticação, primeiro você deve trocá-los por tokens OAuth. Veja Autenticar com um token de provedor de identidade.
Escolha o método de autenticação que corresponde ao cenário de conexão:
Desenvolvimento local
Para se conectar do seu ambiente de desenvolvimento local, use a CLI ou os SDKs do Azure Databricks com suas credenciais de usuário.
Faça logon com a CLI:
databricks auth login --host https://<workspace-url> --profile my-envO Azure Databricks recomenda o uso da autenticação U2M (usuário para máquina) do OAuth.
Gere um token de acesso:
CLI
databricks auth token --profile my-envPython
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Aplicativos externos
Para acesso programático de aplicativos externos, use a autenticação da entidade de serviço com credenciais de máquina para máquina (M2M). Consulte Autorizar o acesso da entidade de serviço ao Azure Databricks com o OAuth.
Crie um princípio de serviço e obtenha o ID e o segredo do cliente. Confira Entidades de serviço.
Gere um token de acesso usando o SDK do Azure Databricks:
from databricks.sdk import WorkspaceClient import requests # Option 1: Explicit credentials wc = WorkspaceClient( host="https://<workspace-url>", client_id="<service-principal-client-id>", client_secret="<service-principal-client-secret>" ) # Option 2: Environment variables # Set DATABRICKS_HOST, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET wc = WorkspaceClient() # Generate Bearer token headers = wc.config.authenticate()
De outros aplicativos do Databricks
Quando você se conecta de um aplicativo do Databricks a outro, o aplicativo manipula a autenticação automaticamente usando sua entidade de serviço atribuída.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
Especificar escopos OAuth para autorização do usuário
Quando você usa a CLI do Azure Databricks ou SDKs com autenticação unificada, conforme mostrado na seção anterior, as ferramentas solicitam automaticamente o escopo básico all-apis . No entanto, se o aplicativo usar a autorização do usuário, você deverá solicitar manualmente um token de acesso com escopos adicionais usando um fluxo OAuth personalizado.
Certifique-se de que o seu token de acesso inclua os âmbitos configurados em Editar autorização de usuário. Se o token não tiver os escopos necessários, as solicitações poderão falhar com erros 401 ou 403.
Por exemplo, a solicitação a seguir solicita explicitamente um token de acesso com os escopos sql, file.files e dashboards.genie:
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql+file.files+dashboards.genie"
Para obter instruções completas, consulte Gerar manualmente tokens de acesso OAuth U2M.
Enviar solicitações para o aplicativo
Ao chamar os endpoints da API do aplicativo, inclua o Bearer token no cabeçalho de Autorização e substitua <your-endpoint> pelo endpoint real da API do aplicativo.
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Python com solicitações
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Python com SDK
from databricks.sdk import WorkspaceClient
import requests
wc = WorkspaceClient()
headers = wc.config.authenticate()
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers=headers
)
Considerações de segurança
Ao se conectar a aplicativos do seu ambiente local, siga estas práticas recomendadas de segurança:
- Nunca insira diretamente tokens de acesso no código-fonte. Use variáveis de ambiente ou repositórios de credenciais seguras.
- Atualize os tokens regularmente para minimizar os riscos de segurança se eles estiverem comprometidos.
- Evite registrar tokens de acesso ou dados confidenciais nos logs do seu aplicativo.
Resolução de problemas
Se você encontrar problemas ao se conectar ao seu aplicativo de um computador local, experimente essas soluções.
Falhas de autenticação (401 erros)
Verifique o seguinte:
- Seu token é válido (executar
databricks auth token --profile my-env) - Seu perfil está configurado corretamente com
databricks auth login - O token não expirou
- Seu token inclui os escopos OAuth necessários. As ferramentas de CLI e SDK fornecem apenas escopos básicos, como
all-apis, o que pode não ser suficiente para autorização do usuário.
Permissão negada (403 erros)
Verifique o seguinte:
- Você tem
CAN USEpermissão para o aplicativo - Seu token inclui os escopos OAuth necessários. Escopos insuficientes podem causar 403 erros mesmo com permissões válidas.
Aplicativo não encontrado (404 erros)
Verifique o seguinte:
- A ID e a URL do workspace estão corretas
- O aplicativo é implantado e em execução
- O caminho do ponto de extremidade existe no aplicativo
Problemas de conectividade de rede
Verifique o seguinte:
- Sua rede permite conexões HTTPS de saída
- O
*.databricksapps.comdomínio é acessível da sua rede
Além disso, verifique se sua organização usa um proxy que requer configuração.
Recursos adicionais
Para obter mais informações, consulte os seguintes recursos:
- Livro de receitas: conectar-se do computador local
- Guia: conectar-se a partir de aplicativos externos
- Livro de receitas: conectar-se de outros aplicativos
- Configurar permissões para um aplicativo do Databricks
- Configurar seu workspace e ambiente de desenvolvimento do Databricks Apps
- Autenticação para a CLI do Databricks
- Autenticação unificada do Databricks