Criar uma credencial de armazenamento para se conectar ao Google Cloud Storage

Este artigo descreve como criar uma credencial de armazenamento no Unity Catalog para se conectar ao Google Cloud Storage.

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

  • As credenciais de armazenamento encapsulam uma credencial de nuvem de longo prazo que oferece acesso ao armazenamento em nuvem.

  • Locais externos contêm uma referência a uma credencial de armazenamento e um caminho de armazenamento em nuvem.

Para obter mais informações, consulte Conectar-se ao armazenamento de objetos em nuvens usando o Unity Catalog.

O Unity Catalog oferece suporte a duas opções de armazenamento em nuvem para Databricks on Google Cloud: Os buckets do Google Cloud Storage (GCS) e os buckets do Cloudflare R2. O Cloudflare R2 destina-se principalmente a casos de uso do Delta Sharing em que o senhor deseja evitar taxas de saída de dados. O GCS é adequado para a maioria dos outros casos de uso. Este artigo se concentra na criação de credenciais de armazenamento para o GCS. Para o Cloudflare R2, consulte Criar uma credencial de armazenamento para se conectar ao Cloudflare R2.

Para criar uma credencial de armazenamento para acesso a um bucket GCS, o senhor concede ao Unity Catalog a capacidade de ler e gravar no bucket atribuindo a função IAM nesse bucket a um serviço do Google Clouds gerado pela Databricks account.

Requisitos

Em Databricks:

  • Databricks workspace ativado para o Unity Catalog.

  • CREATE STORAGE CREDENTIAL no metastore do Unity Catalog anexado ao site workspace. account Os administradores e os administradores de metastore têm esse privilégio em default.

Em seu Google Clouds account:

  • Um bucket GCS na mesma região que o espaço de trabalho do qual o senhor deseja acessar os dados.

  • Permissão para modificar a política de acesso para esse bucket.

Gere uma conta de serviço de clouds do Google usando o Catalog Explorer

  1. log in para o Databricks habilitado para o Unity Catalog workspace como um usuário que tem o privilégio CREATE STORAGE CREDENTIAL no metastore.

    As funções de administrador do metastore e administrador do account incluem esse privilégio.

  2. Na barra lateral, clique em Ícone de catálogo Catálogo.

  3. Na parte superior do painel Catálogo, clique no ícone Ícone de adição ou de mais Add e selecione Add a storage credential (Adicionar uma credencial de armazenamento ) no menu.

    Essa opção não aparecerá se o senhor não tiver o privilégio CREATE STORAGE CREDENTIAL.

    Como alternativa, na página Acesso rápido, clique no botão Dados externos >, acesse Credenciais de armazenamento tab e selecione Criar credencial.

  4. Na caixa de diálogo Criar uma nova credencial de armazenamento, escolha um Tipo de credencial do Google Cloud Storage.

  5. Digite um nome de credencial de armazenamento e um comentário opcional.

  6. (Opcional) Se desejar 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, consulte Marcar uma credencial de armazenamento como somente leitura.

  7. Clique em Salvar.

    Databricks cria a credencial de armazenamento e gera uma de clouds serviço do account Google.

  8. Na caixa de diálogo Credencial de armazenamento criada , anote o ID account de serviço, que está na forma de um endereço de email , e clique em Concluído.

  9. (Opcional) Vincular a credencial de armazenamento a um espaço de trabalho específico.

    Em default, qualquer usuário privilegiado pode usar a credencial de armazenamento em qualquer workspace anexado ao metastore. Se o senhor quiser permitir o acesso somente a partir de um espaço de trabalho específico, vá para o espaço de trabalho tab e atribua o espaço de trabalho. Consulte (Opcional) Atribuir uma credencial de armazenamento a espaços de trabalho específicos.

Configurar permissões para a conta de serviço

  1. Vá para o console do Google Clouds e abra o bucket do GCS que deseja acessar a partir do seu Databricks workspace.

    O bucket deve estar na mesma região que o seu Databricks workspace.

  2. Na Permissão tab, clique em + Conceder acesso e atribua à de serviço account as seguintes funções:

    • Leitor de bucket de armazenamento legado

    • Administrador de objetos de armazenamento

    Use o endereço da de serviço account email como identificador principal.

Agora você pode criar um local externo que faça referência a essa credencial de armazenamento.

(Opcional) Atribuir uma credencial de armazenamento a um espaço de trabalho específico

Visualização

Esse recurso está em visualização pública.

Em default, uma credencial de armazenamento pode ser acessada de todos os espaços de trabalho no metastore. Isso significa que, se um usuário tiver recebido um privilégio (como CREATE EXTERNAL LOCATION) nessa credencial de armazenamento, ele poderá exercer esse privilégio em qualquer workspace anexado ao metastore. Se o senhor usar o espaço de trabalho para isolar o acesso aos dados do usuário, talvez queira permitir o acesso a uma credencial de armazenamento somente a partir de um espaço de trabalho específico. Esse recurso é conhecido como workspace binding ou isolamento de credenciais de armazenamento.

Um caso de uso típico para vincular uma credencial de armazenamento a um espaço de trabalho específico é o cenário em que um administrador cloud configura uma credencial de armazenamento usando uma credencial de produção cloud account e o senhor deseja garantir que os usuários Databricks usem essa credencial para criar locais externos somente no espaço de produção workspace.

Para obter mais informações sobre a associação workspace, consulte (Opcional) Atribuir um local externo a um espaço de trabalho específico e Limitar o acesso ao catálogo a um espaço de trabalho específico.

Observação

workspace são referenciadas quando os privilégios em relação às credenciais de armazenamento são exercidos. Por exemplo, se um usuário criar um local externo usando uma credencial de armazenamento, a vinculação workspace na credencial de armazenamento será verificada somente quando o local externo for criado. Depois que o local externo for criado, ele funcionará independentemente dos vínculos workspace configurados na credencial de armazenamento.

Vincular uma credencial de armazenamento a um ou mais espaços de trabalho

Para atribuir uma credencial de armazenamento a um espaço de trabalho específico, o senhor pode usar o Catalog Explorer ou o site Databricks CLI.

Permissões necessárias: Administrador do metastore ou proprietário da credencial de armazenamento.

Observação

Os administradores de metastore podem ver todas as credenciais de armazenamento em um metastore usando o Catalog Explorer, e os proprietários de credenciais de armazenamento podem ver todas as credenciais de armazenamento que possuem em um metastore, independentemente de a credencial de armazenamento estar atribuída ao site workspace atual. As credenciais de armazenamento que não estão atribuídas ao site workspace aparecem em cinza.

  1. Efetue login em um workspace vinculado ao metastore.

  2. Na barra lateral, clique em Ícone de catálogo Catálogo.

  3. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Credenciais de armazenamento.

    Como alternativa, na página Quick access (Acesso rápido ), clique no botão External data > (Dados externos ) e acesse Storage Credentials (Credenciais de armazenamento ) tab.

  4. Selecione a credencial de armazenamento e acesse o espaço de trabalho tab.

  5. No espaço de trabalho tab, desmarque a caixa de seleção All workspace have access (Todos os espaços de trabalho têm acesso ).

    Se sua credencial de armazenamento já estiver vinculada a um ou mais espaços de trabalho, essa caixa de seleção já estará desmarcada.

  6. Clique em Assign to workspace (Atribuir ao espaço de trabalho) e digite ou localize o espaço de trabalho que deseja atribuir.

Para revogar o acesso, acesse o espaço de trabalho tab, selecione workspace e clique em Revoke. Para permitir o acesso de todos os espaços de trabalho, marque a caixa de seleção Todos os espaços de trabalho têm acesso.

Há dois grupos de Databricks CLI grupos de comando e dois passos necessários para atribuir uma credencial de armazenamento a um workspace.

Nos exemplos a seguir, substitua <profile-name> pelo nome do perfil de configuração de autenticação do Databricks. Ele deve incluir o valor de um access token pessoal, além do nome da instância workspace e o ID workspace do workspace onde o senhor gerou o access token pessoal. Consulte Databricks autenticação pessoal access token .

  1. Use o comando storage-credentials do grupo update para definir os comandos isolation mode e ISOLATED da credencial de armazenamento:

    databricks storage-credentials update <my-storage-credential> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    O endereço default isolation-mode é OPEN para todos os espaços de trabalho anexados ao metastore.

  2. Use o comando workspace-bindings do grupo update-bindings para atribuir o espaço de trabalho à credencial de armazenamento:

    databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    Use as propriedades "add" e "remove" para adicionar ou remover workspace bindings.

    Observação

    A vinculação somente leitura (BINDING_TYPE_READ_ONLY) não está disponível para credenciais de armazenamento. Portanto, não há motivo para definir binding_type para a vinculação das credenciais de armazenamento.

Para listar todas as atribuições de workspace para uma credencial de armazenamento, use o comando workspace-bindings do grupo get-bindings:

databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>

Desvincular uma credencial de armazenamento de um espaço de trabalho

As instruções para revogar o acesso workspace a uma credencial de armazenamento usando o Catalog Explorer ou o grupo de comando workspace-bindings CLI estão incluídas em Vincular uma credencial de armazenamento a um ou mais espaços de trabalho.

Próximos passos

Você pode view, atualizar, excluir e conceder permissão a outros usuários para usar credenciais de armazenamento. Consulte gerenciamento de credenciais de armazenamento.

O senhor pode definir locais externos usando credenciais de armazenamento. Consulte Criar uma credencial de armazenamento para se conectar ao Google Cloud Storage.