Todos los productos
Search
Centro de documentos

Data Management:Control de acceso a nivel de fila

Última actualización: Sep 03, 2026

Data Management (DMS) ofrece control de acceso a nivel de fila para todas las bases de datos no NoSQL conectadas. Esta función permite controlar a qué filas de datos pueden acceder los usuarios. Por ejemplo, es posible restringir que un gerente de ventas consulte únicamente los datos correspondientes a su región asignada.

Requisitos previos

La instancia debe estar en el modo de control Security Collaboration. Para obtener más información, consulte View the control mode.

Contexto

Al proteger datos, existen dos enfoques principales: la protección vertical y la protección horizontal de datos.

  • Protección vertical de datos: se implementa mediante la protección de datos a nivel de campo.

    Al clasificar los campos según sus niveles de sensibilidad, puede aplicar un cifrado total o parcial a los datos sensibles. Para obtener más información, consulte Manage sensitive data.

    Por ejemplo, un empleado responsable del análisis estadístico no puede ver las direcciones de correo electrónico de los clientes en una tabla de pedidos.

    纵向数据保护

  • Protección horizontal de datos: se implementa mediante el control de acceso a nivel de fila.

    Las filas se filtran con base en uno o más valores específicos (valores de control), lo que le permite controlar el acceso a los datos a nivel de fila.

    Por ejemplo, un empleado de una empresa con múltiples ubicaciones puede ver los datos de pedidos solo de su tienda asignada, y no de todas las sucursales.

    hegnxaign

Limitaciones

  • Esta función está disponible únicamente para bases de datos relacionales, como MySQL y PolarDB.

  • Esta función solo está disponible para instancias en el modo de control Security Collaboration.

  • Esta función admite únicamente bases de datos físicas y aún no es compatible con bases de datos lógicas.

  • Para los usuarios sin permisos sobre todas las filas, se aplican las siguientes limitaciones a las condiciones de filtro cuando consultan, modifican o eliminan datos en una tabla con control de acceso a nivel de fila:

    • Debe especificar valores de filtro para el campo de control, y estos valores deben encontrarse dentro de la lista de valores de control.

    • Las condiciones de filtro están restringidas. Por ejemplo:

      • La cláusula WHERE solo admite los operadores = y in.

      • No se admiten operaciones lógicas como OR, XOR y NOT.

Conceptos clave

  • Tabla de control, campo de control y valor de control

    • Tabla de control: tabla en la que desea configurar el control de acceso a nivel de fila.

    • Campo de control: campo de una tabla de control que se utiliza para aplicar el control de acceso a nivel de fila.

    • Valor de control: un valor del campo de control.

  • Permisos a nivel de fila: permisos que controlan el acceso a los datos a nivel de fila según los valores del campo de control.

    • Permisos de fila de valor único: controlan el acceso con base en uno o más valores de control específicos.

    • Permisos de todas las filas: otorgan acceso a todas las filas de la tabla de control.

  • Grupo de control: los campos de control que comparten el mismo conjunto de valores de control pueden agregarse a un grupo de control.

    Por ejemplo, si la Tabla A y la Tabla B requieren control de acceso a nivel de fila basado en los mismos valores de control, puede utilizar un solo grupo de control para gestionar ambas tablas.

Configurar el control de acceso a nivel de fila

Solo los administradores, DBA o administradores de seguridad pueden realizar esta tarea. Para obtener más información sobre los roles de usuario, consulte View your system role.

  1. Inicie sesión en DMS 5.0.

  2. Coloque el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets.

    Nota

    Si utiliza la consola de DMS en modo normal, seleccione Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets en la barra de navegación superior.

  3. En la esquina superior derecha de la página, haga clic en Global Sensitive Data para abrir la página de lista de datos sensibles.

  4. Haga clic en la pestaña Row Control.

  5. Haga clic en Create Control Group y asigne un nombre al grupo de control.

  6. Agregue una configuración de fila y luego haga clic en Add.

    1. Haga clic en Add Row Configuration.

    2. Busque y seleccione la base de datos destino.

    3. Seleccione la tabla destino y el campo de control.

    4. Opcional: Haga clic en Add Row Configuration para agregar varias tablas de control que utilicen los mismos valores de control.

    Después de configurar el control de acceso a nivel de fila, no podrá ver datos en la tabla destino desde SQL Console hasta que se le otorguen los permisos necesarios. Si realiza una consulta sin el filtro de fila requerido, DMS intercepta la solicitud y devuelve un error. Por ejemplo:SELECT * FROM test RLS Access Denied: [test]: You do not have permission for all rows in this table. The WHERE clause must include a filter condition [1] on the control field: name TraceId: 0a032a1516728214824878812ed7f0 SELECT * FROM test WHERE name = 'Xiaohong'; RLS Access Denied: [test]: Access to a table with row-level access control is involved. You do not have permission to access the row: name = Xiaohong. The control value 'Xiaohong' does not exist. To access this value, contact an administrator, DBA, or security administrator to add the value and then apply for the corresponding row-level permissions before retrying. TraceId: 0a032a1d16728216329266611e4b0d

  7. Opcional: Para otorgar permisos sobre valores de fila específicos, primero debe definir dichos valores.

    1. En la columna Actions del grupo de control destino, haga clic en Details.

    2. En el panel Control Value Details, haga clic en Add Row Value.

    3. En el cuadro de diálogo Import Row Value, elija si desea agregar o reemplazar los valores de fila existentes.

      • Yes: agrega los nuevos valores de fila a los existentes.

      • No: reemplaza todos los valores de fila existentes por los nuevos.

    4. Introduzca el contenido para el valor de fila.

      Nota

      Puede agregar varios valores de control a un solo valor de fila. Separe los valores de control con comas (,). Una vez aprobada su solicitud, obtendrá permiso para consultar todos los valores de control dentro de ese valor de fila.

      Por ejemplo, si un empleado tiene permitido ver datos de clientes únicamente de Beijing y Shanghái, puede introducir Beijing, Shanghai como contenido del valor de fila. Después de que se apruebe la solicitud de permiso del empleado para este valor de fila, podrá ver los datos de clientes de las regiones de Beijing y Shanghái.

Solicitar permisos a nivel de fila

  1. Inicie sesión en DMS 5.0.

  2. Coloque el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Permission Center > Permission Tickets.

    Nota

    Si utiliza la consola de DMS en modo normal, seleccione Security and disaster recovery (DBS) > Permission Center > Permission Tickets en la barra de navegación superior.

  3. En la esquina superior derecha de la página, haga clic en Access apply > Row-Permission.

  4. Introduzca el nombre de la base de datos.

    Nota

    Puede usar el signo de porcentaje (%) para búsquedas aproximadas.

  5. Seleccione el alcance de los permisos a nivel de fila.

    • Single: solicite permisos sobre valores de fila individuales.

      Nota
      • Un valor de fila puede contener varios valores de control. Si tiene permisos sobre un valor de fila, puede consultar, exportar o modificar los datos correspondientes a todos los valores de control que este contiene.

      • Un valor de control puede corresponder a varias filas. Si tiene permisos sobre un valor de control, puede consultar, exportar o modificar todas las filas de datos correspondientes a dicho valor.

    • All: acceda a todas las filas de la tabla de control.

  6. Haga clic en Search.

  7. Seleccione los permisos a nivel de fila deseados y haga clic en el icono 添加.

    Nota

    Un guion (-) en la columna de valor de fila indica permisos para todas las filas.

  8. Seleccione un Permission type, elija un validity period e introduzca un Reason para la solicitud.

  9. Haga clic en Submit.

    Una vez aprobado su ticket, podrá consultar, exportar o modificar datos en SQL Console. Por ejemplo, al ejecutar SELECT * FROM order1 WHERE region = 'Beijing'; en SQL Console, se devuelven únicamente los dos registros de la tabla order1 correspondientes a Zhangsan y Xiaoming, cuya región es Beijing. Esto confirma que el control de acceso a nivel de fila funciona correctamente.

    Nota

    Para revocar permisos a nivel de fila:

    • Para revocar sus propios permisos: vaya a la sección View your permissions para ver y revocar sus permisos. Para obtener más información, consulte View your permissions.

    • Para que un administrador revoque permisos: en la página O&M > Users, localice al usuario deseado y seleccione More > Permission Details en la columna Actions para ver y revocar los permisos del usuario.