Autenticação de identidades gerenciadas do Azure
A autenticação Identidades gerenciadas do Azure usa identidades gerenciadas para recursos do Azure (anteriormente MSI (Identidades de Serviço Gerenciado)) para autenticar com o Azure Databricks. Chamadas programáticas para operações do espaço de trabalho e conta do Azure Databricks usam essa identidade gerenciada ao trabalhar com recursos do Azure que dão suporte para identidades gerenciadas, como nas VMs do Azure.
- Para obter informações sobre identidades gerenciadas, confira O que são identidades gerenciadas para recursos do Azure?.
- Para saber como criar uma identidade gerenciada e fornecer a ela permissão para acessar contas e espaços de trabalho do Azure Databricks, confira Configurar e usar a autenticação de identidades gerenciadas do Azure para a automação do Azure Databricks.
Observação
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 dá suporte à autenticação. Para saber como usar as entidades de serviço do Microsoft Entra ID para autenticação do Azure Databricks em vez de identidades gerenciadas para recursos do Azure, confira:
- Autenticação da entidade de serviço do MS Entra
- Autenticação da CLI do Azure
- Gerenciar entidades de serviço
- Provisionar uma entidade de serviço usando o Terraform
- Obter tokens do Microsoft Entra ID para entidades de serviço
- Login 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 tem suporte apenas entre recursos configurados corretamente que dão suporte a identidades gerenciadas, como máquinas virtuais do Azure (VMs do Azure), e contas e Workspaces do Azure Databricks.
Para configurar a autenticação de identidades gerenciadas do Azure com o Azure Databricks, é necessário definir as seguintes variáveis de ambiente associadas, campos .databrickscfg
, campos do Terraform ou campos Config
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 workspace, especifique a URL por workspace, 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.
- A ID do cliente da identidade gerenciada.
- A ID do recurso do Azure.
- Defina o uso de identidades gerenciadas do Azure como verdadeiro.
Para realizar a autenticação de identidades gerenciadas do Azure com o Azure Databricks, integre o seguinte em seu código, com base na ferramenta ou SDK participante:
Ambiente
Para usar variáveis de ambiente para um tipo de autenticação do Azure Databricks específico com uma ferramenta ou SDK, consulte Autenticar o acesso a recursos do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e 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 sua 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
, defina o valor da sua URL por workspace do Azure Databricks, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
.ARM_CLIENT_ID
ARM_USE_MSI
, definido comotrue
.
Quanto ás 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 no espaço de trabalho do Azure Databricks, em vez de DATABRICKS_HOST
junto com a URL do espaço de trabalho. Nesse caso, a identidade de destino deve ter, no mínimo, permissões de Colaborador ou Proprietário no recurso do Azure para o workspace do Azure Databricks.
Perfil
Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu arquivo do .databrickscfg
. 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 a recursos do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e Métodos padrão para autenticação unificada do cliente.
Para operações no nível da conta, defina os seguintes valores em seu arquivo .databrickscfg
. 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 workspace, defina os seguintes valores em seu arquivo .databrickscfg
. Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://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
Quanto às 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 no espaço de trabalho do Azure Databricks, em vez de host
junto com a URL do espaço de trabalho. Nesse caso, a identidade de destino deve ter, no mínimo, permissões de Colaborador ou Proprietário no recurso do Azure para o workspace do Azure Databricks.
CLI
Na CLI do Databricks, siga um destes procedimentos:
- Defina as variáveis de ambiente, conforme especificado na seção “Ambiente” deste artigo.
- Defina os valores no arquivo
.databrickscfg
, conforme especificado na seção “Perfil” deste artigo.
As variáveis de ambiente sempre têm precedência sobre os valores do arquivo .databrickscfg
.
Consulte também Autenticação de identidades gerenciadas do Azure.
Conectar
Observação
O Databricks Connect depende do SDK do Databricks para Python para autenticação. O SDK do Databricks para Python ainda não implementou a Autenticação de identidades gerenciadas pelo Azure.
Código VS
Observação
A extensão do Databricks para o Visual Studio Code ainda não dá suporte para a autenticação das 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 espaços reservados retrieve
por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como HashiCorp Vault. Confira também Provedor de Cofres). 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 workspace, para autenticação padrão:
provider "databricks" {
alias = "workspace"
}
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como HashiCorp Vault. Confira também Provedor de Cofres). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Quanto às 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 no espaço de trabalho do Azure Databricks, em vez de host
junto com a URL do espaço de trabalho. Nesse caso, a identidade de destino deve ter, no mínimo, permissões de Colaborador ou Proprietário no recurso do Azure para o workspace do Azure Databricks.
Para obter mais informações sobre como autenticar com o provedor Terraform do Databricks, consulte Autenticação.
Python
Observação
O SDK do Databricks para Python ainda não implementou a autenticação de identidades gerenciadas do Azure.
Java
Observação
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 a configuração direta (substitua os espaços reservados retrieve
por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, 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 workspace, para autenticação padrão:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Para a configuração direta (substitua os espaços reservados retrieve
por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://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,
}))
// ...
Quanto às 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 no espaço de trabalho do Azure Databricks, em vez de Host
junto com a URL do espaço de trabalho. Nesse caso, a identidade de destino deve ter, no mínimo, permissões de Colaborador ou Proprietário no recurso do Azure para o workspace do Azure Databricks.
Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam o Go e que implementam a autenticação unificada do cliente do Databricks, consulte Autenticar o SDK do Databricks para o Go com sua conta ou espaço de trabalho do Azure Databricks.