Este tutorial orienta você em todas as etapas necessárias para se conectar do Azure Databricks ao Azure Data Lake Storage Gen2 usando o OAuth 2.0 com uma entidade de serviço do Microsoft Entra ID.
Requisitos
Conclua estas tarefas antes de iniciar este tutorial:
Etapa 1: crie uma entidade de serviço do Microsoft Entra ID
Para usar entidades de serviço para se conectar ao Azure Data Lake Storage Gen2, um usuário administrador deverá criar um novo aplicativo do Microsoft Entra ID. Se você já tiver uma entidade de serviço do Microsoft Entra ID disponível, vá para Etapa 2: Criar um segredo do cliente para sua entidade de serviço.
Para criar uma entidade de serviço do Microsoft Entra ID, siga estas instruções:
O portal a ser usado é diferente dependendo se o aplicativo do Microsoft Entra ID é executado na nuvem pública do Azure ou em uma nuvem nacional ou soberana. Para obter mais informações, confira as Nuvens nacionais.
Se você tiver acesso a vários locatários, assinaturas ou diretórios, clique no ícone Diretórios + assinaturas (diretório com filtro) no menu superior para alternar para o diretório no qual você quer provisionar a entidade de serviço.
Pesquise e selecione <Microsoft Entra ID.
Em Gerenciar, clique em Registros de aplicativo > Novo registro.
Em Nome, insira um nome para o aplicativo.
Em Tipos de conta com suporte, selecione Somente contas deste diretório organizacional (Locatário único).
Clique em Registrar.
Etapa 2: Criar um segredo do cliente para sua entidade de serviço
Em Gerenciar, clique em Certificados e segredos.
Na guiaSegredos do cliente, clique em Novo segredo do cliente.
No painel Adicionar um segredo do cliente, em Descrição, insira uma descrição para o segredo do cliente.
Em Expirar, selecione um prazo de expiração para o segredo do cliente e clique em Adicionar.
Copie e armazene o Valor do segredo do cliente em um local seguro, pois esse segredo do cliente é a senha para seu aplicativo.
Na página Visão geral do aplicativo, na seção Informações gerais, copie os seguintes valores:
ID do Aplicativo (cliente)
ID do Diretório (locatário)
Etapa 3: conceder às entidades de serviço acesso às contas do Azure Data Lake Storage Gen2
Você concede acesso aos recursos de armazenamento atribuindo funções à entidade de serviço. Neste tutorial, você atribuirá o Colaborador de Dados do Blob de Armazenamento à entidade de serviço em sua conta do Azure Data Lake Storage Gen2. Você poderá precisar de outras funções dependendo dos requisitos específicos.
No portal do Azure, vá para o serviço Contas de armazenamento.
Selecione uma conta de Armazenamento do Azure a ser usada.
Clique em Controle de Acesso (IAM).
Clique em + Adicionare selecione Adicionar atribuição de função no menu suspenso.
Defina o campo Selecionar para o nome do aplicativo do Microsoft Entra ID que você criou na etapa 1 e defina a Função como Colaborador de dados de BLOB de armazenamento.
Clique em Save (Salvar).
Etapa 4: adicionar o segredo do cliente ao Azure Key Vault
Você pode armazenar o segredo do cliente da etapa 1 no Azure Key Vault.
No portal do Azure, acesse o serviço Key vault.
Selecione um Azure Key Vault para uso.
Na página de configurações do Key Vault, selecione Segredos.
Clique em + Gerar/Importar.
Em Opções de upload, selecione Manual.
Para Nome, insira um nome para o segredo. O nome do segredo precisa ser exclusivo dentro de um Key Vault.
Em Valor, cole o Segredo do Cliente que você armazenou na Etapa 1.
Clique em Criar.
Etapa 5: Configurar sua instância do cofre de chaves do Azure para o Azure Databricks
No Portal do Azure, acesse a instância do cofre de chaves do Azure.
Em Configurações, selecione a guia Configuração do Access.
Defina o Modelo de permissão como Política de acesso do key vault.
Observação
A criação de uma função de escopo de segredo com suporte do Azure Key Vault concede as permissões Obter e Listar à ID do aplicativo para o serviço Azure Databricks usando as políticas de acesso do cofre de chaves. O modelo de permissão de controle de acesso baseado em função do Azure não é compatível com o Azure Databricks.
Em Configurações, selecione Rede.
Em Firewalls e redes virtuais, defina Permitir acesso de: a Permitir acesso público de redes virtuais e endereços IP específicos.
Em Exceção, selecione Permitir que serviços confiáveis da Microsoft contornem este firewall.
Observação
Você também pode definir Permitir acesso de: para Permitir acesso público de todas as redes.
Etapa 6: Criar o escopo secreto com suporte do Azure Key Vault em seu workspace do Azure Databricks
Para referenciar segredos do cliente armazenados em um Azure Key Vault, crie um escopo de segredos com suporte do Azure Key Vault no Azure Databricks.
Ir para https://<databricks-instance>#secrets/createScope. Essa URL diferencia maiúsculas e minúsculas; o scope em createScope deve estar com letra maiúscula.
Insira o nome do escopo de segredos. Os nomes de escopo secreto não diferenciam maiúsculas de minúsculas.
Use o menu suspenso Gerenciar Entidade de Segurança para especificar se Todos os Usuários têm a permissão MANAGE para esse escopo de segredos ou apenas o Criador do escopo de segredos (ou seja, você).
Insira o Nome DNS (por exemplo, https://databrickskv.vault.azure.net/) e a ID do Recurso, por exemplo:
Essas propriedades estão disponíveis na guia *Configurações > Propriedades de um Azure Key Vault no portal do Azure.
Selecione o botão Criar.
Etapa 7: Conectar-se ao Azure Data Lake Storage Gen2 usando python
Agora você pode acessar dados com segurança na conta de armazenamento do Azure usando o OAuth 2.0 com sua entidade de serviço do aplicativo do Microsoft Entra ID para autenticação de um notebook do Azure Databricks.
Navegue até seu workspace do Azure Databricks e crie um novo notebook do Python.
Execute o código Python a seguir, com as substituições abaixo, para se conectar ao Azure Data Lake Storage Gen2.
<scope> com o nome do escopo do segredo da etapa 5.
<service-credential-key> com o nome da chave que contém o segredo do cliente.
<storage-account> com o nome da conta de armazenamento do Azure.
<application-id> com a ID do Aplicativo (cliente) do aplicativo Microsoft Entra ID.
<directory-id> com a ID do Diretório (locatário) do aplicativo Microsoft Entra ID.
Agora você conectou com êxito seu workspace do Azure Databricks à sua conta do Azure Data Lake Storage Gen2.
Conceder ao workspace do Azure Databricks acesso ao Azure Data Lake Storage Gen2
Se você configurar um firewall no Azure Data Lake Storage Gen2, deverá definir as configurações de rede para permitir que o Azure Databricks se conecte ao Azure Data Lake Storage Gen2. Primeiro, verifique se o workspace do Azure Databricks está implantado em sua própria rede virtual após Implantar o Azure Databricks em sua rede virtual do 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 com sua conta Azure Data Lake Storage Gen2.
Se você estiver usando computação sem servidor, como SQL warehouses sem servidor, precisará conceder acesso do plano de computação sem servidor ao Azure Data Lake Storage Gen2. Confira Rede de plano de computação sem servidor.
Conceder acesso usando pontos de extremidade privados
Você pode usar pontos de extremidade privados na sua conta do Azure Data Lake Storage Gen2 para permitir que seu workspace do Azure Databricks acesse dados com segurança por meio de um link privado.
Um ponto de extremidade de serviço de rede virtual permite que você possa garantir os recursos essenciais do serviço do Azure somente para suas redes virtuais. Você pode habilitar um ponto de extremidade de serviço para o Armazenamento do Azure na VNet que você usou para o workspace do Azure Databricks.
Demonstre a compreensão das tarefas comuns de engenharia de dados para implementar e gerenciar cargas de trabalho de engenharia de dados no Microsoft Azure, usando vários serviços do Azure.