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:
- A CLI do Databricks
- O provedor Terraform do Databricks
- Databricks Connect
- A extensão do Databricks para o Visual Studio Code
- O SDK do Databricks para Python
- O SDK do Databricks para Java
- O SDK do Databricks para Go
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 de desenvolvedor para obter 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
.
- Autenticação de token de acesso pessoal do Azure Databricks
- Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M)
- Autenticar o acesso no Azure Databricks com uma conta de usuário usando OAuth (OAuth U2M)
- Autenticação de identidades gerenciadas do Azure
- Autenticação da entidade de serviço do MS Entra
- 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.
- Campos da API de
Config
relacionados a credenciais (para SDKs). Para definir os campos deConfig
, consulte a documentação de referência do SDK. - Variáveis de ambiente relacionadas à credencial.
- 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). - 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 deConfig
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 comohttps://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:
oauth-m2m
: defina esse valor se você estiver usando uma entidade de serviço do Databricks para autenticação M2M com OAuth 2.0. Para obter mais detalhes, consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).pat
: defina esse valor se você estiver usando tokens de acesso pessoal do Databricks. Para obter detalhes, confira Autenticação de token de acesso pessoal do Azure Databricks.databricks-cli
: defina esse valor se você estiver usando a CLI do Databricks com o OAuth 2.0. Para obter mais detalhes, consulte Autenticar o acesso ao Azure Databricks com uma conta de usuário usando o OAuth (OAuth U2M).azure-msi
: defina esse valor se você estiver usando uma MSI (Identidade de Serviço Gerenciado do Azure). Para obter mais detalhes, consulte Autenticação de identidades gerenciadas do Azure.azure-client-secret
: defina esse valor se você estiver usando uma entidade de serviço do Azure com segredos do cliente. Para obter mais detalhes, consulte Autenticação da entidade de serviço do MS Entra.