Aplicando Políticas de Acesso no BigQuery
Introdução
Para garantir segurança e flexibilidade no controle de acesso a dados, utilizamos Row Access Policies (RAPs) no BigQuery em conjunto com o método de impersonificação de Service Accounts (SA’s).
A impersonificação de SA é um recurso do Google Cloud que permite que uma conta de serviço execute ações em nome de um usuário ou de outra conta de serviço, sem a necessidade de compartilhar a chave privada de cada um dos usuários. Na prática, o cliente concede acesso apenas a uma SA centralizada, e essa conta é usada para autenticar e executar consultas como se fosse o próprio usuário final. Isso garante maior segurança, elimina a necessidade de gerenciar múltiplas credenciais sensíveis e centraliza o controle de acesso.
Esse modelo permite que o cliente compartilhe apenas:
Uma Service Account para a execução das consultas.
Uma tabela de segurança, contendo os e-mails dos usuários ou SAs e suas respectivas permissões.
Dessa forma, simplificamos a gestão de credenciais e evitamos o compartilhamento direto de acessos individuais ao BigQuery.
Cada método de impersonificação possui configurações específicas, que serão abordadas nas seções seguintes:
Segurança e Gestão de Acessos
Esse modelo garante que toda a gestão de acessos fique totalmente do lado do cliente.
Adição/remoção de usuários na tabela de segurança reflete imediatamente nas permissões de acesso.
Desligamento de colaboradores no domínio do cliente (remoção da conta do Google Workspace) automaticamente corta o acesso ao BigQuery.
Inativação de Service Accounts automaticamente corta o acesso ao BigQuery.
Não há necessidade de gerenciar permissões diretamente no BigQuery para cada usuário.
Benefícios da Abordagem
Segurança centralizada: apenas uma SA é compartilhada.
Gestão simplificada: controle total de acessos via tabela de segurança e domínio.
Escalabilidade: até 399 campos diferentes podem ter filtros aplicados.
Flexibilidade: permissões podem ser alteradas facilmente na tabela de segurança.
Menor esforço operacional: não é necessário criar centenas de RAPs individuais por usuário.
Last updated
Was this helpful?