Criar uma credencial de armazenamento para se conectar ao Azure Data Lake Storage Gen2

Este artigo descreve como criar uma credencial de armazenamento no Catálogo do Unity para se conectar ao Azure Data Lake Storage Gen2.

Para gerenciar o acesso ao armazenamento em nuvem subjacente que contém tabelas e volumes, o Catálogo do Unity usa os seguintes tipos de objetos:

  • As credenciais de armazenamento encapsulam uma credencial de nuvem de longo prazo que fornece acesso ao armazenamento em nuvem.
  • Os locais externos contêm uma referência a uma credencial de armazenamento e a um caminho de armazenamento em nuvem.

Para obter mais informações, confira Conectar-se ao armazenamento de objetos de nuvem usando o Catálogo do Unity.

O Catálogo do Unity dá suporte a duas opções de armazenamento em nuvem para o Azure Databricks: contêineres do Azure Data Lake Storage Gen2 e buckets do Cloudflare R2. O Cloudflare R2 destina-se principalmente a casos de uso de compartilhamento Delta nos quais você deseja evitar custos de saída de dados. O Azure Data Lake Storage Gen2 é apropriado para a maioria dos outros casos de uso. Este artigo se concentra na criação de credenciais de armazenamento para contêineres do Azure Data Lake Storage Gen2. Para o Cloudflare R2, confira Criar uma credencial de armazenamento para se conectar ao Cloudflare R2.

Para criar uma credencial de armazenamento para acesso a um contêiner do Azure Data Lake Storage Gen2, você cria um conector de acesso do Azure Databricks que faz referência a uma identidade gerenciada do Azure, atribuindo-lhe permissões no contêiner de armazenamento. Em seguida, faça referência a esse conector de acesso na definição da credencial de armazenamento.

Requisitos

No Azure Databricks:

  • Workspace do Azure Databricks habilitado para o Catálogo do Unity.

  • Privilégio CREATE STORAGE CREDENTIAL no metastore do Catálogo do Unity anexado ao workspace. Os administradores de conta e administradores de metastore têm esse privilégio por padrão.

    Observação

    As entidades de serviço devem ter a função de administrador da conta para criar uma credencial de armazenamento que use uma identidade gerenciada. Você não pode delegar CREATE STORAGE CREDENTIAL a uma entidade de serviço. Isso se aplica às entidades de serviço do Azure Databricks e às entidades de serviço do Microsoft Entra (antigo Azure Active Directory).

Em seu locatário do Azure:

  • Um contêiner de armazenamento do Azure Data Lake Storage Gen2 na mesma região do workspace a partir do qual você deseja acessar os dados.

    A conta de armazenamento do Azure Data Lake Storage Gen2 deve ter um namespace hierárquico.

  • Colaborador ou Proprietário de um grupo de recursos do Azure.

  • Proprietário ou usuário com a função RBAC de administrador de acesso do usuário no Azure na conta de armazenamento.

Criar uma credencial de armazenamento usando uma identidade gerenciada

É possível usar uma identidade gerenciada do Azure ou uma entidade de serviço como a identidade que autoriza o acesso ao contêiner de armazenamento. As identidades gerenciadas são altamente recomendadas. Elas têm o benefício de permitir que o Catálogo do Unity acesse contas de armazenamento protegidas por regras de rede, o que não é possível usando entidades de serviço, e eliminam a necessidade de gerenciar e girar segredos. Se você quiser usar uma entidade de serviço, confira Criar armazenamento gerenciado do Catálogo do Unity usando uma entidade de serviço (herdada).

  1. No portal do Azure, crie um conector de acesso do Azure Databricks e atribua a ele permissões no contêiner de armazenamento que você deseja acessar seguindo as instruções em Configurar uma identidade gerenciada para o Catálogo do Unity.

    Um conector de acesso do Azure Databricks é um recurso primário do Azure que permite conectar identidades gerenciadas a uma conta do Azure Databricks. Você precisa ter a função Colaborador ou superior no recurso do conector de acesso no Azure para adicionar a credencial de armazenamento.

    Anote a ID do recurso do conector de acesso.

  2. Faça logon no workspace do Azure Databricks habilitado para o Catálogo do Unity como um usuário que tenha o privilégio CREATE STORAGE CREDENTIAL.

    As funções de administrador do metastore e administrador da conta incluem esse privilégio. Se você estiver conectado como uma entidade de serviço (seja do Microsoft Entra ID ou uma entidade de serviço nativa do Azure Databricks), você deverá ter a função de administrador da conta para criar uma credencial de armazenamento que use uma identidade gerenciada.

  3. Clique no Ícone do catálogoCatálogo.

  4. Clique no botão + Adicionar no canto superior direito e selecione Adicionar uma credencial de armazenamento no menu.

    Essa opção não será exibida se você não tiver o privilégio CREATE STORAGE CREDENTIAL.

  5. Selecione um tipo de credencial de identidade gerenciada do Azure.

  6. Insira um nome para a credencial e digite a ID do recurso do conector de acesso no seguinte formato:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (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 no campo ID de identidade gerenciada atribuída pelo usuário, no formato:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  8. (Opcional) Se você quiser que os usuários tenham acesso somente leitura aos locais externos que usam essa credencial de armazenamento, selecione Somente leitura. Para obter mais informações, confira Marcar uma credencial de armazenamento como somente leitura.

  9. Clique em Save (Salvar).

  10. Crie um local externo que faça referência à credencial de armazenamento.

Próximas etapas

Você pode ver, atualizar, excluir e conceder a outros usuário a permissão para usar credenciais de armazenamentos. Confira Gerenciar credenciais de armazenamento.

Você pode definir locais externos usando credenciais de armazenamento. Confira Crie um local externo para conectar o armazenamento em nuvem ao Azure Databricks.