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 geridas para recursos do Azure diferem dos principais de serviço do Microsoft Entra ID, que o Azure Databricks também suporta para fins de 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 geridas da Azure no Azure Databricks, é necessário definir as seguintes variáveis de ambiente associadas, .databrickscfg campos, campos Terraform ou Config campos numa máquina virtual da Azure devidamente suportada:

  • 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, o 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:

Ambiente

Para usar variáveis de ambiente para um tipo de autenticação específico do Azure Databricks com uma ferramenta ou SDK, consulte Autorizando o acesso aos recursos do Azure Databricks ou a documentação da ferramenta ou do SDK. Consulte também Variáveis e campos de ambiente para autenticação de cliente unificada e os métodos padrão para autenticação unificada de 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 por espaço de trabalho do Azure Databricks, por exemplo .
  • 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, então 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 especificar DATABRICKS_HOST junto com a URL do espaço de 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 criares o perfil, substitui os marcadores de posição pelos valores apropriados. Para usar o perfil com uma ferramenta ou SDK, consulte Autorizando o acesso aos recursos do Azure Databricks ou a documentação da ferramenta ou do SDK. Consulte também Variáveis e campos de ambiente para autenticação de cliente unificada e os métodos padrão para autenticação unificada de 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 associada a cada espaço de trabalho, por exemplo :

[<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, então 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 especificar host junto com a URL do espaço de 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.

Interface de Linha de Comando (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.

Conectar

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.

Terraformação

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 obter 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 obter 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 associada a cada espaço de trabalho, por exemplo :

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, então 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 especificar host junto com a URL do espaço de 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.

Píton

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.

Ir

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 marcadores de posição por sua própria implementação para recuperar os valores do console ou de 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 marcadores de posição por sua própria implementação para recuperar os valores do console ou de outro repositório de configuração, como o Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks associada a cada espaço de trabalho, por exemplo :

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, então especifique AzureResourceID junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de especificar Host junto com a URL do espaço de 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.