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:
- A CLI do Databricks
- O provedor Databricks Terraform
- Databricks Connect
- A extensão Databricks para 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 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.
- Autenticação do 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 ao 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 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.
- Campos de API relacionados a
Config
credenciais (para SDKs). Para definirConfig
campos, consulte a documentação de referência do SDK. - Variáveis de ambiente relacionadas a credenciais.
- 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). - 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 daConfig
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 comohttps://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:
oauth-m2m
: Defina esse valor se estiver usando uma entidade de serviço 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 estiver usando tokens de acesso pessoal Databricks. Para obter mais detalhes, consulte Autenticação de token de acesso pessoal do Azure Databricks.databricks-cli
: Defina esse valor se estiver usando a CLI do Databricks com OAuth 2.0. Para obter mais detalhes, consulte Autenticar o acesso ao Azure Databricks com uma conta de usuário usando OAuth (OAuth U2M).azure-msi
: defina esse valor se estiver usando uma Identidade de Serviço Gerenciado do Azure (MSI). 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 de cliente. Para obter mais detalhes, consulte Autenticação da entidade de serviço do MS Entra.