Como implementar Data Access Reviews em Governação de Dados
Gerir quem tem acesso a que dados é crítico para segurança e conformidade. Este tutorial mostra como implementar um processo de Data Access Reviews em Governação de Dados para rever, validar e registar acessos periodicamente, reduzindo riscos de privilégio excessivo.
Pré-requisitos
- Conta com permissões de administrador numa plataforma de identidade (por exemplo Azure AD) e na fonte de dados (por exemplo Azure SQL, ADLS, Power BI).
- Catálogo de utilizadores e owners dos conjuntos de dados (pelo menos numa folha de cálculo ou numa ferramenta de inventário).
- Conhecimentos básicos de PowerShell ou scripts para automatizar extração de listas de permissões.
Passo 1: Definir o âmbito e a frequência da Data Access Review
Antes de começar, escolha quais os ativos a rever (ex.: bases de dados, containers ADLS, workspaces Power BI) e com que frequência (mensal, trimestral). Definir o âmbito evita rever acessos irrelevantes e ajuda a concentrar esforços onde há maior risco.
Passo 2: Extrair a lista de acessos atual
Recolha programaticamente os acessos para cada ativo. Exemplo com PowerShell para Azure SQL e Azure AD (simplificado):
# Exemplo: exportar logins e roles de uma base Azure SQL
# Requer Az.Sql e Az.Accounts
Connect-AzAccount
$rg = 'rg-exemplo'
$sqlServer = 'sqlserver-exemplo'
$databases = Get-AzSqlDatabase -ResourceGroupName $rg -ServerName $sqlServer
foreach ($db in $databases) {
$dbName = $db.DatabaseName
$query = "SELECT dp.name AS principal, dp.type_desc, dr.role_principal_id, r.name AS role_name FROM sys.database_principals dp LEFT JOIN sys.database_role_members dr ON dp.principal_id = dr.member_principal_id LEFT JOIN sys.database_principals r ON dr.role_principal_id = r.principal_id WHERE dp.type_desc IN ('SQL_USER','WINDOWS_USER','EXTERNAL_USER')"
Invoke-AzSqlDatabaseQuery -ResourceGroupName $rg -ServerName $sqlServer -DatabaseName $dbName -Query $query | Export-Csv -Path "accesses-$dbName.csv" -NoTypeInformation
}
Passo 3: Mapear owners e responsáveis
Associe cada ativo a um owner responsável por validar os acessos. Use um ficheiro CSV ou uma tabela simples com colunas: asset, owner_email, tipo. Sem owners claros, as reviews falham.
Passo 4: Preparar o pedido de revisão (review package)
Crie um pacote com a lista de utilizadores, privilégios e sugestão de ação (manter, remover, reduzir). Inclua contexto: business owner, propósito do acesso e data de última revisão. Um modelo simples em CSV ou Excel é suficiente para começar.
Passo 5: Enviar a revisão e recolher respostas
Automatize o envio via e-mail ou ferramenta de fluxo (por exemplo Power Automate) com links para aceitar/recusar. No corpo do pedido explique o porquê da review e o prazo. Para grande escala, use formulários que registam decisões em automático.
Passo 6: Aplicar ações aprovadas
Depois de receber as decisões, aplique as alterações. Exemplo para remover um user de um role em Azure SQL via T-SQL remetido por PowerShell:
# Remover user de role numa base Azure SQL via Invoke-Sqlcmd (exemplo)
$server = 'tcp:sqlserver-exemplo.database.windows.net'
dbat = 'db_exemplo'
$userToRemove = 'user@empresa.com'
$sql = "ALTER ROLE db_datareader DROP MEMBER [${userToRemove}];"
Invoke-Sqlcmd -ServerInstance $server -Database $dbat -Query $sql -Username 'admin@empresa.com' -Password (ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force)
Passo 7: Registar e auditar decisões
Guarde um registo imutável das reviews: quem validou, data, decisão e justificação. Pode usar um SharePoint/OneDrive ou um repositório central (CSV ou base de dados). Para conformidade, mantenha estes registos durante o período exigido pela política de retenção.
Verificar o resultado
Confirme que os acessos removidos não aparecem mais nas extrações originais e que os owners validaram as entradas. Teste com um utilizador de teste e veja se o acesso foi efectivamente bloqueado. Verifique também os registos da review para garantires a rastreabilidade.
Conclusão
Um processo de Data Access Reviews reduz risco de privilégio excessivo e demonstra conformidade. Próximos passos: automatizar extração e envio com scripts, integrar com Microsoft Purview ou uma ferramenta GRC, e programar reviews periódicas. Dica: começa por um âmbito reduzido (apenas ativos críticos) para aprender e ajustar o processo.