Autenticação unificada do cliente Databricks

A autenticação unificada do cliente Databricks centraliza a configuração e a automação da autenticação para o Azure Databricks. 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 mais alterações na configuração de autenticação.

Ferramentas e SDKs participantes

As ferramentas e SDKs 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 Databricks Terraform e os SDKs Databricks para Python, Java e Go também aceitam a configuração direta de configurações de autenticação dentro do código. Para obter detalhes, consulte Ferramentas de desenvolvedor para a documentação da ferramenta ou SDK.

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

Sempre que uma ferramenta ou SDK precisa se autenticar no Azure Databricks, ela tenta os seguintes tipos de autenticação na seguinte ordem por padrão. Quando a ferramenta ou SDK é bem-sucedida com o tipo de autenticação que tenta, ela para de tentar autenticar com os tipos de autenticação restantes. Para forçar um SDK a autenticar com um tipo de autenticação específico, defina o Config campo Tipo de autenticação Databricks da API.

  1. Autenticação do 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 ao 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 SDK tenta, a ferramenta ou SDK tenta encontrar credenciais de autenticação nos seguintes locais, na seguinte ordem. Quando a ferramenta ou SDK consegue localizar credenciais de autenticação que podem ser usadas, a ferramenta ou SDK para de tentar localizar credenciais de autenticação nos locais restantes.

  1. Campos de API relacionados a Config credenciais (para SDKs). Para definir Config campos, consulte a documentação de referência do SDK.
  2. Variáveis de ambiente relacionadas a credenciais.
  3. Campos relacionados a credenciais no perfil de DEFAULT configuração dentro do .databrickscfg arquivo. 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. Consulte Autenticação da CLI do Azure.

Para fornecer a portabilidade máxima para seu código, o Databricks recomenda que você crie um perfil de configuração personalizado dentro do .databrickscfg arquivo, adicione os campos abaixocampos obrigatórios abaixo para o tipo de autenticação Databricks de destino para o perfil de configuração personalizado e, em seguida, defina a DATABRICKS_CONFIG_PROFILE variável de ambiente para 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 suportadas e campos para autenticação unificada do cliente Databricks. Nas seguintes tabelas:

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

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

Nome comum Description Variável de ambiente .databrickscfg campo, campo Terraform Config campo
Azure Databricks host (String) A URL do host do Azure Databricks para o ponto de extremidade do espaço de trabalho do Azure Databricks ou o ponto de extremidade das contas do Azure Databricks. DATABRICKS_HOST host host (Python),
setHost (Java),
Host (Vai)
Token do Azure Databricks (String) O token de acesso pessoal do Azure Databricks ou token de ID do Microsoft Entra. DATABRICKS_TOKEN token token (Python),
setToken (Java),
Token (Vai)
ID da conta do Azure Databricks (String) 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 (Vai)

Variáveis de ambiente e campos específicos do Azure

Nome comum Description Variável de ambiente .databrickscfg campo, campo Terraform Config campo
ID do cliente do Azure (String) A ID do aplicativo da entidade de serviço Microsoft Entra ID. Use com a autenticação de identidades gerenciadas do Azure e a autenticação principal do serviço Microsoft Entra ID. ARM_CLIENT_ID azure_client_id azure_client_id (Python),
setAzureClientID (Java),
AzureClientID (Vai)
Segredo do cliente do Azure (String) O segredo do cliente da entidade de serviço 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 (Vai)
ID de Cliente (String) A ID do cliente da entidade de serviço gerenciado do Azure Databricks ou da entidade de serviço gerenciado do Microsoft Entra ID. Use com autenticação OAuth M2M. DATABRICKS_CLIENT_ID client_id client_id (Python),
setClientId (Java),
ClientId (Vai)
Segredo do cliente (String) O segredo do cliente da entidade de serviço gerenciado do Azure Databricks ou da entidade de serviço gerenciado do Microsoft Entra ID. Use com autenticação OAuth M2M. DATABRICKS_CLIENT_SECRET client_secret client_secret (Python),
setClientSecret (Java),
ClientSecret (Vai)
Ambiente do Azure (String) O tipo de ambiente do Azure. O padrão é PUBLIC. ARM_ENVIRONMENT azure_environment azure_environment (Python),
setAzureEnvironment (Java),
AzureEnvironment (Vai)
ID do locatário do Azure (String) A ID do locatário da entidade de serviço Microsoft Entra ID. ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python),
setAzureTenantID (Java),
AzureTenantID (Vai)
Azure usar MSI (Booleano) True para usar o fluxo de autenticação sem senha da Identidade do Serviço Gerenciado do Azure para entidades de serviço. Requer que a ID de recurso do Azure também seja definida. ARM_USE_MSI azure_use_msi AzureUseMSI (Vai)
ID de recurso do Azure (String) A ID do Azure Resource Manager para o espaço de trabalho do Azure Databricks. DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python),
setAzureResourceID (Java),
AzureResourceID (Vai)

Variáveis e campos de ambiente específicos do .databrickscfg

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

Nome comum Description Variável de ambiente Campo Terraform Config campo
.databrickscfg caminho do arquivo (String) Um caminho não padrão para o
.databrickscfg arquivo.
DATABRICKS_CONFIG_FILE config_file config_file (Python),
setConfigFile (Java),
ConfigFile (Vai)
.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 (Vai)

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 Databricks.

Nome comum Description Campo Terraform Config campo
Tipo de autenticação Databricks (String) 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 (Vai)

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