Partilhar via


Autenticação de identidades gerenciadas do Azure

A autenticação de identidades gerenciadas do Azure usa identidades gerenciadas para recursos do Azure (anteriormente Managed Service Identities (MSI)) para autenticar com o Azure Databricks. As chamadas programáticas para a conta do Azure Databricks e as operações do espaço de trabalho usam essa identidade gerenciada ao trabalhar com recursos do Azure que dão suporte a identidades gerenciadas, como VMs do Azure.

Nota

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

A autenticação de identidades gerenciadas do Azure é suportada apenas entre recursos configurados corretamente que dão suporte a identidades gerenciadas – como máquinas virtuais do Azure (VMs do Azure) – e contas e espaços de trabalho do Azure Databricks.

Para configurar a autenticação de identidades gerenciadas do Azure com o Azure Databricks, você deve definir as seguintes variáveis de ambiente associadas, .databrickscfg campos, campos Terraform ou Config campos em uma VM do Azure com suporte adequado:

  • 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.
  • Para operações de conta, a ID da conta do Azure Databricks.
  • A ID do locatário da identidade gerenciada.
  • O ID do cliente da identidade gerenciada.
  • A ID de recurso do Azure.
  • Defina as identidades gerenciadas de uso do Azure como true.

Para executar a autenticação de identidades gerenciadas do Azure 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 Autenticar o acesso aos recursos do Azure Databricks ou a documentação da ferramenta ou do SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e os métodos padrão para 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_CLIENT_ID
  • ARM_USE_MSI, definido como true.

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_CLIENT_ID
  • ARM_USE_MSI, definido como true.

Para operações no nível do espaço de trabalho, se a identidade de destino 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 DATABRICKS_HOST trabalho. Nesse caso, a identidade de destino 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 Autenticar o acesso aos recursos do Azure Databricks ou à documentação da ferramenta ou do SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e os métodos padrão para 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_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

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_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

Para operações no nível do espaço de trabalho, se a identidade de destino 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 identidade de destino 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 de identidades gerenciadas do Azure.

Ligar

Nota

O Databricks Connect depende do Databricks SDK for Python para autenticação. O SDK do Databricks para Python ainda não implementou a autenticação de identidades gerenciadas do Azure.

Código VS

Nota

A extensão Databricks para Visual Studio Code ainda não oferece suporte à autenticação de identidades gerenciadas do Azure.

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_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

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_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Para operações no nível do espaço de trabalho, se a identidade de destino 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 identidade de destino 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

Nota

O SDK do Databricks para Python ainda não implementou a autenticação de identidades gerenciadas do Azure.

Java

Nota

O SDK do Databricks para Java ainda não implementou a autenticação de identidades gerenciadas do Azure.

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Para operações no nível do espaço de trabalho, se a identidade de destino ainda não tiver sido adicionada ao espaço de trabalho, especifique AzureResourceID 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 identidade de destino 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.