ES: Cómo enmascarar datos en Azure SQL Database After you have seen the whole process…
Reporte de Información confidencial en SQL Server
EN: Sensitive Data Classification Report in SQL Server
Primero es importante que ya tengas en la mira a toda tu información sensible en tu Base de Datos. Seguro ya lo tienes listo luego de ver los pasos para Encontrar información sensible en SQL Server. Ahora bien, toca generar un reporte de información confidencial con todos los hallazgos.
Vamos a empezar por lo más sencillo.
Generar reporte desde las Tareas
¿Ya viste el enlace del primer párrafo? Casi como cuando iniciabamos la clasificación de datos, solo que ahora nos vamos a la opción de Generar Reporte.
No tienes nada más que hacer y pues el Reporte está generado. Tienes una visualización gráfica muy sencilla con todo aquello que pudiste decidir al momento de realizar la clasificación de los datos.
¿Prefieres reportes planos?
Como casi todo, puedes obtener esta información también desde la ejecución de algunas líneas de código. Tomamos de la página oficial de Microsoft lo siguiente.
Básicamente consultaremos los siguientes Extended Properties.
- sys_information_type_name
- sys_sensitivity_label_name
SELECT
schema_name(O.schema_id) AS schema_name,
O.NAME AS table_name,
C.NAME AS column_name,
information_type,
sensitivity_label
FROM
(
SELECT
IT.major_id,
IT.minor_id,
IT.information_type,
L.sensitivity_label
FROM
(
SELECT
major_id,
minor_id,
value AS information_type
FROM sys.extended_properties
WHERE NAME = 'sys_information_type_name'
) IT
FULL OUTER JOIN
(
SELECT
major_id,
minor_id,
value AS sensitivity_label
FROM sys.extended_properties
WHERE NAME = 'sys_sensitivity_label_name'
) L
ON IT.major_id = L.major_id AND IT.minor_id = L.minor_id
) EP
JOIN sys.objects O
ON EP.major_id = O.object_id
JOIN sys.columns C
ON EP.major_id = C.object_id AND EP.minor_id = C.column_id
Y con su ejecución generamos un reporte sencillo en texto plano como el que se ve en la imagen.
Y si tienes SQL Server 2019…
Claro que sí, como muchas de las tremendas mejoras que nos trae SQL Server 2019, también nos ayudarán en la generación de estos reportes.
A partir de esta versión, contaremos con una nueva vista de catálogo de sistema.
- sys.sensitivity_classifications
Y podremos utilizarla de la siguiente manera (también tomado de la página oficial del enlace anterior).
SELECT
schema_name(O.schema_id) AS schema_name,
O.NAME AS table_name,
C.NAME AS column_name,
information_type,
label
FROM sys.sensitivity_classifications sc
JOIN sys.objects O
ON sc.major_id = O.object_id
JOIN sys.columns C
ON sc.major_id = C.object_id AND sc.minor_id = C.column_id
Finalmente debes mantener tu Reporte de Información Confidencial
Ya lo tienes, ahora úsalo. Distribúyelo si es necesario.
Es importante que el equipo de DBA’s, analistas, desarrolladores y todos los que interactúen con las Bases de Datos, conozcan de esta clasificación de datos.
No podemos distribuir información sensible sin control.
Este reporte de información confidencial debes actualizarlo y revisarlo periódicamente. Involucra también a otra áreas de la empresa; riesgos, seguridad u otras que puedan influenciar en esta clasificación.