¿Qué es la seguridad a nivel de fila (RLS)?
La seguridad a nivel de fila (RLS) está diseñada para restringir las filas que los usuarios individuales o los roles pueden recuperar de una base de datos, lo que ayuda a hacer cumplir los límites de los datos dentro de las tablas compartidas en función de la identidad, el rol o los atributos contextuales, sin duplicar los datos.
Puntos clave
Control del acceso a los datos a gran escala
La seguridad a nivel de fila está diseñada para ayudar a controlar el acceso a los datos a nivel de registro, lo que permite un control minucioso en plataformas compartidas sin necesidad de modificar el esquema, duplicar datos ni depender de filtros de consulta aplicados por el usuario.
Definición de la seguridad a nivel de fila (RLS): La RLS ayuda a restringir las filas que un usuario o un rol puede recuperar de una base de datos, lo que permite un aislamiento de datos muy preciso dentro de tablas compartidas sin necesidad de duplicar conjuntos de datos ni reestructurar esquemas.
Fundamental para el cumplimiento normativo: El RGPD, la HIPAA, la CCPA y la norma PCI DSS exigen controles de acceso demostrables a nivel de registro. La RLS está diseñada para aplicar el control de acceso en el momento de la consulta, limitando automáticamente los resultados únicamente a los registros autorizados.
Enfoques nativos frente a centralizados: algunas bases de datos ofrecen controles nativos a nivel de fila, pero gestionarlos a gran escala en múltiples almacenes de datos puede generar una proliferación de políticas, una sobrecarga de mantenimiento y lagunas de visibilidad.
Basado en políticas y sensible a la identidad: el RLS moderno vincula las decisiones de acceso a los atributos del proveedor de identidad, lo que permite controles dinámicos y sensibles al contexto que responden a los cambios de usuario, grupo y atributos sin necesidad de modificar el esquema.
Gestión centralizada en todas las plataformas: una capa de seguridad centralizada ayuda a aplicar políticas a nivel de fila de forma coherente en almacenes de datos, bases de datos en la nube y lagos de datos, desde un único motor de políticas en lugar de configuraciones por base de datos.
No se requieren vistas seguras: el RLS basado en la plataforma ayuda a reducir la dependencia de las vistas seguras, eliminando las penalizaciones en la optimización de consultas y permitiendo al mismo tiempo controles más sofisticados, al combinar restricciones de fila y columna en una única política.
Risk de exposición de datos
Por qué es importante la seguridad a nivel de fila
Las filtraciones de datos costarán a las organizaciones una media de 4,44 millones de dólares en 2025, y el acceso a los datos con permisos excesivos sigue siendo una de las causas. La seguridad a nivel de fila (RLS) ayuda a reducir la brecha entre lo que los usuarios pueden acceder y lo que deberían acceder, al imponer límites a nivel de registro antes de que los datos no autorizados salgan de la base de datos.
¿Cómo garantiza la RLS el acceso con el mínimo privilegio?
En las organizaciones en las que varios equipos, regiones o unidades de negocio comparten plataformas de datos, los permisos a nivel de tabla suelen ser demasiado generales. La RLS está diseñada para aplicar el acceso con el mínimo privilegio a nivel de registro, de modo que:
- Un equipo de ventas regional solo pueda consultar los registros de su territorio.
- Un profesional sanitario pueda ver únicamente a sus pacientes.
- Un analista pueda recuperar únicamente las filas que su función le autorice.
Esta granularidad ayuda a reducir el alcance de los riesgos derivados del compromiso de credenciales y contribuye a evitar la exposición interna de datos sin necesidad de cambios en el esquema ni duplicación de datos.
¿Cómo ayuda el RLS a cumplir los requisitos de cumplimiento normativo?
El RGPD, la HIPAA, la CCPA y la norma PCI DSS exigen controles demostrables sobre qué usuarios pueden acceder a registros personales y confidenciales. El RLS ayuda a garantizar el cumplimiento en el momento de la consulta —limitando automáticamente los resultados a los registros autorizados— y contribuye a generar el registro de auditoría que exigen los organismos reguladores. Las organizaciones de los sectores de servicios financieros, sanitario y de entornos de datos empresariales pueden recurrir al RLS para mantener el cumplimiento normativo sin necesidad de reestructurar los datos ni replicar conjuntos de datos confidenciales.
¿Cómo se adapta RLS a entornos con múltiples almacenes de datos?
La mayoría de las organizaciones gestionan datos en múltiples plataformas, cada una con sus propias implementaciones de RLS. Los controles nativos suelen funcionar dentro de una única plataforma, pero provocan una fragmentación de las políticas entre los distintos entornos. Una capa de seguridad centralizada está diseñada para aplicar políticas de acceso coherentes a nivel de fila en todo el almacén de datos desde un único punto de control, lo que ayuda a reducir los gastos de mantenimiento y a mantener el cumplimiento normativo a medida que evoluciona la pila de datos.
Conceptos básicos
Cómo funciona la seguridad a nivel de fila
La seguridad a nivel de fila (RLS) ayuda a restringir los resultados de las consultas evaluando las condiciones de acceso en el momento de la ejecución —filtrando las filas en función de la identidad, el rol o los atributos del usuario solicitante— antes de devolver los resultados. Las implementaciones van desde mecanismos nativos de la base de datos hasta capas de políticas centralizadas que se aplican de forma coherente en múltiples plataformas de datos.
Filtrado explícito e implícito de filas
La RLS se implementa en dos modos fundamentales: explícito e implícito. La aplicación explícita requiere que los usuarios incluyan condiciones de filtrado en cada consulta, lo que hace que el cumplimiento dependa del comportamiento del usuario y genera un riesgo cuando se omiten los filtros. La aplicación implícita aplica el filtrado automáticamente a través de vistas seguras, políticas de acceso a filas o una capa de seguridad de la plataforma, de modo que los usuarios solo reciben las filas a las que están autorizados a acceder, independientemente de cómo se haya redactado la consulta.
La aplicación implícita es el estándar para entornos de producción que requieren un control de acceso fiable y auditable.
Políticas de acceso a filas de Snowflake
Snowflake implementa el RLS mediante políticas de acceso a filas (RAP), objetos a nivel de esquema que se crean una sola vez y se asocian a una o varias tablas o vistas. En el momento de la consulta, Snowflake envuelve el objeto protegido en una vista segura dinámica, evalúa el cuerpo de la política en función de los valores reales de las filas y devuelve únicamente las filas en las que la expresión es TRUE. Las RAP requieren la Enterprise Edition o superior y se ejecutan con el rol del propietario de la política —no con el del usuario que realiza la consulta—, lo que ayuda a evitar la escalada de privilegios. Las RAP se combinan con el enmascaramiento dinámico de datos para permitir la protección simultánea a nivel de fila y de columna en la misma tabla.
RLS centralizado y multiplataforma
Los mecanismos nativos de RLS —vistas seguras, políticas de acceso a filas, bases de datos privadas virtuales— pueden resultar eficaces dentro de un único almacén de datos, pero pueden generar fragmentación en entornos multiplataforma. Una capa de seguridad centralizada ayuda a aplicar políticas a nivel de fila en todos los almacenes de datos desde un único motor de políticas, utilizando los atributos del proveedor de identidades de Okta u otros proveedores de identidades para tomar decisiones de acceso de forma dinámica. Esto reduce la necesidad de replicar las correspondencias entre usuarios y filas en cada base de datos y ayuda a garantizar una aplicación coherente, independientemente de la plataforma de datos que se consulte.
En la práctica
Casos de uso de la seguridad a nivel de fila
Las organizaciones de los sectores de servicios financieros, sanidad y análisis empresarial pueden aplicar la seguridad a nivel de fila (RLS) para ayudar a hacer cumplir los límites de los datos, proteger los registros confidenciales y cumplir los requisitos normativos en entornos de datos compartidos y multitenant.
Aislamiento regional de datos para ventas y análisis
Las entidades financieras que gestionan datos de ventas, registros de cuentas de clientes e historiales de transacciones deben restringir el acceso por unidad de negocio, región o función sin necesidad de reestructurar las plataformas de datos compartidas. La RLS está diseñada para hacer cumplir los límites de los datos en el momento de la consulta, de modo que los analistas y los comerciales solo recuperen los registros que su función les autoriza. Además, ayuda a los equipos de cumplimiento normativo a mantener registros de auditoría para cumplir los requisitos del RGPD, la CCPA y la norma PCI DSS sin duplicar conjuntos de datos confidenciales en múltiples copias restringidas.
Acceso a los historiales de los pacientes por profesional sanitario y departamento
Las organizaciones sanitarias que gestionan historias clínicas electrónicas deben aplicar controles de acceso que cumplan con la HIPAA, de modo que los profesionales sanitarios solo accedan a los historiales de sus pacientes, los departamentos solo vean los casos relevantes y los investigadores solo reciban datos anonimizados. RLS ayuda a aplicar estas restricciones en el momento de la consulta sin necesidad de copias de datos separadas para cada nivel de acceso. En combinación con el enmascaramiento de datos a nivel de columna, RLS permite realizar análisis y cargas de trabajo de IA sobre datos de producción sin comprometer la privacidad de los pacientes ni las obligaciones de la HIPAA.
Intercambio seguro de datos multitenant y entre equipos
Las plataformas de datos empresariales que prestan servicio a múltiples unidades de negocio, socios externos o cargas de trabajo multitenant suelen requerir garantías de aislamiento de datos dentro de una infraestructura compartida. RLS ayuda a limitar a cada tenant, equipo o socio a los registros autorizados dentro de las tablas compartidas, lo que contribuye a reducir los conjuntos de datos duplicados y a la separación física de los datos. Una capa de seguridad centralizada ayuda a aplicar estas políticas de forma coherente en los almacenes de datos y los lagos de datos en la nube a medida que la plataforma se amplía.
Preguntas frecuentes
¿Qué es la seguridad a nivel de fila (RLS)?
La RLS es un método de control de acceso a los datos diseñado para restringir qué filas puede recuperar un usuario, un rol o un grupo de una tabla de base de datos en función de condiciones vinculadas a la identidad, el rol o los atributos contextuales del solicitante. A diferencia de los permisos a nivel de tabla, la RLS ayuda a aplicar límites de acceso a nivel de registro individual, lo que permite que diferentes usuarios que consultan la misma tabla reciban distintos subconjuntos de filas en función de su autorización. Puede ser una capacidad fundamental para el aislamiento de datos en plataformas compartidas, entornos multitenant y cargas de trabajo con datos regulados.
¿Cuál es la diferencia entre la seguridad a nivel de fila y la seguridad a nivel de columna?
La seguridad a nivel de fila está diseñada para restringir qué registros puede recuperar un usuario de una tabla, filtrando los resultados en función de la identidad o el rol. La seguridad a nivel de columna (enmascaramiento de datos) ayuda a restringir qué campos de esos registros puede ver el usuario, ocultando o censurando los valores confidenciales para los usuarios no autorizados. Ambos mecanismos son complementarios: la RLS ayuda a controlar el acceso a nivel de registro, mientras que la seguridad a nivel de columna ayuda a controlar la visibilidad a nivel de campo dentro de los registros a los que el usuario tiene permiso de acceso. Muchas organizaciones aplican ambos simultáneamente para lograr una protección de datos por capas en entornos regulados.
¿Cómo implementa Snowflake el RLS?
Snowflake proporciona RLS a través de las políticas de acceso a filas (RAP), objetos a nivel de esquema disponibles en la Enterprise Edition o superior. Cada RAP define una expresión booleana; en el momento de la consulta, Snowflake envuelve el objeto protegido en una vista segura dinámica, evalúa el cuerpo de la política y devuelve únicamente las filas en las que la expresión es TRUE. Las RAP se ejecutan con el rol del propietario de la política, no con el del usuario que realiza la consulta, lo que ayuda a evitar la escalada de privilegios. Las RAP son reutilizables en varias tablas y se combinan con el enmascaramiento dinámico de datos para ofrecer protección simultánea a nivel de fila y de columna en la misma tabla.
¿Cuáles son las limitaciones del RLS nativo a gran escala?
Los mecanismos nativos de RLS suelen ser eficaces dentro de sus respectivas plataformas, pero pueden generar fragmentación de políticas en entornos con múltiples almacenes de datos. Cada almacén de datos requiere su propia configuración y mantenimiento de políticas. Los enfoques basados en vistas seguras conllevan penalizaciones en la optimización de las consultas. Las asignaciones de roles a las filas deben mantenerse sincronizadas con los cambios del proveedor de identidades. En entornos con múltiples almacenes de datos o un gran número de roles, el RLS nativo puede resultar operativamente complejo de mantener de forma coherente en toda la pila de datos.
¿Cómo admite Commvault el RLS?
Las capacidades de seguridad de datos e IA de Commvault ayudan a aplicar el RLS de forma centralizada en múltiples almacenes de datos —incluidos los almacenes de datos en la nube, las bases de datos locales y los lagos de datos— desde una única capa de políticas. Las políticas a nivel de fila utilizan atributos de identidad de proveedores de identidad conectados, como Okta, lo que permite tomar decisiones de acceso dinámicas y basadas en atributos sin necesidad de sincronizar los roles de la base de datos. Las políticas se aplican de forma coherente en todas las plataformas de datos del entorno, con registro de auditoría de los eventos de acceso y clasificación automática para ayudar a identificar qué filas contienen datos sensibles.
¿Cómo contribuye el RLS al cumplimiento normativo?
El RGPD, la HIPAA, la CCPA y la norma PCI DSS exigen controles demostrables sobre qué usuarios pueden acceder a registros personales, sanitarios y financieros. El RLS está diseñado para respaldar directamente el cumplimiento normativo, ya que ayuda a hacer cumplir los límites de acceso en el momento de la consulta, de modo que los usuarios no autorizados no reciban registros a los que no deberían acceder, de forma automática y sin depender de filtros de consulta aplicados por el usuario. Los registros de auditoría exhaustivos de los eventos de acceso ayudan a identificar quién consultó qué datos y cuándo, lo que contribuye a proporcionar las pruebas que requieren los auditores y a reducir el esfuerzo que supone la elaboración de informes de cumplimiento.