Partilhar via


Definições de autenticação para o Databricks ODBC Driver (Simba)

Esta página 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 aos seguintes tipos de autenticação do Azure Databricks:

Token de Identificação do Microsoft Entra

O driver ODBC 2.6.15 e superior oferece suporte a tokens de ID do Microsoft Entra 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 Microsoft Entra ID têm uma vida útil padrão de cerca de uma hora. Atualize um token de acesso programaticamente para uma sessão existente sem interromper a ligação, executando o código nos tokens de atualização. Para instruções, consulte Utilização do OAuth 2.0 no Guia de Controladores ODBC Databricks.

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

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

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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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 mais informações, consulte a secção Token Pass-through no Guia de Controladores Databricks ODBC (HTML ou PDF).

Entidades de serviço com funções do Azure

Se a entidade de serviço do Microsoft Entra ID tiver uma função do Azure no recurso de espaço de trabalho no Azure, mas não estiver no espaço de trabalho do Azure Databricks, você deverá definir cabeçalhos HTTP adicionais em sua conexão ODBC. O driver ODBC Simba Spark suporta a adição de cabeçalhos usando o formato http.header.[HeaderKey]=[HeaderValue].

Defina os seguintes cabeçalhos necessários de entidades de serviço com função no Azure na sua cadeia de ligação com ou sem DSN:

  • http.header.X-Databricks-Azure-SP-Management-Token=<management-access-token>
  • http.header.X-Databricks-Azure-Workspace-Resource-Id=<workspace-resource-id>

Para obter o token de gestão, consulte Entidades de serviço com função do Azure. Para obter a ID do recurso do espaço de trabalho, consulte Autenticação de identidades gerenciadas do Azure.

Tokens OAuth 2.0

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

  • Para criar um token OAuth 2.0 para autenticação de passagem de token para uma entidade de serviço Microsoft Entra ID, consulte Gerar manualmente tokens de acesso OAuth M2M. Anote o valor OAuth access_token do principal de serviço.
  • Para criar uma entidade de serviço gerenciada do Microsoft Entra ID, consulte Entidades de serviço.

Importante

O driver ODBC versão 2.7.5 e superior suporta o uso de segredos OAuth do Azure Databricks para gerar tokens OAuth 2.0. Não há suporte para segredos de ID do Microsoft Entra.

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 este processo.

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

Configuração Valor
AuthMech 11
Auth_Flow 0
Auth_AccessToken O token de OAuth do Azure Databricks
(A autenticação de passagem de token OAuth 2.0 não suporta tokens de identificação 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=<databricks-oauth-token>

Para criar uma cadeia de conexão sem DSN, use o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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 mais informações, consulte a secção Token Pass-through no Guia de Controladores Databricks ODBC (HTML ou PDF).

Databricks OAuth autenticação utilizador-para-máquina (U2M)

O driver ODBC 2.8.2 e superior dá suporte à autenticação de usuário para máquina (U2M) OAuth 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 atualiza automaticamente os tokens OAuth 2.0 expirados.

Nota

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 em nuvem.

Para autenticar usando a autenticação OAuth user-to-machine (U2M) ou OAuth 2.0 baseada em navegador, adicione as seguintes configurações às suas configurações de computação e quaisquer configurações de capacidade de driver especiais ou avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 2
PWD Uma palavra-passe à sua escolha. O driver usa essa chave para atualizar a criptografia de token.
Auth_Client_ID (opcional) databricks-sql-odbc (padrão). Para todos os aplicativos disponíveis, consulte Configurações de conexões de aplicativos no console da conta.
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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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

Para mais informações, consulte a secção Browser Based no Guia de Controladores Databricks ODBC (HTML ou PDF).

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

O driver ODBC 2.8.2 e superior suporta a autenticação U2M do Microsoft Entra ID OAuth para um utilizador do Azure Databricks.

Para usar o Microsoft Entra ID OAuth user-to-machine (U2M), você deve registrar o cliente OAuth (aplicativo) no Microsoft Entra ID, consulte Registrar um aplicativo cliente no Microsoft Entra ID.

Para autenticar usando o Microsoft Entra ID OAuth user-to-machine (U2M), adicione as seguintes configurações às suas configurações de computação e quaisquer configurações de capacidade de driver especiais ou avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 2
PWD Uma palavra-passe à 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 da aplicação 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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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 OAuth máquina-a-máquina (M2M)

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

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

  1. Crie uma entidade de serviço do Azure Databricks em seu espaço de trabalho 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 Autorizar o acesso da entidade de serviço ao Azure Databricks com OAuth. Anote o valor UUID ou ID do aplicativo da entidade de serviço e o valor Secret do segredo OAuth da entidade de serviço.

  2. Dê ao principal de serviço acesso ao seu cluster ou armazém. Consulte Permissões de computação ou Gerenciar um armazém SQL.

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

Configuração Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID O valor UUID/Application ID da entidade de serviço.
Auth_Client_Secret O valor OAuth Secret do principal 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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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 mais informações, consulte a secção de Credenciais de Cliente no Guia de Controladores ODBC Databricks (HTML ou PDF).

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

O driver ODBC 2.8.2 e versões superiores oferece suporte à autenticação de máquina a máquina (M2M) do Microsoft Entra ID OAuth para um principal de serviço do Microsoft Entra ID.

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

  1. Crie uma entidade de serviço gerenciada do Microsoft Entra ID. Para fazer isso, consulte Entidades de serviço.
  2. Dê ao principal de serviço acesso ao seu cluster ou armazém. Consulte Permissões de computação ou Gerenciar um armazém SQL.

Para autenticar usando o Entra ID OAuth máquina-a-máquina (M2M), adicione as seguintes configurações às suas configurações de computação e quaisquer configurações de capacidade de driver especiais ou avançadas:

Configuração Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID ID da aplicação principal de serviço no Entra ID
Auth_Client_Secret O segredo do cliente da entidade de serviço no Entra ID. Este é o segredo do cliente que você cria em Certificados & 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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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 dá suporte à autenticação de identidades gerenciadas do Azure. Use esse método de autenticação ao trabalhar com recursos do Azure que dão suporte a identidades gerenciadas, como VMs do Azure.

Para autenticar usando a autenticação de identidades gerenciadas do Azure, adicione as seguintes configurações às suas configurações de computação e quaisquer configurações de capacidade 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 O ID do recurso do Azure para o seu espaço de trabalho do Azure Databricks.
Para obter essa ID, na barra de navegação superior do espaço de trabalho do Azure Databricks, clique em seu nome de usuário e, em seguida, clique em
Portal do Azure. Na página de recursos do espaço de trabalho do Azure Databricks exibida, clique em Propriedades em Configurações na barra lateral. O 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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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>

Token de acesso pessoal do Azure Databricks (legado)

Para criar um token de acesso pessoal do Azure Databricks, siga as etapas em Criar tokens de acesso pessoal para usuários do espaço de trabalho.

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

Configuração Valor
AuthMech 3
UID token
PWD O token de acesso pessoal do Databricks para o utilizador do espaço de trabalho

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. Este exemplo inclui quebras de linha para facilitar a leitura. Não inclua estas quebras de linha na cadeia de conexão:

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