Configurar e usar a autenticação de identidades gerenciadas do Azure para a automação do Azure Databricks
Siga as etapas deste artigo para autenticar identidades gerenciadas para recursos do Azure (antigo MSI (Identidades de Serviço Gerenciado)) para automatizar suas contas e workspaces do Azure Databricks.
O Azure gerencia automaticamente as identidades na ID do Microsoft Entra para que os aplicativos usem ao se conectar a recursos que dão suporte à autenticação da ID do Microsoft Entra. Esses recursos incluem contas e workspaces do Azure Databricks. A autenticação de identidades gerenciadas do Azure para o Azure Databricks usa identidades gerenciadas para obter tokens do Microsoft Entra ID sem precisar gerenciar credenciais.
- Para obter mais informações sobre identidades gerenciadas, confira O que são identidades gerenciadas para recursos do Azure?.
- Para obter mais informações sobre a autenticação de identidades gerenciadas do Azure para o Azure Databricks, confira Autenticação de identidades gerenciadas do Azure.
Observação
As identidades gerenciadas para recursos do Azure são diferentes das entidades de serviço gerenciadas do Microsoft Entra ID, que o Azure Databricks também dá suporte para autenticação. Para aprender como usar as entidades de serviço gerenciadas do Microsoft Entra ID para a autenticação do Azure Databricks em vez de identidades gerenciadas para os recursos do Azure, consulte:
- 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
- Logon do PowerShell com uma entidade de serviço do Microsoft Entra ID
Este artigo demonstra como configurar e usar a autenticação de identidades gerenciadas do Azure da seguinte maneira:
- Crie uma identidade gerenciada atribuída pelo usuário. O Azure dá suporte a identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário. O Databricks recomenda que você use identidades gerenciadas atribuídas pelo usuário para autenticação de identidades gerenciadas do Azure com o Azure Databricks.
- Atribua sua identidade gerenciada à sua conta do Azure Databricks e a um workspace do Azure Databricks nessa conta.
- Crie e faça logon em uma máquina virtual do Azure (VM do Azure). Você deve usar um recurso que dê suporte a identidades gerenciadas, como uma VM do Azure, com uma identidade gerenciada atribuída a essa VM do Azure, para chamar programaticamente operações de conta e de workspace do Azure Databricks.
- Atribua sua identidade gerenciada atribuída pelo usuário à VM do Azure.
- Instale a CLI do Databricks em sua VM do Azure e configure a CLI do Databricks para autenticação de identidades gerenciadas do Azure para o Azure Databricks usando a identidade gerenciada atribuída.
- Execute comandos com a CLI do Databricks para automatizar sua conta e o workspace do Azure Databricks usando a autenticação de identidades gerenciadas do Azure para o Azure Databricks com a identidade gerenciada atribuída.
Requisitos
- Para criar e atribuir identidades gerenciadas atribuídas ao usuário, tem de ter as permissões mínimas necessárias de controle de acesso baseado em função do Azure (RBAC do Azure) na sua assinatura do Azure. Confira Quais permissões do RBAC do Azure são necessárias para usar uma identidade gerenciada em um recurso?.
- Para atribuir uma identidade gerenciada à sua conta do Azure Databricks, você deve ser um administrador dessa conta. Confira Atribuir funções de administrador de conta a um usuário.
- Para atribuir uma identidade gerenciada ao workspace do Azure Databricks, você deve ser um administrador desse workspace. Confira Atribuir a função de administrador do workspace a um usuário usando a página de configurações de administrador do workspace.
- Para criar uma VM do Azure e atribuir uma identidade gerenciada pelo usuário, você deve ter, no mínimo, as atribuições de função de Colaborador de Máquina Virtual e de Operador de Identidade Gerenciada na sua assinatura do Azure.
Etapa 1: Criar uma identidade gerenciada atribuída pelo usuário
Nesta etapa, você criará uma identidade gerenciada atribuída pelo usuário para os recursos do Azure. O Azure dá suporte a identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário. O Databricks recomenda que você use identidades gerenciadas atribuídas pelo usuário para autenticação de identidades gerenciadas do Azure com o Azure Databricks. Confira também Gerenciar identidades gerenciadas atribuídas pelo usuário.
Entre no portal do Azure.
Observação
O portal a ser usado é diferente dependendo se você usa a nuvem pública do Azure ou uma nuvem nacional ou soberana. Para obter mais informações, confira as Nuvens nacionais.
Se tiver acesso a vários locatários, assinaturas ou diretórios, clique no ícone de engrenagem (Configurações) no menu superior para alternar para o diretório no qual pretende criar a identidade gerenciada.
Em Pesquisar recursos, serviços e documentos, pesquise e selecione o serviço do Azure chamado Identidades Gerenciadas.
Clique em + Criar.
Na guia Noções básicas, do Grupo de recursos, escolha um grupo de recursos existente ao qual adicionar essa identidade gerenciada ou clique em Criar novo para criar um novo grupo de recursos ao qual adicionar essa identidade gerenciada. Para obter informações sobre grupos de recursos, confira Gerenciar grupos de recursos do Azure usando o portal do Azure.
Para Região, escolha a região apropriada para adicionar essa identidade gerenciada. Para obter informações sobre regiões, confira Escolher a região certa do Azure para você.
Para Nome, insira um nome exclusivo para essa identidade gerenciada que seja fácil de lembrar.
Na página Revisar + criar, clique em Criar.
Clique em Ir para o recurso.
Copie o valor do campo da ID do Cliente, pois você precisará dela posteriormente nas Etapas 2, 3 e 8:
Se esquecer de copiar esse valor, poderá retornar à página de visão geral da sua identidade gerenciada mais tarde para obter esse valor. Para retornar à página de visão geral da sua identidade gerenciada, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua identidade gerenciada. Em seguida, na página de configurações da identidade gerenciada, clique em Visão geral na barra lateral.
Etapa 2: Atribuir sua identidade gerenciada à sua conta do Azure Databricks
Nesta etapa, você fornecerá acesso de identidade gerenciada à sua conta do Azure Databricks. Se não quiser conceder acesso de identidade gerenciada à sua conta do Azure Databricks, vá para a Etapa 3.
Em seu workspace do Azure Databricks, clique em seu nome de usuário na barra superior e clique em Gerenciar conta.
Como alternativa, vá diretamente para o console da conta do Azure Databricks, em https://accounts.azuredatabricks.net.
Entre em sua conta do Azure Databricks, se solicitado.
Na barra lateral, clique em Gerenciamento de usuários .
Clique na guia Entidades de serviço.
Observação
Embora esta guia seja rotulada Entidades de serviço, ela também funciona com identidades gerenciadas. O Azure Databricks trata as identidades gerenciadas como entidades de serviço na sua conta do Azure Databricks.
Clique em Adicionar entidade de serviço.
Insira um Nome exclusivo para a entidade de serviço que seja fácil de lembrar.
Para UUID, insira o valor da ID do cliente para sua identidade gerenciada da Etapa 1.
Clique em Adicionar. Sua identidade gerenciada é adicionada como uma entidade de serviço em sua conta do Azure Databricks.
Atribua todas as permissões de nível de conta que você deseja que a entidade de serviço tenha:
- Na guia Entidades de serviço, clique no nome da entidade de serviço.
- Na guia Funções, alterne para habilitar ou desabilitar cada função de destino que você deseja que essa entidade de serviço tenha.
- Na guia Permissões, conceda acesso a todos os usuários do Azure Databricks, entidades de serviço e funções de grupo de contas que você deseja gerenciar e usar essa entidade de serviço. Confira Gerenciar funções em uma entidade de serviço.
Etapa 3: Atribuir sua identidade gerenciada ao workspace do Azure Databricks
Neste passo, você fornece à sua identidade gerenciada acesso ao seu workspace do Azure Databricks.
Se o workspace estiver habilitado para federação de identidade:
No workspace do Azure Databricks, clique no nome de usuário na barra superior e clique em Configurações.
Clique em Entidades de serviço.
Observação
Embora esta guia seja rotulada Entidades de serviço, ela também funciona com identidades gerenciadas. O Azure Databricks trata as identidades gerenciadas como entidades de serviço na sua conta do Azure Databricks.
Clique em Adicionar entidade de serviço.
Selecione sua entidade de serviço na Etapa 2 e clique em Adicionar. Sua entidade de serviço é adicionada como uma entidade de serviço no workspace do Azure Databricks.
Atribua permissões no nível do workspace que você deseja que a entidade de serviço tenha:
- Na guia Entidades de serviço, clique no nome da entidade de serviço.
- Na guia Configurações, selecione ou desmarque para conceder ou revogar cada status de destino ou direito que você deseja que essa entidade de serviço tenha.
- Na guia Permissões, conceda acesso a todos os usuários do Azure Databricks, entidades de serviço e funções de grupo de contas que você deseja gerenciar e usar essa entidade de serviço. Confira Gerenciar funções em uma entidade de serviço.
Pule para a Etapa 4.
Se o workspace não estiver habilitado para federação de identidade:
No workspace do Azure Databricks, clique no nome de usuário na barra superior e clique em Configurações.
Clique em Entidades de serviço.
Observação
Embora essa guia seja rotulada Entidades de serviço, essa guia também funciona com identidades gerenciadas. O Azure Databricks trata identidades gerenciadas como entidades de serviço em seu workspace do Azure Databricks.
Clique em Adicionar entidade de serviço.
Na lista Entidade de serviço, selecione Adicionar nova entidade de serviço.
Para ApplicationId, insira a ID do cliente para sua identidade gerenciada da Etapa 1.
Insira um Nome de Exibição que seja fácil de lembrar para a nova entidade de serviço e clique em Adicionar. A sua identidade gerenciada é adicionada como entidade de serviço no seu workspace do Azure Databricks.
Atribua permissões no nível do workspace que você deseja que a entidade de serviço tenha:
- Na guia Entidades de serviço, clique no nome da entidade de serviço.
- Na guia Configurações, selecione ou desmarque para conceder ou revogar cada status de destino ou direito que você deseja que essa entidade de serviço tenha.
- Na guia Permissões, conceda acesso a todos os usuários do Azure Databricks, entidades de serviço e funções de grupo de contas que você deseja gerenciar e usar essa entidade de serviço. Confira Gerenciar funções em uma entidade de serviço.
Etapa 4: Obter a ID do recurso do Azure para seu workspace do Azure Databricks
Nesta etapa, você obterá a ID do recurso que o Azure atribui ao workspace do Azure Databricks. Você precisará dessa ID de recurso do Azure mais tarde para ajudar a autenticação de identidades gerenciadas do Azure a determinar o recurso específico do Azure associado ao workspace do Azure Databricks.
No workspace do Azure Databricks, clique em seu nome de usuário na barra superior e clique em Portal do Azure.
No painel lateral, na seção Configurações, clique em Propriedades.
Na seção Essentials, copie o valor da ID, pois você precisará dela posteriormente na Etapa 8. Ela deve parecer com o seguinte:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Databricks/workspaces/<workspace-id>
Etapa 5: Criar e fazer logon em uma VM do Azure
Nesta etapa, você criará e fará logon em uma máquina virtual do Azure (VM do Azure). As VMs do Azure são um dos tipos de recurso que dão suporte a identidades gerenciadas. Confira também Início rápido: Criar uma máquina virtual Linux no portal do Azure.
Essa VM do Azure destina-se apenas para fins de demonstração. Essa VM do Azure usa configurações que não são necessariamente otimizadas para suas necessidades de uso contínuo. Depois de terminar de experimentar essa VM do Azure, você deverá excluí-la, conforme mostrado posteriormente na Etapa 11.
No portal do Azure em que você se inscreveu na Etapa 1, em Pesquisar recursos, serviços e documentos, procure e selecione o serviço do Azure chamado Máquinas Virtuais.
Clique + Criar > Máquina virtual do Azure.
Na guia Noções básicas, do Grupo de recursos, escolha um grupo de recursos existente para adicionar essa VM do Azure ou clique em Criar novo para criar um novo grupo de recursos ao qual adicionar essa VM do Azure. Para obter informações sobre grupos de recursos, confira Gerenciar grupos de recursos do Azure usando o portal do Azure.
Para o Nome da máquina virtual, insira algum nome exclusivo para essa VM do Azure que seja fácil de lembrar.
Para Região, escolha a região apropriada para adicionar essa VM do Azure. Para obter informações sobre regiões, confira Escolher a região certa do Azure para você.
Para Imagem, escolha Ubuntu Server 22.04 LTS - x64 Gen 2.
Para Tipo de autenticação, selecione Chave pública SSH.
Em Nome de usuário, insira
azureuser
.Para a origem da chave pública SSH, deixe o padrão de Gerar novo par de chaves.
Para o nome do par chaves, insira
myKey
.Para Portas de entrada públicas, selecione Permitir portas selecionadas.
Para Selecionar portas de entrada, selecione HTTP (80) e SSH (22).
Deixe os padrões restantes.
Na página Revisar + criar, clique em Criar.
Clique em Baixar chave privada e criar recurso. Seu arquivo de chave é baixado para seu computador de desenvolvimento local como
myKey.pem
. Anote onde esse arquivomyKey.pem
foi baixado, pois você precisará dele para fazer logon na VM do Azure posteriormente nesta Etapa.Se você perder seu arquivo de chave, poderá retornar à página de configurações da VM do Azure mais tarde para obter um arquivo de chave substituto. Para retornar à página de configurações da sua VM do Azure, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua VM do Azure. Para obter um arquivo de chave de substituição na página de configurações da VM do Azure, faça o seguinte:
- Na seção Ajuda no painel lateral, clique em Redefinir senha.
- Selecione Adicionar chave pública SSH.
- Para o Nome do par chaves, insira algum nome exclusivo.
- Clique em Atualizar.
- Clique em Baixar + criar. Seu arquivo de chave é baixado com uma extensão
.pem
. Anote onde esse arquivo.pem
foi baixado, pois você precisará dele para fazer logon na VM do Azure posteriormente nesta Etapa.
Depois que a VM do Azure for criada, clique em Ir para o recurso.
Copie o valor do campo Endereço IP público, pois você precisará dele para fazer logon na VM do Azure posteriormente nesta Etapa.
Se você esquecer de copiar esse valor, poderá retornar à página de visão geral da VM do Azure mais tarde para obter esse valor. Para retornar à página de visão geral da sua VM do Azure, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua VM do Azure. Em seguida, na página de configurações da VM do Azure, clique em Visão geral na barra lateral e procure o campo Endereço IP público.
Se o computador de desenvolvimento local estiver executando Linux, macOS ou WSL no Windows, verifique se você tem acesso somente leitura à chave privada que acabou de baixar. Para fazer isso, execute o seguinte comando no terminal ou no prompt de comando do computador de desenvolvimento local. Nesse comando, substitua os seguintes valores:
- Substitua
</path/to>
pelo caminho do arquivo.pem
baixado. - Substitua
myKey.pem
pelo nome do arquivo.pem
baixado.
chmod 400 </path/to>/myKey.pem
- Substitua
Faça logon na VM do Azure. Para fazer isso, no terminal ou no prompt de comando do computador de desenvolvimento local, execute o comando a seguir. Nesse comando, substitua os seguintes valores:
- Substitua
</path/to>
pelo caminho do arquivo.pem
baixado. - Substitua
myKey.pem
pelo nome do arquivo.pem
baixado. - Substitua
<public-ip-address>
pelo valor do campo Endereço IP público que você copiou anteriormente nesta Etapa.
ssh -i </path/to>/myKey.pem azureuser@<public-ip-address>
Por exemplo:
ssh -i ./myKey.pem azureuser@192.0.2.0
- Substitua
Se você nunca se conectou a essa VM do Azure antes, será solicitado que você verifique a impressão digital do host. Para fazer isso, siga os prompts na tela. O Databricks recomenda que você sempre valide a impressão digital do host.
O terminal ou o prompt de comando alterna para
azureuser@<your-azure-vm-name>:~$
.Para sair da VM do Azure a qualquer momento, execute o comando
logout
ouexit
. Em seguida, o prompt de comando ou terminal volta ao normal.
Etapa 6: Atribuir sua identidade gerenciada à VM do Azure
Nesta etapa, você associará sua identidade gerenciada à VM do Azure. Isto permite que o Azure use a identidade gerenciada para autenticação conforme necessário enquanto a VM do Azure estiver em execução. Confira também Atribuir uma identidade gerenciada atribuída pelo usuário a uma VM existente.
No portal do Azure em que você entrou na Etapa 1, na página de configurações da VM do Azure, na seção Configurações no painel lateral, clique em Identidade.
Para retornar à página de visão geral da sua VM do Azure, caso você a tenha fechado anteriormente, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua VM do Azure.
Na guia Usuário atribuído, clique em + Adicionar.
Selecione sua identidade gerenciada atribuída pelo usuário que você criou na Etapa 1 e clique em Adicionar.
Etapa 7: Instalar a CLI do Databricks em sua VM do Azure
Nesta etapa, você instalará a CLI do Databricks para que possa usá-la para executar comandos que automatizam suas contas e workspaces do Azure Databricks.
Dica
Você também pode usar o provedor do Databricks Terraform ou o SDK do Databricks para Go junto com a autenticação de identidades gerenciadas do Azure para automatizar suas contas e workspaces do Azure Databricks executando o código HCL ou Go. Confira o SDK do Databricks para Go e a Autenticação de identidades gerenciadas do Azure.
Com o terminal ou prompt de comando ainda aberto e conectado à VM do Azure na Etapa 5, instale a CLI do Databricks executando os dois comandos a seguir:
sudo apt install unzip curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
Confirme se a CLI do Databricks está instalada executando o seguinte comando, que imprime a versão da CLI do Databricks instalada:
databricks -v
Etapa 8: Configurar a CLI do Databricks para autenticação de identidades gerenciadas do Azure
Nesta etapa, você configurará a CLI do Databricks para usar a autenticação de identidades gerenciadas do Azure para o Azure Databricks com as configurações da sua identidade gerenciada. Para fazer isso, você cria um arquivo com um nome de arquivo padrão em um local padrão onde a CLI do Databricks espera encontrar as configurações de autenticação necessárias.
Com o terminal ou prompt de comando ainda aberto e conectado à VM do Azure na Etapa 5, use o editor de texto
vi
para criar e abrir um arquivo chamado.databrickscfg
para edição no diretório inicial do usuário conectado, executando o seguinte comando:vi ~/.databrickscfg
Comece a editar o arquivo
.databrickscfg
pressionando a combinação de teclas do editorEsc
seguida dei
. O prompt de comando desaparece, o editorvi
é iniciado e a palavra-- INSERT --
aparece na parte inferior do editor para indicar que o arquivo.databrickscfg
está em modo de edição.Insira o conteúdo a seguir. Neste conteúdo, substitua os seguintes valores:
- Substitua o
<account-console-url>
pelo URL do console da conta do Azure Databricks, como https://accounts.azuredatabricks.net. - Substitua
<account-id>
pela ID da conta do Azure Databricks. Confira Localizar a ID da conta. - Substitua
<azure-managed-identity-application-id>
pelo valor da ID do cliente para a sua identidade gerenciada da Etapa 1. - Substitua
<workspace-url>
por sua URL por workspace, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
. - Substitua
<azure-workspace-resource-id>
pela ID do recurso do Azure da Etapa 4. - Você pode substituir os nomes de perfis de configuração sugeridos
AZURE_MI_ACCOUNT
eAZURE_MI_WORKSPACE
por nomes de perfis de configuração diferentes, se desejar. Esses nomes específicos não são necessários.
Se você não quiser executar operações no nível da conta, poderá omitir a seção
[AZURE_MI_ACCOUNT]
no conteúdo a seguir.[AZURE_MI_ACCOUNT] host = <account-console-url> account_id = <account-id> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true [AZURE_MI_WORKSPACE] host = <workspace-url> azure_workspace_resource_id = <azure-workspace-resource-id> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true
- Substitua o
Salve suas edições no arquivo
.databrickscfg
pressionando a combinação de teclas do editorEsc
, inserindo:wq
, seguido deEnter
. O editorvi
se fecha e o prompt de comando reaparece.
Etapa 9: Executar um comando no nível da conta
Nesta etapa, você usará a CLI do Databricks para executar um comando que automatiza a conta do Azure Databricks que foi configurada na Etapa 8.
Se você não quiser executar comandos no nível da conta, vá para a Etapa 10.
Com o terminal ou prompt de comando ainda aberto e conectado à VM do Azure na Etapa 5, execute o comando a seguir para listar todos os usuários disponíveis na sua conta do Azure Databricks. Se você renomeou o AZURE_MI_ACCOUNT
na Etapa 8, substitua-o aqui.
databricks account users list -p AZURE_MI_ACCOUNT
Etapa 10: Executar um comando no nível do workspace
Nesta etapa, você usará a CLI do Databricks para executar um comando que automatiza o workspace do Azure Databricks que foi configurado na Etapa 8.
Com o terminal ou prompt de comando ainda aberto e conectado à sua VM do Azure na Etapa 5, execute o comando a seguir para listar todos os usuários disponíveis no workspace do Azure Databricks. Se você renomeou o AZURE_MI_WORKSPACE
na Etapa 8, substitua-o aqui.
databricks users list -p AZURE_MI_WORKSPACE
Etapa 11: Limpar
Esta etapa é opcional. Exclui a VM do Azure para economizar custos e exclui a identidade gerenciada se você não quiser mais continuar a usá-la. Esta Etapa também remove a identidade gerenciada excluída da sua conta e do workspace do Azure Databricks para fins de integridade.
Excluir a VM do Azure
- Se o terminal ou prompt de comando ainda estiver aberto e conectado à sua VM do Azure na Etapa 5, saia da VM do Azure executando o comando
logout
ouexit
. Em seguida, o prompt de comando ou terminal volta ao normal. - No portal do Azure em que você entrou na Etapa 1, retorne à página de visão geral da VM do Azure se você a fechou anteriormente. Para fazer isso, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua VM do Azure.
- Na barra de menu da página de visão geral da VM do Azure, clique em Excluir.
- Marque a caixa de seleção Li e entendi e clique em Excluir.
Excluir a identidade gerenciada de sua assinatura do Azure
- No portal do Azure em que você entrou na Etapa 1, retorne à página de visão geral da sua identidade gerenciada se você a fechou anteriormente. Para fazer isso, em Pesquisar recursos, serviços e documentos, pesquise e selecione o nome da sua identidade gerenciada.
- Na barra de menu da página de visão geral da sua identidade gerenciada, clique em Excluir.
- Marque a caixa de seleção Li e entendi e clique em Excluir.
Remover a identidade gerenciada da sua conta do Azure Databricks
- Em sua conta do Azure Databricks, na barra lateral, clique em Gerenciamento de usuário.
- Clique na guia Entidades de serviço.
- Clique no nome da entidade de serviço que você adicionou na Etapa 2. Se o nome da entidade de serviço não estiver visível, use Filtrar entidades de serviço para localizá-lo.
- Clique no botão de reticências e clique em Excluir.
- Clique em Confirmar exclusão.
Remover a identidade gerenciada do workspace do Azure Databricks
- No workspace do Azure Databricks, clique no nome de usuário na barra superior e clique em Configurações.
- Clique na guia Entidades de serviço.
- Clique no nome da entidade de serviço que você adicionou na Etapa 3. Se o nome da entidade de serviço não estiver visível, use Filtrar entidades de serviço para localizá-lo.
- Clique em Excluir.
- Na caixa de diálogo de confirmação, clique em Excluir.