Cómo implementar Data Access Reviews en Gobernanza de Datos
Gestionar quién tiene acceso a qué datos es crítico para la seguridad y el cumplimiento. Este tutorial muestra cómo implementar un proceso de Data Access Reviews en Gobernanza de Datos para revisar, validar y registrar accesos periódicamente, reduciendo riesgos de privilegio excesivo.
Requisitos previos
- Cuenta con permisos de administrador en una plataforma de identidad (por ejemplo Azure AD) y en la fuente de datos (por ejemplo Azure SQL, ADLS, Power BI).
- Catálogo de usuarios y owners de los conjuntos de datos (al menos en una hoja de cálculo o en una herramienta de inventario).
- Conocimientos básicos de PowerShell o scripts para automatizar la extracción de listas de permisos.
Paso 1: Definir el alcance y la frecuencia de la Data Access Review
Antes de empezar, elija qué activos revisar (p. ej.: bases de datos, contenedores ADLS, workspaces Power BI) y con qué frecuencia (mensual, trimestral). Definir el alcance evita revisar accesos irrelevantes y ayuda a concentrar esfuerzos donde hay mayor riesgo.
Paso 2: Extraer la lista de accesos actual
Recoja programáticamente los accesos para cada activo. Ejemplo con PowerShell para Azure SQL y 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
}
Paso 3: Mapear owners y responsables
Asocie cada activo a un owner responsable de validar los accesos. Use un fichero CSV o una tabla simple con columnas: asset, owner_email, tipo. Sin owners claros, las reviews fallan.
Paso 4: Preparar la solicitud de revisión (review package)
Creé un paquete con la lista de usuarios, privilegios y sugerencia de acción (mantener, eliminar, reducir). Incluya contexto: business owner, propósito del acceso y fecha de la última revisión. Un modelo simple en CSV o Excel es suficiente para empezar.
Paso 5: Enviar la revisión y recoger respuestas
Automatice el envío vía e-mail o herramienta de flujo (por ejemplo Power Automate) con enlaces para aceptar/rechazar. En el cuerpo de la solicitud explique el motivo de la review y el plazo. Para gran escala, use formularios que registren decisiones automáticamente.
Paso 6: Aplicar acciones aprobadas
Después de recibir las decisiones, aplique los cambios. Ejemplo para eliminar un user de un role en Azure SQL vía T-SQL ejecutado 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)
Paso 7: Registrar y auditar decisiones
Guarde un registro inmutable de las reviews: quién validó, fecha, decisión y justificación. Puede usar un SharePoint/OneDrive o un repositorio central (CSV o base de datos). Para cumplimiento, mantenga estos registros durante el período exigido por la política de retención.
Verificar el resultado
Confirme que los accesos eliminados ya no aparecen en las extracciones originales y que los owners validaron las entradas. Pruebe con un usuario de prueba y compruebe si el acceso fue efectivamente bloqueado. Verifique también los registros de la review para garantizar la trazabilidad.
Conclusión
Un proceso de Data Access Reviews reduce el riesgo de privilegio excesivo y demuestra cumplimiento. Próximos pasos: automatizar extracción y envío con scripts, integrar con Microsoft Purview o una herramienta GRC, y programar reviews periódicas. Consejo: empieza por un alcance reducido (solo activos críticos) para aprender y ajustar el proceso.