Compartilhar via


Configurações de autenticação para o Driver ODBC do Databricks

Este artigo descreve como definir as configurações de autenticação do Azure Databricks para o Driver ODBC do Databricks.

O Driver ODBC do Databricks dá suporte para os seguintes tipos de autenticação do Azure Databricks:

Token de acesso pessoal do Azure Databricks

Para criar um token de acesso pessoal do Azure Databricks, siga as etapas em Tokens de acesso pessoal do Azure Databricks para usuários do workspace.

Para autenticar usando um token de acesso pessoal do Azure Databricks, adicione as seguintes configurações às suas configurações de computação e a quaisquer configurações especiais ou avançadas de funcionalidade do driver:

Configuração Valor
AuthMech 3
UID token
PWD O token de acesso pessoal do Databricks para o usuário do workspace

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>

Token do Microsoft Entra ID

O driver ODBC 2.6.15 e superior dá suporte a tokens do Microsoft Entra ID para um usuário do Azure Databricks ou uma entidade de serviço do Microsoft Entra ID.

Para criar um token de acesso do Microsoft Entra ID, faça o seguinte:

Os tokens de acesso do Microsoft Entra ID têm um tempo de vida padrão de cerca de 1 hora. Um token de acesso pode ser atualizado programaticamente para uma sessão existente sem interromper a conexão executando o código em Atualizar um token de acesso do Microsoft Entra ID. Para obter instruções sobre como atualizar o token, confira a seção Configuring Authentication on Windows > Providing a New Access Token no Guia do Driver ODBC do Databricks.

Para autenticar usando um token do Microsoft Entra ID, adicione as seguintes configurações às suas configurações de computação e a todas as configurações especiais ou avançadas de funcionalidades do driver:

Configuração Valor
AuthMech 11
Auth_Flow 0
Auth_AccessToken O token do Microsoft Entra ID

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>

Para obter mais informações, confira as seções Token Pass-through no Guia do Driver ODBC do Databricks.

Tokens OAuth 2.0

O driver ODBC 2.7.5 e versões posteriores dão suporte a um token OAuth 2.0 para uma entidade de serviço do Microsoft Entra ID. Isso também é conhecido como autenticação de passagem do OAuth 2.0.

Importante

O driver ODBC 2.7.5 e versões superiores dão suporte ao uso de segredos do Azure Databricks OAuth para criar tokens OAuth 2.0. Não há suporte para segredos do Microsoft Entra ID.

Os tokens OAuth 2.0 têm um tempo de vida padrão de 1 hora. Para gerar um novo token OAuth 2.0, repita esse processo.

Para autenticar usando a autenticação de passagem do token OAuth 2.0, adicione as seguintes configurações às suas configurações de computação e a todas as configurações especiais ou avançadas de funcionalidades do driver:

Configuração Valor
AuthMech 11
Auth_Flow 0
Auth_AccessToken O token OAuth do Azure Databricks

(Não há suporte para tokens do Microsoft Entra ID autenticação de passagem de token do OAuth 2.0).

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>

Para obter mais informações, confira as seções Token Pass-through no Guia do Driver ODBC do Databricks.

Autenticação OAuth de usuário para máquina (U2M) do Databricks

O driver ODBC 2.8.2 e versões posteriores dão suporte para a autenticação OAuth de usuário para máquina (U2M) para um usuário do Azure Databricks. Isso também é conhecido como autenticação baseada em navegador OAuth 2.0.

A autenticação baseada em navegador OAuth U2M ou OAuth 2.0 não tem pré-requisitos. Os tokens OAuth 2.0 têm um tempo de vida padrão de 1 hora. A autenticação baseada em navegador OAuth U2M ou OAuth 2.0 deve atualizar tokens OAuth 2.0 expirados automaticamente para você.

Observação

A autenticação baseada em navegador OAuth U2M ou OAuth 2.0 funciona apenas com aplicativos executados localmente. Ele não funciona com aplicativos baseados em servidor ou na nuvem.

Para autenticar usando a autenticação OAuth de usuário para computador (U2M) ou a autenticação baseada em navegador OAuth 2.0, adicione as seguintes configurações às suas configurações de computação e a todas as configurações especiais ou avançadas de funcionalidades do driver:

Configuração Valor
AuthMech 11
Auth_Flow 2
PWD Uma senha de sua escolha. O driver usa essa chave para atualizar a criptografia de token.
Auth_Client_ID (opcional) databricks-sql-odbc (padrão) Você pode encontrar todos os aplicativos aplicáveis nas configurações de conexões de aplicativo no Console de Conta do Databricks Ver Habilitar aplicativos OAuth personalizados usando a interface do usuário do Azure Databricks.
Auth_Scope (opcional) sql offline_access (padrão)
OAuth2RedirectUrlPort (opcional) 8020 (padrão)

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>

Para obter mais informações, confira as seções Browser Based no Guia do Driver ODBC do Databricks.

Autenticação OAuth de usuário para máquina (U2M) do Microsoft Entra ID

O driver ODBC 2.8.2 e versões posteriores dão suporte para a autenticação OAuth de usuário para máquina (U2M) do Microsoft Entra ID para um usuário do Azure Databricks

Para usar a autenticação OAuth de usuário para máquina (U2M), o cliente OAuth (aplicativo) deve ser registrado no Microsoft Entra ID, consulte a instrução.

Para autenticar usando o OAuth de usuário para máquina (U2M) do Microsoft Entra ID, adicione as seguintes configurações às suas configurações de computação e a todas as configurações de funcionalidades do driver especiais ou avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 2
PWD Uma senha de sua escolha. O driver usa essa chave para atualizar a criptografia de token
Auth_Client_ID ID do aplicativo (cliente) do aplicativo do Azure
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Porta de redirecionamento do aplicativo do Azure

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;

Autenticação M2M (de computador para computador) do OAuth

O driver ODBC dá suporte à autenticação OAuth de máquina para máquina (M2M) para uma entidade de serviço do Azure Databricks. Isso também é conhecido como autenticação de credenciais de cliente OAuth 2.0.

Para configurar a autenticação de credenciais do cliente OAuth M2M ou OAuth 2.0, faça o seguinte:

  1. Crie uma entidade de serviço do Azure Databricks em seu workspace do Azure Databricks e crie um segredo OAuth para essa entidade de serviço.

    Para criar a entidade de serviço e seu segredo OAuth, consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M). Anote o valor do UUID ou da ID do aplicativo da entidade de serviço e o valor do Segredo do segredo OAuth da entidade de serviço.

  2. Conceda à entidade de serviço acesso ao cluster ou ao warehouse. Consulte Permissões de computação ou Gerenciar um SQL warehouse.

Para autenticar usando a autenticação de credenciais de cliente OAuth M2M (machine-to-machine) ou OAuth 2.0, adicione as seguintes configurações às suas configurações de computação e a quaisquer configurações especiais ou avançadas de funcionalidade do driver:

Configuração Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID Valor da GUID/ID do Aplicativo da entidade de serviço.
Auth_Client_Secret Valor do Segredo do OAuth da entidade de serviço.
Auth_Scope (opcional) all-apis (padrão)

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis

Para obter mais informações, confira as seções Client Credentials no Guia do Driver ODBC do Databricks.

Autenticação OAuth de máquina para máquina (M2M) do Microsoft Entra ID

O driver ODBC 2.8.2 e versões posteriores dão suporte para autenticação OAuth de máquina para máquina (M2M) para uma entidade de serviço do Microsoft Entra ID.

Para configurar a autenticação de máquina para máquina (M2M) do OAuth do Entra ID, faça o seguinte:

  1. Criar uma entidade de serviço gerenciada do Microsoft Entra ID. Para fazer isso, confira Gerenciar entidades de serviço.
  2. Conceda à entidade de serviço acesso ao cluster ou ao warehouse. Consulte Permissões de computação ou Gerenciar um SQL warehouse.

Para autenticar usando o OAuth de máquina para máquina (M2M) do Microsoft Entra ID, adicione as seguintes configurações às suas configurações de computação e a todas as configurações de funcionalidades do driver especiais e avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID O ID de aplicativo da entidade de serviço no Entra ID
Auth_Client_Secret O segredo do cliente da entidade de serviço no Entra ID. Esse é o segredo do cliente que você cria em Certificados e segredos no Microsoft Entra ID.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Autenticação de identidades gerenciadas do Azure

O driver ODBC 2.7.7 e superior oferece suporte à autenticação de identidades gerenciadas do Azure, que usa identidades gerenciadas para recursos do Azure (anteriormente Serviço Gerenciado de Identidades (MSI)) para autenticar com o Azure Databricks. As chamadas programáticas para as operações do workspace do Azure Databricks usam essas identidades gerenciadas ao trabalhar com recursos do Azure que oferecem suporte a identidades gerenciadas, como as VMs do Azure.

Para autenticar usando a autenticação de identidades gerenciadas do Azure, adicione as seguintes definições às suas configurações de computação e a quaisquer configurações de capacidades de driver especiais ou avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 3
Auth_Client_ID A ID da identidade gerenciada do Azure.
Azure_workspace_resource_id A ID do recurso do Azure para seu workspace do Azure Databricks.

Para obter essa ID, na barra de navegação superior do seu workspace do Azure Databricks, clique no seu nome de usuário e, em seguida, clique em
Portal do Azure. Na página de recursos do workspace do Azure Databricks que aparece, clique em Propriedades em Configurações na barra lateral. A ID está em Id em Essentials.

Para criar um DSN para sistemas que não sejam Windows, use o seguinte formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Quebras de linha foram adicionadas para facilitar a leitura. A cadeia de caracteres não deve conter essas quebras de linha:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>