Skip to content

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.

reporte-informacion-confidencial

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.

reporte-informacion-sensible

¿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.

www.datoptim.com
I love working on SQL Server Performance Tuning and finding the origin of the problems. Music and SQL Server passionate.

Carrito
Volver arriba