Autenticação unificada do cliente do Databricks
A autenticação unificada do cliente databricks centraliza a configuração e a automação da autenticação no Azure Databricks como parte da autorização do OAuth. 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, veja Ferramentas de desenvolvimento local 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 SDK deve autorizar o acesso ao Azure Databricks, ele tenta 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
- Autorizar acesso autônomo aos recursos do Azure Databricks com uma entidade de serviço usando o OAuth
- Autorizar acesso interativo aos recursos do Azure Databricks com uma conta de usuário usando o OAuth
- 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 Autorizar acesso autônomo aos recursos do Azure Databricks com uma entidade de serviço usando OAuth.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 Autorizar acesso interativo aos recursos do Azure Databricks com uma conta de usuário usando o OAuth.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.