Compartilhar via


Autenticação unificada do cliente do Databricks

A autenticação unificada do cliente do Databricks centraliza a configuração e a automação da autenticação no Azure Databricks. Ele permite que você configure a autenticação do Databricks uma vez e use essa configuração em várias ferramentas e SDKs do Databricks sem mais alterações na configuração da autenticação.

Ferramentas e SDKs participantes

As ferramentas e os SDKs do Databricks participantes incluem:

Todas as ferramentas e SDKs participantes aceitam variáveis de ambiente especiais e perfis de configuração do Azure Databricks para autenticação. O provedor Terraform do Databricks e os SDKs do Databricks para Python, Java e Go também aceitam a configuração direta das definições de autenticação no código. Para obter detalhes, consulte Ferramentas e diretrizes para desenvolvedores para a documentação da ferramenta ou do SDK.

Métodos padrão para autenticação unificada do cliente

Sempre que uma ferramenta ou o SDK precisar se autenticar com o Azure Databricks, a ferramenta ou o SDK tentará os seguintes tipos de autenticação na ordem a seguir por padrão. Quando a ferramenta ou o SDK obtém êxito com o tipo de autenticação que tenta, a ferramenta ou o SDK para de tentar autenticar com os tipos de autenticação restantes. Para forçar um SDK a autenticar com um tipo específico de autenticação, defina o campo do tipo de autenticação do Databricks da API de Config.

  1. Autenticação de token de acesso pessoal do Azure Databricks
  2. Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M)
  3. Autenticar o acesso no Azure Databricks com uma conta de usuário usando OAuth (OAuth U2M)
  4. Autenticação de identidades gerenciadas do Azure
  5. Autenticação da entidade de serviço do MS Entra
  6. Autenticação da CLI do Azure

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

  1. Campos da API de Config relacionados a credenciais (para SDKs). Para definir os campos de Config, consulte a documentação de referência do SDK.
  2. Variáveis de ambiente relacionadas à credencial.
  3. Os campos relacionados a credenciais no perfil de configuração DEFAULT dentro do arquivo .databrickscfg. Para definir campos de perfil de configuração, consulte (/dev-tools/auth/config-profiles.md).
  4. Todas as credenciais de autenticação relacionadas que são armazenadas em cache pela CLI do Azure. Confira Autenticação da CLI do Azure.

Para oferecer o máximo de portabilidade para seu código, o Databricks recomenda a criação de um perfil de configuração personalizado no arquivo .databrickscfg, adicione os campos obrigatórios abaixo para o tipo de autenticação de destino do Databricks 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 personalizado.

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

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

  • A variável de ambiente, quando aplicável, é o nome da variável de ambiente.
  • O campo de .databrickscfg, quando aplicável, é o nome do campo em um arquivo de perfis de configuração do Azure Databricks ou configuração do Terraform do Databricks. Para definir campos do .databrickscfg, confira Perfis de configuração do Azure Databricks.
  • O campo do Terraform, quando aplicável, é o nome do campo dentro de uma configuração do Terraform do Databricks. Para definir os campos do Terraform do Databricks, consulte Autenticação na documentação do provedor Terraform do Databricks.
  • O campo de Config é o nome do campo dentro da API de Config para o SDK especificado.

Os campos e as variáveis de ambiente da ID de conta, token e host geral

Nome comum Descrição Variável de ambiente O campo de .databrickscfg, campo do Terraform Campo de Config
Host do Azure Databricks (Cadeia de caracteres) A URL do host do Azure Databricks para o ponto de extremidade do workspace do Azure Databricks ou o ponto de extremidade de contas do Azure Databricks. DATABRICKS_HOST host host (Python),
setHost (Java),
Host (Go)
Token do Azure Databricks (Cadeia de caracteres) O token de acesso pessoal do Azure Databricks ou o token do Microsoft Entra ID. DATABRICKS_TOKEN token token (Python),
setToken (Java),
Token (Go)
ID da conta do Azure Databricks (Cadeia de caracteres) A ID da conta do Azure Databricks para o ponto de extremidade da conta do Azure Databricks. Só tem efeito quando o host do Azure Databricks também está definido como
https://accounts.azuredatabricks.net.
DATABRICKS_ACCOUNT_ID account_id account_id (Python),
setAccountID (Java),
AccountID (Go)

Campos e variáveis de ambiente específicos do Azure

Nome comum Descrição Variável de ambiente O campo de .databrickscfg, campo do Terraform Campo de Config
ID do cliente do Azure (Cadeia de Caracteres) A ID do aplicativo do principal do serviço Microsoft Entra ID. Use com a autenticação de identidades gerenciadas do Azure e a autenticação da entidade de serviço do Microsoft Entra ID. ARM_CLIENT_ID azure_client_id azure_client_id (Python),
setAzureClientID (Java),
AzureClientID (Go)
Segredo do cliente do Azure (Cadeia de caracteres) O segredo do cliente da entidade de serviço do Microsoft Entra ID. Use com uma autenticação de entidade de serviço do Microsoft Entra ID. ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python),
setAzureClientSecret (Java),
AzureClientSecret (Go)
ID do Cliente (Cadeia de caracteres) O ID do cliente do principal de serviço gerenciado do Azure Databricks ou do principal de serviço gerenciado do Microsoft Entra ID. Use com a autenticação OAuth M2M. DATABRICKS_CLIENT_ID client_id client_id (Python),
setClientId (Java),
ClientId (Go)
Segredo do cliente (Cadeia de caracteres) O segredo do cliente da entidade de serviço gerenciado do Azure Databricks ou da entidade de serviço gerenciada do Microsoft Entra ID. Use com a autenticação OAuth M2M. DATABRICKS_CLIENT_SECRET client_secret client_secret (Python),
setClientSecret (Java),
ClientSecret (Go)
Ambiente do Azure (Cadeia de caracteres) O tipo de ambiente do Azure. Usa PUBLIC como padrão. ARM_ENVIRONMENT azure_environment azure_environment (Python),
setAzureEnvironment (Java),
AzureEnvironment (Go)
ID do locatário do Azure (Cadeia de caracteres) A ID de locatário do entidade de serviço do Microsoft Entra ID. ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python),
setAzureTenantID (Java),
AzureTenantID (Go)
O Azure usa MSI (Booliano) True para usar o fluxo de autenticação sem senha da Identidade de Serviço Gerenciado do Azure para entidades de serviço. Requer que a ID do recurso do Azure também seja definida. ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
ID do recurso do Azure (Cadeia de caracteres) A ID do Azure Resource Manager para o workspace do Azure Databricks. DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python),
setAzureResourceID (Java),
AzureResourceID (Go)

Campos e variáveis de ambiente específicos de .databrickscfg

Use essas variáveis de ambiente ou campos para especificar configurações não padrão de .databrickscfg. Confira também Perfis de configuração do Azure Databricks.

Nome comum Descrição Variável de ambiente Campo do Terraform Campo de Config
Caminho de arquivo de .databrickscfg (Cadeia de caracteres) Um caminho não padrão para o
arquivo .databrickscfg.
DATABRICKS_CONFIG_FILE config_file config_file (Python),
setConfigFile (Java),
ConfigFile (Go)
Perfil padrão de .databrickscfg (Cadeia de caracteres) O perfil nomeado padrão a ser usado, além de DEFAULT. DATABRICKS_CONFIG_PROFILE profile profile (Python),
setProfile (Java),
Profile (Go)

Campo de 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 do Terraform Campo de Config
Tipo de autenticação do Databricks (Cadeia de caracteres) Quando vários atributos de autenticação estiverem disponíveis no ambiente, use o tipo de autenticação especificado por esse argumento. auth_type auth_type (Python),
setAuthType (Java),
AuthType (Go)

Os valores do campo de tipo de autenticação do Databricks com suporte incluem: