Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página descreve como usar identidades gerenciadas do Azure para se conectar a Contêineres de Armazenamento em nome dos usuários do Catálogo do Unity.
O que são Azure identidades gerenciadas?
Unity Catalog pode ser configurado para usar uma identidade gerenciada Azure para acessar contêineres de armazenamento em nome de usuários do Catálogo do Unity. As identidades gerenciadas fornecem uma identidade para os aplicativos usarem quando se conectam a recursos que dão suporte à autenticação Microsoft Entra ID.
Você pode usar identidades gerenciadas no Catálogo do Unity para dar suporte a dois casos de uso primários:
- Como uma identidade para se conectar às contas de armazenamento gerenciadas do metastore (em que as tabelas gerenciadas são armazenadas).
- Como uma identidade, para se conectar a outras contas de armazenamento externas (para acesso baseado em arquivo ou para acessar conjuntos de dados existentes por meio de tabelas externas).
Configurar o Catálogo do Unity com uma identidade gerenciada proporciona os seguintes benefícios em relação à configuração do Catálogo do Unity com uma entidade de serviço:
- As identidades gerenciadas não exigem que você mantenha credenciais ou alterne segredos.
- Se o workspace Azure Databricks for implantado em sua própria VNet (também conhecida como injeção de VNet) e você usar um firewall de armazenamento para proteger uma conta Azure Data Lake Storage, poderá usar a identidade gerenciada para conectar o workspace a essa conta. Consulte (Recomendado para workspaces integrados à VNet) Configurar acesso confiável ao armazenamento do Azure baseado em sua identidade gerenciada
Configurar uma identidade gerenciada para o Catálogo do Unity
Para configurar uma identidade gerenciada a ser usada com o Catálogo do Unity, primeiro crie um conector de acesso para Azure Databricks no Azure. Por padrão, o conector de acesso será implantado com uma identidade gerenciada atribuída pelo sistema. Em vez disso, você pode optar por anexar uma identidade gerenciada atribuída pelo usuário. Em seguida, você concede acesso da identidade gerenciada à sua conta do Azure Data Lake Storage e usa o conector de acesso ao criar um metastore ou uma credencial de armazenamento do Unity Catalog.
Requisitos
O usuário do Azure ou principal de serviço que cria o conector de acesso deve:
- Seja um
ContributorouOwnerde um grupo de recursos do Azure.
O usuário Azure ou principal de serviço que concede a identidade gerenciada à conta de armazenamento deve:
- Seja um
Ownerou um usuário com a função RBACUser Access AdministratorAzure na conta de armazenamento.
Step 1: criar um conector de acesso para Azure Databricks
O Conector de Acesso para Azure Databricks é um recurso de Azure de primeira parte que permite conectar identidades gerenciadas a uma conta Azure Databricks. Cada conector de acesso para Azure Databricks pode incluir uma identidade gerenciada atribuída pelo sistema, uma ou mais identidades gerenciadas atribuídas pelo usuário ou ambas.
Faça logon no portal do Azure como Colaborador ou Proprietário de um grupo de recursos.
Clique em + Criar ou Criar um recurso.
Pesquise Access Connector para Azure Databricks e selecione-o.
Clique em Criar.
Na guia Básico, aceite, selecione e insira valores para os seguintes campos:
- Subscription: esta é a assinatura Azure na qual o conector de acesso será criado. O padrão é a assinatura Azure que você está usando no momento. Ela pode ser qualquer assinatura no locatário.
- Resource group: esse é o grupo de recursos Azure no qual o conector de acesso será criado.
- Nome: insira um nome que indica a finalidade do conector.
- Região: essa deve ser a mesma região que a conta de armazenamento à qual você se conectará.
Clique em Próximo, insira tags e clique em Próximo.
Na guia Identidade Gerenciada, crie as identidades gerenciadas da seguinte maneira:
- Para usar uma identidade gerenciada atribuída pelo sistema, defina Status como On
- Para adicionar identidades gerenciadas atribuídas pelo usuário, clique em + Adicionar e selecione uma ou mais identidades gerenciadas atribuídas pelo usuário.
Clique em Revisar + Criar.
Quando você vir a mensagem Validação aprovada, clique em Criar.
Quando a implantação estiver concluída, selecione Ir para o recurso.
Anote a ID do Recurso.
A ID do recurso está no formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Etapa 2: conceder o acesso da identidade gerenciada à conta de armazenamento
Para conceder as permissões nesta etapa, você deve ter a função RBAC Owner ou User Access Administrator Azure em sua conta de armazenamento.
Você tem as seguintes opções ao conceder acesso de identidade gerenciada à conta de armazenamento e ao contêiner:
- Conceda acesso de leitura e gravação a toda a conta de armazenamento usando a
Storage Blob Data Contributorfunção. - Conceda uma função mais limitada na conta de armazenamento usando a função
Storage Blob Delegatore acesso de leitura e gravação a um contêiner específico usando a funçãoStorage Blob Data Contributor.
As instruções a seguir pressupõem que você está concedendo a Storage Blob Data Contributor função na conta de armazenamento, mas você pode substituir as outras opções conforme necessário:
- Faça logon em sua conta do Azure Data Lake Storage.
- Vá para Controle de Acesso (IAM), clique em + Adicionar e selecione Adicionar atribuição de função.
- Selecione a função Colaborador de Dados do Blob de Armazenamento e clique em Próximo.
- Para Atribuir acesso a, selecione Identidade Gerenciada.
- Clique em +Selecionar Membros e selecione o Conector de Acesso para Azure Databricks ou Identidade Gerenciada Atribuída pelo Usuário.
- Pesquise o nome do seu conector ou a identidade atribuída pelo usuário, selecione-os e clique em Revisar e Atribuir.
Etapa 3: Conceder acesso à identidade gerenciada a eventos de arquivo
Para configurar as funções de Azure necessárias e habilitar eventos de arquivo para locais externos, consulte Configurar eventos de arquivo para um local externo.
Usar uma identidade gerenciada para acessar a conta de armazenamento raiz do Catálogo do Unity
Esta seção descreve como conceder à identidade gerenciada o acesso à conta de armazenamento raiz quando você cria um metastore do Catálogo do Unity.
Para saber como atualizar um metastore existente do Catálogo do Unity para usar uma identidade gerenciada, confira Atualizar seu metastore existente do Catálogo do Unity para usar uma identidade gerenciada para acessar seu armazenamento raiz.
Como administrador de conta Azure Databricks, faça logon no console da conta Azure Databricks.
Clique no
Catálogo.
Clique em Criar Metastore.
Insira os valores dos campos a seguir:
Nome para o metastore.
Região em que o metastore será implantado.
Para obter o melhor desempenho, coloque o conector de acesso, os workspaces, o metastore e o local de armazenamento em nuvem na mesma região de nuvem.
Caminho do ADLS Gen 2: insira o caminho para o contêiner de armazenamento que você usará como armazenamento raiz para o metastore.
Verifique se o caminho começa com
abfss://.Access Connector ID: insira a ID de recurso do conector de acesso Azure Databricks no formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>ID da Identidade Gerenciada (Opcional): se você criou o conector de acesso usando uma identidade gerenciada atribuída pelo usuário, insira a ID do recurso da identidade gerenciada.
Clique em Criar.
Quando solicitado, selecione os workspaces a serem vinculados ao metastore.
Usar uma identidade gerenciada para acessar o armazenamento gerenciado externo no Catálogo do Unity
O Catálogo do Unity lhe oferece a capacidade de acessar dados existentes em contas de armazenamento usando credenciais de armazenamento e locais externos. As credenciais de armazenamento guardam a identidade gerenciada e os locais externos definem um caminho para o armazenamento, juntamente com uma referência à credencial de armazenamento. Você pode usar essa abordagem para conceder e controlar o acesso aos dados existentes no armazenamento em nuvem e registrar tabelas externas no Catálogo do Unity.
Uma credencial de armazenamento pode conter uma identidade gerenciada ou uma entidade de serviço. O uso de uma identidade gerenciada tem o benefício de permitir que o Unity Catalog acesse contas de armazenamento protegidas por regras de rede, algo que não é possível com o uso de entidades de serviço. Além disso, elimina a necessidade de gerenciar e renovar segredos.
Para criar uma credencial de armazenamento usando uma identidade gerenciada e atribuir essa credencial de armazenamento a um local externo, siga as instruções em Conectar-se ao armazenamento de objetos de nuvem usando o Catálogo do Unity.
(Recomendado para workspaces injetados em VNet) Configure o acesso confiável ao Armazenamento do Azure com base em sua identidade gerenciada
Se o workspace Azure Databricks estiver implantado em sua própria rede virtual do Azure, também conhecida como "injeção de VNet", e você estiver usando um firewall de armazenamento para proteger uma conta do Azure Data Lake Storage, você deverá:
- Habilite seu workspace Azure Databricks para acessar Armazenamento do Azure.
- Habilite sua identidade gerenciada para acessar Armazenamento do Azure.
Etapa 1. Habilitar seu workspace Azure Databricks para acessar Armazenamento do Azure
Você deve definir as configurações de rede para permitir que seu workspace Azure Databricks acesse Azure Data Lake Storage. Primeiro, verifique se o workspace Azure Databricks está implantado em sua própria rede virtual após Deploy Azure Databricks em sua rede virtual Azure (injeção de VNet). Em seguida, você pode configurar pontos de extremidade privados ou acesso da sua rede virtual para permitir conexões de suas sub-redes à sua conta do Azure Data Lake Storage.
Se você estiver usando a computação sem servidor, como os armazenamentos de SQL sem servidor, deverá conceder acesso a partir do plano de computação sem servidor para o Azure Data Lake Storage. Confira Rede de plano de computação sem servidor.
Etapa 2: habilitar sua identidade gerenciada para acessar Armazenamento do Azure
Essa etapa será necessária somente se "Permitir que os serviços Azure na lista de serviços confiáveis acessem essa conta de armazenamento" estiver desabilitado para sua conta de Armazenamento do Azure. Se essa configuração estiver habilitada:
- Qualquer conector de acesso para Azure Databricks no mesmo locatário que a conta de armazenamento pode acessar a conta de armazenamento.
- Qualquer Azure serviço confiável pode acessar a conta de armazenamento. Consulte Como conceder acesso a serviços confiáveis do Azure.
As instruções a seguir incluem uma etapa na qual você desabilita essa configuração. Você pode usar o portal do Azure ou o CLI do Azure.
Use o portal do Azure
Faça logon no portal do Azure, localize e selecione a conta Armazenamento do Azure e vá para a guia Networking.
Defina o Acesso à Rede Pública como Habilitado de redes virtuais selecionadas e endereços IP.
Como opção, você pode definir o Acesso à Rede Pública para Desabilitado. A identidade gerenciada pode ser usada para ignorar a verificação no acesso à rede pública.
Em Resource instances, selecione um tipo Resource de Microsoft. Databricks/accessConnectors e selecione seu conector de acesso Azure Databricks.
Em Exceções, desmarque a caixa de seleção Permitir que serviços do Azure na lista de serviços confiáveis acessem esta conta de armazenamento.
Usar o CLI do Azure
Instale o CLI do Azure e sign in. Para fazer login com uma conta de usuário ou um principal de serviço, consulte Entrar com o CLI do Azure.
Adicione uma regra de rede à conta de armazenamento:
az storage account network-rule add \ -–subscription <subscription id of the resource group> \ -–resource-id <resource Id of the access connector for Azure Databricks> \ -–tenant-id <tenant Id> \ -g <name of the Azure Storage resource group> \ -–account-name <name of the Azure Storage resource> \Adicione a ID do recurso no formato:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>Depois de criar a regra de rede, vá para sua conta de Armazenamento do Azure no portal do Azure e exiba a identidade gerenciada na guia Networking na guia Resource instances, tipo de recurso
Microsoft.Databricks/accessConnectors.Em Exceções, desmarque a caixa de seleção Permitir que serviços do Azure na lista de serviços confiáveis acessem esta conta de armazenamento.
Opcionalmente, defina o Acesso à Rede Pública como Desabilitado. A identidade gerenciada pode ser usada para ignorar a verificação no acesso à rede pública.
A abordagem padrão é manter esse valor definido como Habilitado de redes virtuais selecionadas e endereços IP.
(Recomendado) Configurar firewalls de armazenamento do Azure para permitir o acesso de armazenamentos de dados SQL sem servidor
Serverless SQL warehouses são recursos de computação executados na assinatura do Azure para Azure Databricks, não na sua assinatura do Azure. Se você configurar um firewall no Azure Data Lake Storage e planejar usar SQL Warehouses sem servidor, deverá configurar o firewall para permitir o acesso dos SQL Warehouses sem servidor.
Para obter instruções, consulte Configurar um firewall para acesso de computação sem servidor (herdado).
Atualizar o metastore existente do Catálogo do Unity para usar uma identidade gerenciada para acessar o armazenamento raiz
Se você tiver um metastore do Catálogo do Unity criado usando uma entidade de serviço e quiser atualizá-lo para usar uma identidade gerenciada, você poderá atualizá-lo usando uma chamada à API.
Crie um Conector de Acesso para Azure Databricks e atribua permissões ao contêiner de armazenamento que está sendo usado para o armazenamento raiz do metastore do Catálogo do Unity, usando as instruções em Configurar uma identidade gerenciada para o Catálogo do Unity.
Você pode criar o conector de acesso com uma identidade gerenciada atribuída pelo sistema ou uma identidade gerenciada atribuída pelo usuário.
Anote o ID de recurso do conector de acesso. Se usar uma identidade gerenciada atribuída pelo usuário, anote também a respectiva ID de recurso.
Como administrador de conta, faça login em um Workspace Azure Databricks atribuído ao metastore.
Você não precisa ser um administrador do workspace.
Crie um perfil de configuração de autenticação Azure Databricks em seu ambiente local que contenha o seguinte:
- O nome da instância do workspace e o ID do workspace em que você gerou o token de acesso pessoal.
- O valor do token de acesso pessoal.
Consulte a autenticação de token de acesso pessoal (herdado).
Use a CLI do Databricks para executar o comando a seguir a fim de recriar a credencial de armazenamento.
Substitua os valores de espaço reservado:
-
<credential-name>: um nome para a credencial de armazenamento. -
<access-connector-id>: ID do recurso para o conector de acesso Azure Databricks no formato/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name> -
<managed-identity-id>: se você criou o conector de acesso usando uma identidade gerenciada atribuída pelo usuário, especifique o ID de recurso da identidade gerenciada. -
<profile-name>: o nome do seu perfil de configuração de autenticação de Azure Databricks.
databricks storage-credentials create --json '{ "name\": "<credential-name>", "azure_managed_identity": { "access_connector_id": "<access-connector-id>", "managed_identity_id": "<managed-identity-id>" } }' --profile <profile-name>-
Anote a ID da credencial de armazenamento na resposta.
Execute o comando a seguir da CLI do Databricks para recuperar o
metastore_id. Substitua<profile-name>pelo nome do seu perfil de configuração de autenticação de Azure Databricks.databricks metastores summary --profile <profile-name>Execute o comando a seguir da CLI do Databricks para atualizar o metastore com a nova credencial de armazenamento raiz.
Substitua os valores de espaço reservado:
-
<metastore-id>: o ID do metastore que você recuperou na etapa anterior. -
<storage-credential-id>: o ID da credencial de armazenamento. -
<profile-name>: o nome do seu perfil de configuração de autenticação de Azure Databricks.
databricks metastores update <metastore-id> \ --storage-root-credential-id <storage-credential-id> \ --profile <profile-name>-