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

Em Databricks, autenticação refere-se à verificação de uma identidade de Databricks (como um usuário, chefe de serviço ou grupo). O Databricks utiliza credenciais (como um token de acesso ou um nome de usuário e senha) para verificar a identidade.

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

Crie um access token pessoal do Databricks para um usuário do Databricks. (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 entidade de serviço do Databricks e, em seguida, crie um access token pessoal do Databricks para essa entidade de serviço do Databricks. (Este access token pessoal do Databricks pode ser usado apenas para autenticação com seu workspace Databricks associado.)

Gerenciar entidades de serviço

Consulte também access token pessoal do Databricks para entidade de serviço.

Crie um perfil de configuração do Databricks.

Perfis de configuração Databricks

Crie um grupo de Databricks e adicione utilizadores de Databricks e entidade de serviço de 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 e entidades de serviço 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 access token OAuth de curta duração (uma hora) 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.

  • 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 access token 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 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 que o senhor use a autenticação OAuth M2M ou a autenticação OAuth U2M, se a ferramenta ou o SDK da Databricks de destino for compatível, em vez da autenticação pessoal da Databricks access token. Isso ocorre porque o token de acesso OAuth é 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.

Autenticação básica (não recomendada em produção)

  • A autenticação básica utiliza utilizadores Databricks para autenticação.

  • A autenticação básica usa um nome de usuário e uma senha para credenciais de autenticação.

  • A Databricks não recomenda autenticação básica para credenciais de autenticação em produção, pois nomes de usuário e senhas são menos seguros que access token.

  • Para obter detalhes técnicos adicionais, consulte Autenticação básica (herdada).

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

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 Hashicorp Vault, AWS Secrets Manager ou AWS System Manager Parameter Store, 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 a documentação específica de autenticação da extensão Databricks para Visual Studio Code, consulte Configuração de autenticação para a extensão Databricks para VS 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

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

A autenticação básica (legado) (não recomendada na produção) ainda não é compatível.

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

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

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

A autenticação básica (legado) (não recomendada na produção) ainda não é compatível.

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.cloud.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://dbc-a1b2345c-d6e7.cloud.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 básica (legado)

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

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

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 a credenciais no perfil de configuração DEFAULT no arquivo .databrickscfg . Para definir campos de perfil de configuração, consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK e perfis de configuração do Databricks.

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.cloud.databricks.com.

DATABRICKS_ACCOUNT_ID

account_id

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

Variáveis de ambiente e campos específicos da AWS

Nome comum

Descrição

Variável de ambiente

.databrickscfg campo, campo de Terraform

Config campo

Nome de usuário do Databricks

(String) O nome de usuário do Databricks.

DATABRICKS_USERNAME

username

username (Python), setUsername (Java), Username (Go)

Senha do Databricks

(String) A senha do usuário do Databricks.

DATABRICKS_PASSWORD

password

password (Python), setPassword (Java), Password (Go)

ID do cliente principal do serviço

(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 principal do serviço

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

DATABRICKS_CLIENT_SECRET

client_secret

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

.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://dbc-a1b2345c-d6e7.cloud.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://dbc-a1b2345c-d6e7.cloud.databricks.com
token = dapi123...

[DEVELOPMENT]
host  = https://dbc-b2c3456d-e7f8.cloud.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://dbc-a1b2345c-d6e7.cloud.databricks.com
token = dapi123...

[ACCOUNT]
host       = https://accounts.cloud.databricks.com
username   = someone@example.com
password   = MyP25...
account_id = ab0cd1...

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.