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.
- Para obter informações sobre identidades gerenciadas, consulte O que são identidades gerenciadas para recursos do Azure?.
- Para saber como criar uma identidade gerenciada e dar-lhe permissão para acessar contas e espaços de trabalho do Azure Databricks, consulte Configurar e usar a autenticação de identidades gerenciadas do Azure para automação do Azure Databricks.
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:
- Autenticação da entidade de serviço do MS Entra
- Autenticação da CLI do Azure
- Gerir principais de serviço
- Provisionar uma entidade de serviço usando o Terraform
- Obter tokens de ID do Microsoft Entra para entidades de serviço
- Logon da CLI do Azure com uma entidade de serviço do Microsoft Entra ID
- Login do PowerShell com uma entidade de serviço do Microsoft Entra ID
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, especifique
- 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 comotrue
.
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 comotrue
.
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.