Share via


Autenticação ddo principal de serviço do Microsoft Entra ID

A autenticação da entidade de serviço do Microsoft Entra ID usa as credenciais de uma entidade de serviço do Microsoft Entra ID para autenticar. Para criar e gerenciar entidades de serviço para o Azure Databricks, consulte:

Nota

O Databricks recomenda que você use a autenticação OAuth máquina-a-máquina (M2M) na maioria dos cenários, em vez da autenticação principal do serviço Microsoft Entra ID. Isto acontece porque a autenticação M2M OAuth utiliza os tokens de acesso OAuth do Azure Databricks que são mais avançados na autenticação apenas com o Azure Databricks.

Só deve utilizar a autenticação do principal do serviço do Microsoft Entra ID quando precisar de se autenticar no Azure Databricks e noutros recursos do Azure ao mesmo tempo, o que requer tokens do Microsoft Entra ID.

Para usar a autenticação OAuth M2M em vez da autenticação principal do serviço Microsoft Entra ID, ignore este artigo e consulte Autenticação OAuth máquina-a-máquina (M2M).

As entidades de serviço do Microsoft Entra ID são diferentes das identidades gerenciadas para recursos do Azure, que o Azure Databricks também oferece suporte para autenticação. Para saber como usar identidades gerenciadas para recursos do Azure em vez de entidades de serviço do Microsoft Entra ID para autenticação do Azure Databricks, consulte Configurar e usar a autenticação de identidades gerenciadas do Azure para automação do Azure Databricks.

Para configurar a autenticação principal do serviço Microsoft Entra ID com o Azure Databricks, você deve definir as seguintes variáveis de ambiente associadas, .databrickscfg campos, campos Terraform ou Config campos:

  • O host do Azure Databricks.

    • Para operações de conta, especifique https://accounts.azuredatabricks.net.

    • Para operações de espaço de trabalho, especifique a URL por espaço de trabalho, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.

      Se a entidade de serviço Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique a ID de recurso do Azure. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure.

  • Para operações de conta, a ID da conta do Azure Databricks.

  • A ID de recurso do Azure.

  • A ID do locatário da entidade de serviço do Microsoft Entra ID.

  • A ID do cliente da entidade de serviço Microsoft Entra ID.

  • O segredo do cliente da entidade de serviço Microsoft Entra ID.

Para executar a autenticação principal do serviço Microsoft Entra ID com o Azure Databricks, integre o seguinte em seu código, com base na ferramenta participante ou SDK:

Environment

Para usar variáveis de ambiente para um tipo de autenticação específico do Azure Databricks com uma ferramenta ou SDK, consulte Tipos de autenticação suportados pela ferramenta ou SDK do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis e campos de ambiente para autenticação unificada do cliente e a ordem padrão de avaliação para métodos e credenciais de autenticação unificada do cliente.

Para operações no nível da conta, defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, definido como o valor da URL do console da conta do Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Para operações no nível do espaço de trabalho, defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, definido como o valor da URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique DATABRICKS_AZURE_RESOURCE_ID junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de HOST trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Perfil

Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg arquivo. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados. Para usar o perfil com uma ferramenta ou SDK, consulte Tipos de autenticação suportados pela ferramenta ou SDK do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis e campos de ambiente para autenticação unificada do cliente e a ordem padrão de avaliação para métodos e credenciais de autenticação unificada do cliente.

Para operações no nível da conta, defina os seguintes valores em seu .databrickscfg arquivo. Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host                = <account-console-url>
account_id          = <account-id>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Para operações no nível do espaço de trabalho, defina os seguintes valores no arquivo .databrickscfg . Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host                = <workspace-url>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Cli

Para a CLI do Databricks, siga um destes procedimentos:

  • Defina as variáveis de ambiente conforme especificado na seção "Ambiente" deste artigo.
  • Defina os valores em seu .databrickscfg arquivo conforme especificado na seção "Perfil" deste artigo.

As variáveis de ambiente sempre têm precedência sobre os valores em seu .databrickscfg arquivo.

Consulte também Autenticação da entidade de serviço do Microsoft Entra ID.

Ligar

Nota

A autenticação principal do serviço Microsoft Entra ID é suportada nas seguintes versões do Databricks Connect:

  • Para Python, Databricks Connect for Databricks Runtime 13.1 e superior.
  • Para Scala, Databricks Connect for Databricks Runtime 13.3 LTS e superior.

Para o Databricks Connect, você pode seguir um destes procedimentos:

  • Defina os valores em seu .databrickscfg arquivo para operações no nível do espaço de trabalho do Azure Databricks, conforme especificado na seção "Perfil" deste artigo. Defina também a cluster_id variável de ambiente no seu perfil para o URL por espaço de trabalho, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • Defina as variáveis de ambiente para operações no nível do espaço de trabalho do Azure Databricks, conforme especificado na seção "Ambiente" deste artigo. Defina também a DATABRICKS_CLUSTER_ID variável de ambiente como URL por espaço de trabalho, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.

Os valores em seu arquivo sempre têm precedência sobre as .databrickscfg variáveis de ambiente.

Para inicializar o cliente Databricks Connect com essas variáveis ou valores de ambiente em seu .databrickscfg arquivo, consulte uma das seguintes opções:

Código Vs

Para a extensão Databricks para Visual Studio Code, faça o seguinte:

  1. Defina os valores em seu .databrickscfg arquivo para operações no nível do espaço de trabalho do Azure Databricks, conforme especificado na seção "Perfil" deste artigo.
  2. No painel Configuração da extensão Databricks para Visual Studio Code, clique em Configurar Databricks.
  3. Na Paleta de comandos, para Databricks Host, insira sua URL por espaço de trabalho, por exemplo https://adb-1234567890123456.7.azuredatabricks.net, e pressione Enter.
  4. Na Paleta de comandos, selecione o nome do seu perfil de destino na lista do seu URL.

Para obter mais detalhes, consulte Configuração de autenticação para a extensão Databricks para VS Code.

Terraform

Para operações no nível da conta, para autenticação padrão:

provider "databricks" {
  alias = "accounts"
}

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o HashiCorp Vault. Consulte também Vault Provider). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

provider "databricks" {
  alias               = "accounts"
  host                = <retrieve-account-console-url>
  account_id          = <retrieve-account-id>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

Para operações no nível do espaço de trabalho, para autenticação padrão:

provider "databricks" {
  alias = "workspace"
}

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o HashiCorp Vault. Consulte também Vault Provider). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias               = "workspace"
  host                = <retrieve-workspace-url>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Para obter mais informações sobre como autenticar com o provedor Databricks Terraform, consulte Autenticação.

Python

Para operações no nível da conta, para autenticação padrão:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = retrieve_account_console_url(),
  account_id          = retrieve_account_id(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Para operações no nível do espaço de trabalho, para autenticação padrão:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = retrieve_workspace_url(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Para obter mais informações sobre autenticação com ferramentas Databricks e SDKs que usam Python e que implementam a autenticação unificada do cliente Databricks, consulte:

Java

Para operações no nível da conta, para autenticação padrão:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

Para operações no nível do espaço de trabalho, para autenticação padrão:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique setAzureWorkspaceResourceId junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de setHost trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Para obter mais informações sobre a autenticação com ferramentas Databricks e SDKs que usam Java e que implementam a autenticação unificada do cliente Databricks, consulte:

Go

Para operações no nível da conta, para autenticação padrão:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:              retrieveAccountConsoleUrl(),
  AccountId:         retrieveAccountId(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Para operações no nível do espaço de trabalho, para autenticação padrão:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Para configuração direta (substitua os retrieve espaços reservados por sua própria implementação para recuperar os valores do console ou de algum outro repositório de configuração, como o Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              retrieveWorkspaceUrl(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Para operações no nível do espaço de trabalho, se a entidade de serviço do Microsoft Entra ID ainda não tiver sido adicionada ao espaço de trabalho, especifique AzureWorkspaceResourceId junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de Host trabalho. Nesse caso, a entidade de serviço do Microsoft Entra ID deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.

Para obter mais informações sobre a autenticação com ferramentas e SDKs do Databricks que usam o Go e que implementam a autenticação unificada do cliente Databricks, consulte Autenticar o SDK do Databricks para Go com sua conta ou espaço de trabalho do Azure Databricks.