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. |
|
Crie um usuário do Databricks que você possa usar para autenticação em um workspace específico do Databricks. |
|
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. |
|
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 |
|
Autenticação usuário-máquina (U2M) OAuth |
|
Autenticação de credenciais clouds do Google |
|
Autenticação de ID clouds do Google |
|
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 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
.
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.
Campos de API
Config
relacionados a credenciais (para SDKs). Para definir camposConfig
, consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK ou a documentação de referência do SDK.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.
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.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ável de ambiente, quando aplicável, é o nome da variável de ambiente. 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.
.databrickscfg
field, quando aplicável, é o nome do campo em um arquivo de perfis de configuração do Databricks ou na configuração do Databricks Terraform. Para definir campos.databrickscfg
, consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK e perfis de configuração do Databricks.Campo Terraform, quando aplicável, é o nome do campo dentro de uma configuração Databricks Terraform. Para definir campos Terraform Databricks, consulte Autenticação na documentação do provedor Databricks Terraform.
O campo
Config
é o nome do campo na APIConfig
do SDK especificado. Para usar a APIConfig
, consulte Tipos de autenticação compatíveis com a ferramenta Databricks ou SDK ou a documentação de referência do SDK.
Variáveis e campos gerais de ambiente de host, token e ID de conta
Nome comum |
Descrição |
Variável de ambiente |
|
|
---|---|---|---|---|
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. |
|
|
|
Token de Databricks |
(String) O token de acesso pessoal do Databricks. |
|
|
|
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 |
|
|
|
cloudsdo Google - variável específica de ambiente e campos
Nome comum |
Descrição |
Variável de ambiente |
|
|
---|---|---|---|---|
ID do cliente |
(String) O ID do cliente da entidade de serviço do Databricks. |
|
|
|
Segredo do cliente |
strings) O segredo do cliente da entidade do serviço Databricks. |
|
|
|
de clouds serviço do Google account |
) O endereço de e-mail dastrings do clouds serviço do Google.account |
|
|
|
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. |
|
|
|
.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 |
|
---|---|---|---|---|
|
(String) Um caminho não padrão para o arquivo |
|
|
|
|
(String) O perfil nomeado padrão a ser usado, diferente de |
|
|
|
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 |
|
---|---|---|---|
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. |
|
|
Os valores de campo do tipo de autenticação do Databricks compatíveis incluem:
oauth-m2m
: Autenticação máquina a máquina (M2M) OAuthdatabricks-cli
: Autenticação usuário-máquina (U2M) OAuthgoogle-credentials
: Autenticação de credenciais clouds do Googlegoogle-id
: Autenticação de ID clouds do Google
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:
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>
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, comoDEFAULT
,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.