Autenticação para automação do Databricks – visão geral

No Databricks, aautenticação refere-se à verificação de uma identidade do Databricks (como um usuário, entidade de serviço ou grupo) ou uma de clouds serviço do account Google. Databricks uses credentials (such as an access token) to verify the identity.

Depois que o Databricks verifica a identidade do chamador, a Databricks usa um processo chamado autorização para determinar se a identidade verificada possui permissões de acesso suficientes para executar a ação especificada no recurso no local fornecido.Este artigo inclui detalhes apenas sobre autenticação. Ele não inclui detalhes sobre autorização ou permissões de acesso; consulte Autenticação e controle de acesso.

Quando uma ferramenta faz uma solicitação de automação ou API, ela inclui credenciais que autenticam uma identidade com Databricks. Este artigo descreve maneiras típicas de criar, armazenar e passar credenciais e informações relacionadas que o Databricks precisa para autenticar e autorizar solicitações. Para saber quais tipos de credenciais, informações relacionadas e mecanismo de armazenamento são suportados pelas suas ferramentas, SDKs, scripts e aplicações, consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK ou a documentação do seu fornecedor.

Tarefa comum para autenticação do Databricks

Use as instruções a seguir para concluir a tarefa comum de autenticação do Databricks.

Para completar esta tarefa…

Siga as instruções nestes artigos

Crie um usuário do Databricks que você possa usar para autenticação no nível da account do Databricks.

Gerenciando usuários em sua account

Crie um usuário do Databricks que você possa usar para autenticação em um workspace específico do Databricks.

Gerenciando usuários em seu workspace

Create a Databricks personal access token for a Databricks user. Este access token pessoal do Databricks pode ser usado apenas para autenticação com seu workspace Databricks associado.

access token pessoal do Databricks para usuários do workspace

Crie uma de clouds serviço do account Google.

Consulte Criar accountde serviço na documentação clouds do Google.

Adicione uma de clouds serviço de do Google account a uma do Databricks account ou a um específico, adicione workspace essa de serviço account como um usuário do Databricks e use o endereço dessa de serviço account email como o nome de usuário do usuário, para autenticação na do Databricks account ou no nível do espaço de trabalho. (clouds account de serviço do Google são separadas da entidade de serviço do Databricks.)

gerenciar usuários em sua conta, gerenciar usuários em seu espaço de trabalho

Crie um perfil de configuração do Databricks.

Perfis de configuração Databricks

Crie um grupo Databricks e adicione utilizadores Databricks a esse grupo, para uma autorização mais robusta.

gerenciar grupos de contas usando o console de contas, gerenciar grupos de contas usando a página de configurações de administração do espaço de trabalho

Tipos de autenticação do Databricks com suporte

O Databricks fornece várias maneiras de autenticar usuários do Databricks, como segue:

Tipo de autenticação

Detalhes

Autenticação máquina a máquina (M2M) OAuth

  • A autenticação OAuth M2M usa Databricks entidade de serviço para autenticação.

  • A autenticação OAuth M2M usa um token de acesso OAuth de curta duração (uma hora) da Databricks para credenciais de autenticação.

  • access token OAuth expirado pode ser atualizado automaticamente pelas ferramentas e SDKs participantes do Databricks. Consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK e autenticação unificada do cliente Databricks.

  • A Databricks recomenda que você use a autenticação OAuth M2M para cenários de autenticação autônoma . Esses cenários incluem fluxo de trabalho totalmente automatizado e de CI/CD, onde você não pode usar seu navegador da Web para autenticar com Databricks em tempo real.

  • A Databricks recomenda que o senhor use a autenticação de credenciais do Google Clouds ou a autenticação de ID do Google Clouds em vez da autenticação OAuth M2M nos casos em que precisar usar a conta de serviço do Google Clouds e o token de acesso OAuth do Google Clouds para credenciais de autenticação. Por exemplo, talvez o senhor precise se autenticar no Databricks e em outros recursos das nuvens do Google ao mesmo tempo, o que requer o token de acesso OAuth das nuvens do Google.

  • Para obter detalhes técnicos adicionais, consulte Autenticação máquina a máquina (M2M) OAuth.

Autenticação usuário-máquina (U2M) OAuth

  • A autenticação OAuth U2M usa usuários do Databricks para autenticação.

  • A autenticação OAuth U2M usa o token de acesso Databricks OAuth de curta duração (uma hora) para credenciais de autenticação.

  • As ferramentas e os SDKs da Databricks participantes podem automaticamente refresh expirar o token de acesso OAuth. Consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK e autenticação unificada do cliente Databricks.

  • A autenticação OAuth U2M é adequada para cenários de autenticação assistida . Esses cenários incluem fluxo de trabalho de desenvolvimento manual e rápido, onde você usa seu navegador da Web para autenticar com Databricks em tempo real, quando solicitado.

  • Para obter detalhes técnicos adicionais, consulte Autenticação usuário-máquina (U2M) OAuth.

Autenticação de credenciais clouds do Google

  • clouds A autenticação de credenciais do Google usa de clouds serviço do account Google, atuando como usuários do Databricks, para autenticação.

  • A autenticação de credenciais do Google Clouds usa um token de acesso OAuth do Google Clouds de curta duração (uma hora) para credenciais de autenticação. Esses tokens são gerenciados internamente nos sistemas de nuvem do Google. O senhor não pode acessar esses tokens.

  • A Databricks recomenda que o senhor use a autenticação OAuth M2M, se a ferramenta ou o SDK da Databricks de destino for compatível com ela, em vez da autenticação de credenciais do Google Clouds. Isso ocorre porque a autenticação OAuth M2M pode ser mais fácil de configurar do que a autenticação de credenciais do Google Clouds.

  • Para obter detalhes técnicos adicionais, consulte Autenticação de credenciais clouds do Google.

Autenticação de ID clouds do Google

  • A autenticação do Google ID usa a CLI do Google clouds clouds para autenticar do clouds serviço de do account Google, atuando como usuários do Databricks.

  • A autenticação de ID do Google Clouds usa um token de acesso OAuth do Google Clouds de curta duração (uma hora) para credenciais de autenticação. Esses tokens são gerenciados internamente nos sistemas de nuvem do Google. O senhor não pode acessar esses tokens.

  • A Databricks recomenda que o senhor use a autenticação OAuth M2M, se a ferramenta ou o SDK da Databricks de destino for compatível com ela, em vez da autenticação do Google Clouds ID. Isso ocorre porque a autenticação OAuth M2M pode ser mais fácil de configurar do que a autenticação do Google Clouds ID.

  • Para obter detalhes técnicos adicionais, consulte Autenticação de ID clouds do Google.

Autenticação access token pessoal do Databricks

  • A autenticação access token pessoal do Databricks usa usuários do Databricks ou entidade de serviço para autenticação.

  • A autenticação access token pessoal do Databricks usa strings de curta ou longa duração para credenciais de autenticação. Esses access token podem ser configurados para expirar em apenas um dia ou menos, ou podem ser configurados para nunca expirarem.

  • access token pessoal do Databricks expirado não pode ser atualizado.

  • A Databricks recomenda a autenticação OAuth M2M, se a ferramenta ou SDK de destino da Databricks for compatível com ela, em vez da autenticação pessoal da Databricks access token. Isso ocorre porque a autenticação OAuth M2M usa o token de acesso OAuth da Databricks, que é mais seguro do que o token de acesso pessoal da Databricks.

  • Para obter detalhes técnicos adicionais, consulte Autenticação access token pessoal do Databricks.

Tipos de autenticação suportados pela ferramenta Databricks ou SDK

As ferramentas e SDKs do Databricks que funcionam com um ou mais tipos de autenticação do Databricks com suporte incluem o seguinte:

Ferramenta ou SDK

Tipos de autenticação suportados

CLI do Databricks

Para obter documentação específica de autenticação CLI do Databricks, incluindo como configurar e usar perfis de configuração do Databricks para alternar entre várias configurações de autenticação relacionadas, consulte:

Para obter detalhes técnicos adicionais sobre a CLI do Databricks, consulte O que é a CLI do Databricks?.

Provedor Databricks Terraform

A autenticação OAuth máquina a máquina (M2M) e a autenticação OAuth usuário a máquina (U2M) ainda não são compatíveis.

Para obter documentação específica de autenticação do provedor Databricks Terraform, incluindo como armazenar e usar credenciais por meio de variável de ambiente, perfis de configuração do Databricks, arquivos .tfvars ou armazenamentos secretos, como o Hashicorp Vault, consulte Autenticação.

Para obter detalhes técnicos adicionais sobre o provedor Databricks Terraform, consulte Provedor Databricks Terraform.

Databricks Connect

Para obter documentação específica de autenticação do Databricks Connect, consulte:

Para obter detalhes técnicos adicionais sobre o Databricks Connect, consulte O que é o Databricks Connect?.

Extensão Databricks para Visual Studio Code

Para obter documentação específica da extensão Databricks para autenticação do Visual Studio Code, consulte Configuração de autenticação para a extensão Databricks para Visual Studio Code.

Para obter detalhes técnicos adicionais sobre a extensão Databricks para Visual Studio Code, consulte O que é a extensão Databricks para Visual Studio Code?.

SDK do Databricks para Python

Para obter documentação específica do Databricks SDK para autenticação Python, consulte:

Para obter detalhes técnicos adicionais sobre o SDK do Databricks para Python, consulte SDK do Databricks para Python.

SDK do Databricks para Java

Para obter documentação específica do Databricks SDK para autenticação Java, consulte:

Para obter detalhes técnicos adicionais sobre o SDK do Databricks para Java, consulte SDK do Databricks para Java.

SDK do Databricks para Go

Para obter documentação específica do Databricks SDK para autenticação Java, consulte:

Para obter detalhes técnicos adicionais sobre o Databricks SDK for Go, consulte Databricks SDK for Go.

Pacotes do Databricks ativo

Ainda não há suporte para a autenticação de credenciais do Google Clouds.

Para obter mais detalhes técnicos sobre os Databricks ativo Bundles, consulte O que são Databricks ativo Bundles?

Driver Databricks para SQLTools para Visual Studio Code

Ainda não há suporte para os seguintes tipos de autenticação:

Para obter mais detalhes técnicos sobre o Databricks Driver for SQLTools for Visual Studio Code, consulte Databricks Driver for SQLTools for Visual Studio Code.

Databricks SQL Connector for Python

Ainda não há suporte para os seguintes tipos de autenticação:

Para obter detalhes técnicos adicionais sobre o Databricks SQL Connector for Python, consulte Databricks SQL Connector for Python.

Databricks SQL Driver para Node.js

Ainda não há suporte para os seguintes tipos de autenticação:

Para obter mais detalhes técnicos sobre o Databricks SQL Driver for Node.js, Consulte Databricks SQL Driver for Node.js.

Databricks SQL Driver para Go

Ainda não há suporte para os seguintes tipos de autenticação:

Para obter detalhes técnicos adicionais sobre o Databricks SQL Driver for Go, consulte Databricks SQL Driver for Go.

Outras ferramentas e SDKs do Databricks

Consulte a documentação da ferramenta ou do SDK:

Conta do Databricks e APIs REST do workspace

O Databricks organiza sua API REST do Databricks em duas categorias de APIs: APIs da conta e APIs do workspace. Cada uma dessas categorias exige diversos conjuntos de informações para autenticar a identidade de Databricks de destino. Além disso, cada tipo de autenticação do Databricks compatível exige informações adicionais que identifiquem exclusivamente a identidade do Databricks de destino.

Por exemplo, para autenticar uma identidade do Databricks para chamar operações de API no nível account do Databricks, você deve fornecer:

  • O URL do console da conta Databricks de destino, que normalmente é. https://accounts.gcp.databricks.com

  • O ID account do Databricks de destino. Consulte Localize o ID da sua conta.

  • Informações que identificam de forma única a identidade-alvo no Databricks para o tipo de autenticação específico no Databricks.Para obter as informações específicas a serem fornecidas, consulte a seção posterior deste artigo referente a esse tipo de autenticação.

Para autenticar uma identidade do Databricks para chamar operações de API no nível workspace do Databricks, você deve fornecer:

  • A URL do espaço de trabalho do Databricks de destino, por exemplo https://1234567890123456.7.gcp.databricks.com.

  • Informações que identificam de forma única a identidade-alvo no Databricks para o tipo de autenticação específico no Databricks.Para obter as informações específicas a serem fornecidas, consulte a seção posterior deste artigo referente a esse tipo de autenticação.

Autenticação unificada do cliente Databricks

O Databricks fornece uma abordagem arquitetônica e programática consolidada e consistente para autenticação, conhecida como autenticação unificada do cliente Databricks. Essa abordagem ajuda a tornar a configuração e a automação da autenticação com o Databricks mais centralizadas e previsíveis. Ele permite que você configure a autenticação do Databricks uma vez e, em seguida, use essa configuração em várias ferramentas e SDKs do Databricks sem alterações adicionais na configuração de autenticação.

As ferramentas e SDKs participantes do Databricks incluem:

Todas as ferramentas e SDKs participantes aceitam variáveis especiais de ambiente e perfis de configuração do Databricks para autenticação. O fornecedor Databricks Terraform e os SDKs Databricks para Python, Java e Go também aceitam configuração direta de definições de autenticação dentro do código. Para obter detalhes, consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK ou a documentação da ferramenta ou do SDK.

Ordem padrão de avaliação para métodos e credenciais de autenticação unificada do cliente

Sempre que uma ferramenta ou SDK participante precisa se autenticar com o Databricks, a ferramenta ou SDK tenta os seguintes tipos de autenticação na seguinte ordem por padrão.Quando a ferramenta ou SDK obtém sucesso com o tipo de autenticação que tentou, a ferramenta ou SDK deixa de tentar autenticar-se com os tipos de autenticação restantes.Para forçar um SDK a autenticar com um tipo de autenticação específico, defina o campo Tipo de autenticação Databricks da API Config .

  1. Autenticação access token pessoal do Databricks

  2. Autenticação máquina a máquina (M2M) OAuth

  3. Autenticação usuário-máquina (U2M) OAuth

  4. Autenticação de credenciais clouds do Google

  5. Autenticação de ID clouds do Google

Para cada tipo de autenticação que a ferramenta participante ou o SDK tenta, a ferramenta ou o SDK tenta encontrar credenciais de autenticação nos seguintes locais e na seguinte ordem. Quando a ferramenta ou SDK consegue encontrar credenciais de autenticação que podem ser usadas, a ferramenta ou SDK para de procurar credenciais de autenticação nos locais restantes.

  1. Campos de API Config relacionados a credenciais (para SDKs). Para definir campos Config , consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK ou a documentação de referência do SDK.

  2. Variável de ambiente relacionada à credencial. Para definir a variável de ambiente, consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK e a documentação do seu sistema operativo.

  3. Campos relacionados à credencial no perfil de configuração DEFAULT no arquivo .databrickscfg . To set configuration profile fields, see (#auth-types-tools-sdks) and Databricks configuration profiles.

  4. Quaisquer credenciais de autenticação relacionadas armazenadas em cache pela CLI do Google clouds . Consulte CLI clouds do Google.

Para fornecer portabilidade máxima para seu código, o Databricks recomenda que você crie um perfil de configuração personalizado no arquivo .databrickscfg , adicione os campos obrigatórios para seu tipo de autenticação do Databricks de destino ao perfil de configuração personalizado e, em seguida, defina a variável de ambiente DATABRICKS_CONFIG_PROFILE como o nome do perfil de configuração customizado. Para mais informações, consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK.

Variáveis de ambiente e campos para autenticação unificada do cliente

As tabelas a seguir listam os nomes e as descrições das variáveis de ambiente e dos campos compatíveis com a autenticação unificada do cliente Databricks. Nas seguintes tabelas:

Variáveis e campos gerais de ambiente de host, token e ID de conta

Nome comum

Descrição

Variável de ambiente

.databrickscfg campo, campo de Terraform

Config campo

Hospedeiro do Databricks

(String) A URL do host Databricks para o ponto de extremidade do workspace Databricks ou o ponto de extremidade da conta Databricks.

DATABRICKS_HOST

host

host (Python), setHost (Java), Host (Go)

Token de Databricks

(String) O token de acesso pessoal do Databricks.

DATABRICKS_TOKEN

token

token (Python), setToken (Java), Token (Go)

ID da conta Databricks

(String) O ID da conta Databricks para o endpoint da conta Databricks. Só tem efeito quando o host do Databricks também está definido como https://accounts.gcp.databricks.com.

DATABRICKS_ACCOUNT_ID

account_id

account_id (Python), setAccountID (Java), AccountID (Go)

cloudsdo Google - variável específica de ambiente e campos

Nome comum

Descrição

Variável de ambiente

.databrickscfg campo, campo de Terraform

Config campo

ID do cliente

(String) O ID do cliente da entidade de serviço do Databricks.

DATABRICKS_CLIENT_ID

client_id

client_id (Python), setClientId (Java), ClientId (Go)

Segredo do cliente

strings) O segredo do cliente da entidade do serviço Databricks.

DATABRICKS_CLIENT_SECRET

client_secret

client_secret (Python), setClientSecret (Java), ClientSecret (Go)

de clouds serviço do Google account

) O endereço de e-mail dastrings do clouds serviço do Google.account

DATABRICKS_GOOGLE_SERVICE_ACCOUNT

google_service_acccount

GoogleServiceAccount (Ir)

Credenciais clouds do Google

strings) O caminho local para o arquivo de clouds serviço do Google account key ou o conteúdo do arquivo de serviço account key no formato JSON.

GOOGLE_CREDENTIALS

google_credentials

GoogleCredentials (Ir)

.databrickscfg specific variável de ambientes e campos

Use essas variáveis de ambiente ou campos para especificar configurações nãodefault para .databrickscfg. Consulte também perfis de configuração do Databricks.

Nome comum

Descrição

Variável de ambiente

Campo Terraform

Config campo

.databrickscfg caminho do arquivo

(String) Um caminho não padrão para o arquivo .databrickscfg.

DATABRICKS_CONFIG_FILE

config_file

config_file (Python), setConfigFile (Java), ConfigFile (Go)

.databrickscfg perfil padrão

(String) O perfil nomeado padrão a ser usado, diferente de DEFAULT.

DATABRICKS_CONFIG_PROFILE

profile

profile (Python), setProfile (Java), Profile (Go)

Campo Tipo de autenticação

Use essa variável de ambiente ou campo para forçar um SDK a usar um tipo específico de autenticação do Databricks.

Nome comum

Descrição

Campo Terraform

Config campo

Tipo de autenticação de databricks

(String) Quando múltiplos atributos de autenticação estão disponíveis no ambiente, utilize o tipo de autenticação especificado por este argumento.

auth_type

auth_type (Python), setAuthType (Java), AuthType (Go)

Os valores de campo do tipo de autenticação do Databricks compatíveis incluem:

Perfis de configuração do Databricks

Um perfil de configuração da Databricks (às vezes chamado de perfil de configuração, perfil de configuração ou simplesmente profile) contém definições e outras informações que a Databricks precisa para autenticar. Os perfis de configuração do Databricks são armazenados em arquivos de perfis de configuração do Databricks para uso de suas ferramentas, SDKs, scripts e aplicativos. Para saber se os perfis de configuração do Databricks são compatíveis com suas ferramentas, SDKs, scripts e aplicativos, consulte a documentação do seu provedor. Todas as ferramentas e SDKs participantes que implementam a autenticação unificada do cliente Databricks são compatíveis com os perfis de configuração do Databricks. Para obter mais informações, consulte Tipos de autenticação suportados pela ferramenta Databricks ou SDK.

Para criar um arquivo de perfis de configuração do Databricks:

  1. Utilize seu editor de texto favorito para criar um arquivo denominado .databrickscfg na sua pasta ~ (sua casa de usuário) no Unix, Linux ou macOS, ou sua pasta %USERPROFILE% (sua casa de usuário) no Windows, se você ainda não tiver uma. Não esqueça o ponto (.) no início do nome do arquivo. Adicione o seguinte conteúdo a este arquivo:

    [<some-unique-name-for-this-configuration-profile>]
    <field-name> = <field-value>
    
  2. No conteúdo anterior, substitua os seguintes valores e salve o arquivo:

    • <some-unique-name-for-this-configuration-profile> com um nome único para o perfil de configuração, como DEFAULT, DEVELOPMENT, PRODUCTION ou semelhante. Você pode ter vários perfis de configuração no mesmo .databrickscfg arquivo, mas cada perfil de configuração deve ter um nome exclusivo nesse arquivo.

    • <field-name> e <field-value> com o nome e um valor para um dos campos obrigatórios para o tipo de autenticação Databricks de destino. Para obter as informações específicas a serem fornecidas, consulte a seção anteriormente neste artigo para esse tipo de autenticação.

    • Adicione um par <field-name> e <field-value> para cada um dos campos obrigatórios adicionais para o tipo de autenticação de Databricks de destino.

Por exemplo, para autenticação de token de acesso pessoal do Databricks, o arquivo .databrickscfg pode ser assim:

[DEFAULT]
host  = https://1234567890123456.7.gcp.databricks.com
token = dapi123...

Para criar perfis de configuração adicionais, especifique nomes de perfil diferentes dentro do mesmo arquivo .databrickscfg. Por exemplo, para especificar workspaces separados do Databricks, cada um com seu próprio token de acesso pessoal do Databricks:

[DEFAULT]
host  = https://1234567890123456.7.gcp.databricks.com
token = dapi123...

[DEVELOPMENT]
host  = https://2345678901234567.8.gcp.databricks.com
token = dapi234...

Você também pode especificar nomes de perfil diferentes dentro do arquivo .databrickscfg para contas de Databricks e tipos de autenticação de Databricks diferentes, por exemplo:

[DEFAULT]
host = https://1234567890123456.7.gcp.databricks.com
token = dapi123...

[DEVELOPMENT]
host                   = https://2345678901234567.8.gcp.databricks.com
google_service_account = someone@example.com

DSNs ODBC

Em ODBC, um nome de fonte de dados (DSN) é um nome simbólico que ferramentas, SDKs, scripts e aplicativos utilizam para solicitar uma conexão com uma fonte de dados ODBC. Um DSN armazena detalhes da conexão, como o caminho para um driver ODBC, detalhes da rede, credenciais de autenticação e detalhes do banco de dados. Para saber se os DSNs ODBC são suportados por suas ferramentas, scripts e aplicativos, consulte a documentação do seu provedor.

Para instalar e configurar o driver ODBC do Databricks e criar um DSN ODBC para Databricks, consulte Driver ODBC do Databricks.

URLs de conexão JDBC

No JDBC, uma URL de conexão é uma URL simbólica que ferramentas, SDKs, scripts e aplicativos utilizam para solicitar uma conexão com uma fonte de dados JDBC. Uma URL de conexão armazena detalhes de conexão, como detalhes de rede, credenciais de autenticação, detalhes do banco de dados e recursos do driver JDBC. Para saber se URLs de conexão JDBC são suportados por suas ferramentas, SDKs, scripts e aplicativos, consulte a documentação do seu provedor.

Para instalar e configurar o driver JDBC do Databricks e criar uma URL de conexão JDBC para o Databricks, consulte Driver JDBC do Databricks.

CLI clouds Google

A CLI clouds do Google permite que você se autentique com Databricks on Google clouds por meio de seu terminal para Linux ou macOS, ou por meio do PowerShell ou do prompt de comando para Windows. Para saber se a CLI das clouds do Google é compatível com suas ferramentas, SDKs, scripts e aplicativos, consulte Tipos de autenticação compatíveis com a ferramenta ou SDK do Databricks ou a documentação do seu provedor.

Para usar a CLI clouds do Google para autenticar manualmente com Databricks nas clouds do Google, execute o comando gcloud init e siga as instruções na tela:

gcloud init

Para opções de autenticação mais detalhadas, consulte Inicialização da CLI gcloud.

Observe que as ferramentas e SDKs que implementam o padrão de autenticação unificada do cliente Databricks e que dependem da CLI clouds do Google devem executar a CLI clouds do Google automaticamente em seu nome para criar e gerenciar a autenticação do Databricks.