Partilhar via


Autenticar com identidades gerenciadas do Azure

A autenticação de identidades geridas do Azure utiliza identidades geridas para que os recursos do Azure possam autenticar-se 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 do Azure com o Azure Databricks, deve definir a seguinte configuração usando um dos métodos suportados numa VM 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.
  • O ID de recurso 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 Autorizar 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 unificada e a prioridade do método de autenticação.

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.

O Databricks recomenda usar DATABRICKS_HOST e atribuir explicitamente a identidade ao espaço de trabalho. Em alternativa, use DATABRICKS_AZURE_RESOURCE_ID com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário sobre o recurso Azure, ou um papel personalizado com permissões específicas 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 Autorizar 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 unificada e a prioridade do método de autenticação.

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

O Databricks recomenda usar host e atribuir explicitamente a identidade ao espaço de trabalho. Em alternativa, use azure_workspace_resource_id com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário sobre o recurso Azure, ou um papel personalizado com permissões específicas do Azure Databricks.

CLI

Para a CLI do Databricks, siga um destes procedimentos:

  • Defina as variáveis de ambiente conforme especificado na guia Ambiente .
  • Defina os valores em seu .databrickscfg arquivo conforme especificado na guia Perfil .

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
}

O Databricks recomenda usar host e atribuir explicitamente a identidade ao espaço de trabalho. Em alternativa, use azure_workspace_resource_id com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário sobre o recurso Azure, ou um papel personalizado com permissões específicas 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 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,
}))
// ...

O Databricks recomenda usar Host e atribuir explicitamente a identidade ao espaço de trabalho. Em alternativa, use AzureResourceID com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário sobre o recurso Azure, ou um papel personalizado com permissões específicas 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.