Governança de Acessos e Compartilhamento no Datalake
Definições Gerais
-
Esta política de governança estabelece os procedimentos para concessão de acessos aos dados no DataHub do Instituto Igarapé. Através desta política, diferentes perfis de usuários (Pesquisadores, Cientistas de Dados, Analistas, entre outros) terão acesso controlado e seguro aos dados do data lake institucional.
-
Ponto Focal de Administração:
- O principal: datahub@igarape.org.br
- Função: Conta administrativa com privilégios para gerenciar acessos
- Responsabilidade: Atribuição de papéis e diferentes níveis de permissão aos usuários do DataHub.
Conceito Técnico: Principal
É o termo técnico usado pela Google Cloud Platform (GCP) para designar uma identidade que pode ser autenticada no sistema (como usuários humanos e contas de serviço).
Definição dos papéis de acesso
Os papéis de acesso definem quais operações um usuário pode executar nos projetos do Datahub. É através da definição desses papéis que as diferentes equipes de pesquisadores do Igarapé terão níveis apropriados de permissão para trabalhar com os dados e recursos da plataforma.
Estrutura de Permissões
O sistema de permissões é organizado em papéis definidos a nível de projeto, onde cada projeto possui seus próprios usuários leitores e editores.
Conceito Técnico: Projetos no Google Cloud
No contexto do Google Cloud Platform (GCP), um "projeto" é uma unidade organizacional fundamental que agrupa recursos relacionados (como Storage, BigQuery, Compute Engine, etc.). O projeto também funciona como uma entidade contábil. Isto é, os gastos com consumo de serviços da google são contabilizados pro projeto, assim como os limites de consumo dos recursos.
Projeto datahub-igarape (Produção)
Usuários Leitores em datahub-igarape
- Escopo: Projeto de produção (
datahub-igarape) - Permissões: Acesso somente leitura
- Recursos disponíveis:
- Visualizar e consultar todos os conjuntos de dados no BigQuery
- Limitações: Não pode criar, modificar ou deletar recursos
- Casos de uso: Ideal para analistas que precisam acessar dados de produção para consultas e relatórios
Usuários Editores em datahub-igarape
- Escopo: Projeto de produção (
datahub-igarape) - Permissões: Acesso completo de edição
- Recursos disponíveis:
- Visualizar, consultar, criar e deletar conjuntos de dados no BigQuery
- Gerenciar recursos e configurações do projeto
- Casos de uso: Ideal para desenvolvedores e engenheiros de dados que precisam gerenciar a infraestrutura e os dados de produção
A imagem abaixo apresenta os papéis criados para o projeto datahub-igarape

Projeto datahub-igarape-dev (Desenvolvimento)
Usuários Leitores em datahub-igarape-dev
- Escopo: Projeto de desenvolvimento (
datahub-igarape-dev) - Permissões: Acesso somente leitura
- Recursos disponíveis:
- Visualizar e consultar todos os arquivos no Storage
- Visualizar e consultar todos os conjuntos de dados no BigQuery
- Limitações: Não pode criar, modificar ou deletar recursos
- Casos de uso: Ideal para analistas que precisam acessar dados de desenvolvimento para testes e validações ou para pessoas que precisam ter um panorama dos dados.
Usuários Editores em datahub-igarape-dev
- Escopo: Projeto de desenvolvimento (
datahub-igarape-dev) - Permissões: Acesso completo de edição
- Recursos disponíveis:
- Visualizar, consultar, criar e deletar arquivos no Storage
- Visualizar, consultar, criar e deletar conjuntos de dados no BigQuery
- Gerenciar recursos e configurações do projeto
- Casos de uso: Ideal para desenvolvedores, engenheiros de dados e cientístas de dados que precisam testar e desenvolver pipelines de dados.
A imagem abaixo apresenta os papéis criados para o projeto datahub-igarape-dev

Resumo dos Ambientes
| Ambiente | Projeto | Propósito | Papéis Disponíveis |
|---|---|---|---|
| Desenvolvimento | datahub-igarape-dev |
Dados brutos e dados em validação | Leitor, Editor |
| Produção | datahub-igarape |
Dados validados e tabelas de análise construidas | Leitor, Editor |
Definindo acesso aos Big Query e ao Storage
O acesso é definido adicionando um principal em cada role, nos projetos em que se deseja dar acesso. Esta configuração permite que o usuário visualize os serviços do datahub pela interface do Google Cloud Platform (GCP).
Por exemplo, vamos atribuir os papéis de egenheiro de dados para o projeto de produção para o usuário datahub@igarape.org.br:
-
Acessar a aba IAM e administrador > IAM na Google Cloud Platform
-
Clicar em permitir acesso

- Inserir o email desejado no campo Adicionar principais

- Selecionar o papel desejado no campo Atribuir Papéis e clicar em salvar

Protinho! Agora o usuário datahub@igarape.org.br teria o acesso de leitor no Big Query. Isto é, poderia ver e consultar todos os conjuntos de dados no projeto datahub-igarape do Big Query.
Removendo acessos aos usuários
O processo de remoção de acesso é feito no mesmo painel do IAM que utilizamos para conceder acesso na seção anterior. Esta operação é feita tanto a nível de emails institucionas que representam usuários humanos quanto para contas de serviço que possuem os papéis customizados definidos.
-
(1) Selecionar o principal que tera o acesso removido clicando na caixa de seleção e (2) clicar no botão "remover acesso".

-
Após clicar no botão "remover acesso", basta confirmar a exclusão e o principal tera os acessos concedidos (roles customizados e demais acessos) removidos, e não poderá realizar operações no Storage e no Big Query
Sempre lembre de remover/conceder os acessos nos dois projetos da GCP
"Os usuários com os papeis customizados criados tem acesso garantido a nível do projeto. Isto é, se o objetivo é fornecer acesso nos projetos datahub-igarape e datahub-igarape-dev, o procedimento de adição/exclusão de um usuário deve ser feito em ambos projetos"
Definindo acesso via contas de serviço
Para além do acesso via contas de usuários que representam humanos (Ex. emails institucionais atribuidos aos trabalhadores do Igarapé), uma parte importante da interação com o Datahub é feita utilizando contas de serviço. Por exemplo, o Metabase e o DBT utilizam contas de serviço para realizar os acessos.
Conceito Técnico: Conta de Serviço no Google Cloud
No contexto do Google Cloud Platform (GCP), uma "conta de serviço" é uma identidade especial usada por aplicações e serviços para acessar recursos do Google Cloud de forma programática. Diferente de contas de usuário, as contas de serviço são projetadas para autenticação automatizada entre sistemas, permitindo que aplicações (como seu código Python ou scripts) se autentiquem e acessem APIs do Google Cloud sem intervenção humana, utilizando chaves de autenticação criptográficas para garantir segurança.
Para ter acesso a contas de serviço entre em contato com gestor dos serviços de nuvem no Igarapé.