Uso de la seguridad a nivel de fila (RLS) con reglas basadas en usuariospara restringir el acceso a un conjunto de datos - Amazon QuickSight

Importante: hemos rediseñado el espacio de trabajo de QuickSight análisis de Amazon. Es posible que encuentres capturas de pantalla o textos procedimentales que no reflejen el nuevo aspecto de la QuickSight consola. Estamos en proceso de actualizar las capturas de pantalla y los textos procedimentales.

Para buscar características o elementos, utilice la barra de búsqueda rápida.

Para obtener más información sobre QuickSight el nuevo aspecto, consulta Introducir una nueva experiencia de análisis en Amazon QuickSight.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la seguridad a nivel de fila (RLS) con reglas basadas en usuariospara restringir el acceso a un conjunto de datos

 Se aplica a: Enterprise Edition 

En la edición Enterprise de Amazon QuickSight, puedes restringir el acceso a un conjunto de datos configurando la seguridad a nivel de fila (RLS) en él. Puede hacerlo antes o después de haber compartido el conjunto de datos. Cuando comparte un conjunto de datos con RLS con los propietarios del conjunto de datos, ellos pueden seguir viendo todos los datos. Sin embargo, cuando lo comparte con los lectores, solo pueden ver los datos restringidos por las reglas del conjunto de datos de permiso. Puede controlar aún más su acceso añadiendo seguridad de nivel de fila.

nota

Al aplicar los conjuntos de datos de SPICE a la seguridad de nivel de fila, cada campo del conjunto de datos puede contener hasta 2047 caracteres Unicode. Los campos que contienen más que esta cuota se truncan durante la incorporación de datos. Para obtener más información sobre las cuotas de datos de SPICE, consulte Cuotas de SPICE para los datos importados.

Para ello, debe crear una consulta o archivo con una columna llamada UserName, GroupName o ambas. O puede crear una consulta o archivo con una columna llamada UserARN, GroupARN o ambas. También puede considerarlo como si fuera la adición de una regla para ese usuario o grupo. A continuación, puede añadir una columna a la consulta o al archivo para cada campo al que desee conceder o restringir el acceso. Para cada nombre de usuario o grupo que añada, debe añadir los valores de cada campo. Puede utilizar NULL (sin valor), lo que significa “todos los valores”. Para ver ejemplos de reglas de conjunto de datos, consulte Creación de reglas de conjunto de datos para seguridad de nivel de fila.

Para aplicar las reglas del conjunto de datos, añada al conjunto de datos las reglas como un conjunto de datos de permisos. Tenga en cuenta los siguientes puntos:

  • El conjunto de datos de permisos no pueden contener valores duplicados. Los valores duplicados no se tienen en cuenta cuando se evalúa el modo de aplicar las reglas.

  • Cada usuario o grupo especificado solo podrá ver las filas que coincidan con los valores de los campos de las reglas del conjunto de datos.

  • Si añade una regla para un usuario o grupo y deja el resto de las columnas sin valor (NULL), le concederá acceso a todos los datos.

  • Si no añade una regla para un usuario o grupo, ese usuario o grupo no podrá ver ningún dato.

  • El conjunto completo de registros de reglas que se aplican por usuario no debe superar los 999. Esta limitación se aplica al número total de reglas asignadas directamente a un nombre de usuario más las reglas asignadas al usuario a través de nombres de grupos.

  • Si un campo incluye una coma (), Amazon QuickSight trata cada palabra separada de otra por una coma como un valor individual en el filtro. Por ejemplo, en ('AWS', 'INC'), AWS,INC se considera como dos cadenas: AWS y INC. Para filtrar con AWS,INC, escriba la cadena entre comillas dobles en el conjunto de datos de permisos.

    Si el conjunto de datos restringido es un conjunto de datos de SPICE, el número de valores de filtro aplicados por usuario no puede superar los 192 000 por cada campo restringido. Esto se aplica al número total de reglas asignadas directamente a un nombre de usuario, más los valores de filtro asignados al usuario a través de nombres de grupos.

    Si el conjunto de datos restringido es un conjunto de datos de consulta directa, la cantidad de valores de filtro aplicados por usuario varía según el origen de datos.

    Si se supera el límite del valor del filtro, es posible que se produzca un error en la representación del elemento visual. Le recomendamos añadir una columna adicional al conjunto de datos restringido para dividir las filas en grupos en función de la columna restringida original, de forma que se pueda acortar la lista de filtros.

Amazon QuickSight trata los espacios como valores literales. Si tiene un espacio en un campo que está restringiendo, la regla del conjunto de datos se aplica a estas filas. Amazon QuickSight trata tanto los valores NULL como los espacios en blanco (cadenas vacías «») como «sin valor». Un valor NULL es un valor de campo vacío.

En función del origen de datos del que provenga el conjunto de datos, puede configurar una consulta directa para el acceso a una tabla de permisos. No es necesario delimitar con comillas los términos que contengan espacios. Si utiliza una consulta directa, puede cambiar fácilmente la consulta en el origen de datos original.

Puede cargar reglas de conjunto de datos desde un archivo de texto o una hoja de cálculo. Si utiliza un archivo de valores separados por comas (CSV), no incluya espacios en la línea correspondiente. Es necesario delimitar con comillas los términos que contengan espacios. Si utiliza reglas de conjunto de datos basadas en archivos, aplique los cambios sobrescribiendo las reglas existentes en la configuración de permisos del conjunto de datos.

Los conjuntos de datos restringidos aparecen marcados con la palabra RESTRINGIDO en la pantalla Conjuntos de datos.

Los conjuntos de datos secundarios que se crean a partir de un conjunto de datos principal que tiene las reglas de RLS activas conservan las mismas reglas de RLS que tiene el conjunto de datos principal. Puede añadir más reglas de RLS al conjunto de datos secundario, pero no puede eliminar las reglas de RLS que el conjunto de datos hereda del conjunto de datos principal.

Los conjuntos de datos secundarios que se crean a partir de un conjunto de datos principal que tiene las reglas de RLS activas solo se pueden crear con Direct Query. SPICE no admite los conjuntos de datos secundarios que heredan las reglas de RLS del conjunto de datos principal.

La seguridad a nivel de fila solo funciona con campos que contienen datos de texto (string, char, varchar, etc.). Actualmente no funciona en campos de fecha o numéricos. La detección de anomalías no se admite para conjuntos de datos que utilizan la seguridad a nivel de fila (RLS).

Creación de reglas de conjunto de datos para seguridad de nivel de fila

Utilice el siguiente procedimiento para crear un archivo de permisos o una consulta que usar como reglas de conjunto de datos.

Creación de un archivo de permisos o una consulta para usarlos como reglas de conjunto de datos
  1. Cree un archivo o una consulta que contenga las reglas del conjunto de datos (permisos) para la seguridad de nivel de fila (RLS).

    No importa el orden en que aparezcan los campos. No obstante, en todos los campos se distingue entre mayúsculas y minúsculas. Asegúrese de que coiciden con los nombres y valores del campo.

    La estructura debería tener un aspecto similar a una de las siguientes. Asegúrese de que tiene al menos un campo que identifique a los usuarios o los grupos. Puede incluir ambos, pero solo es obligatorio uno y solo se utiliza uno a la vez. El campo que utilice para usuarios o grupos puede tener cualquier nombre que elija.

    nota

    Si está especificando grupos, utilice únicamente grupos de Amazon o QuickSight grupos de Microsoft AD.

    En el siguiente ejemplo se muestra una tabla con grupos.

    GroupName Región Segmento
    EMEA-Sales EMEA Enterprise, SMB, Startup
    US-Sales EE. UU. Enterprise
    US-Sales EE. UU. SMB, Startup
    US-Sales EE. UU. Startup
    APAC-Sales APAC Enterprise, SMB
    Corporate-Reporting
    APAC-Sales APAC Enterprise, Startup

    En el siguiente ejemplo, se muestra una tabla con nombres de usuario.

    UserName Región Segmento
    AlejandroRosalez EMEA Enterprise, SMB, Startup
    MarthaRivera EE. UU. Enterprise
    NikhilJayashankar EE. UU. SMB, Startup
    PauloSantos EE. UU. Startup
    SaanviSarkar APAC Enterprise, SMB
    sales-tps@example.com
    ZhangWei APAC Enterprise, Startup

    En el siguiente ejemplo, se muestra una tabla con los nombres de recurso de Amazon (ARN) de usuario y grupo.

    UserARN GroupARN Región
    arn:aws:quicksight:us-east-1:123456789012:user/default/Bob arn:aws:quicksight:us-east-1:123456789012:group/default/group-1 APAC
    arn:aws:quicksight:us-east-1:123456789012:user/default/Sam arn:aws:quicksight:us-east-1:123456789012:group/default/group-2 EE. UU.

    O bien, si utiliza un archivo .csv, este deberá tener una estructura similar a una de las siguientes.

    UserName,Region,Segment AlejandroRosalez,EMEA,"Enterprise,SMB,Startup" MarthaRivera,US,Enterprise NikhilJayashankars,US,SMB PauloSantos,US,Startup SaanviSarkar,APAC,"SMB,Startup" sales-tps@example.com,"","" ZhangWei,APAC-Sales,"Enterprise,Startup"
    GroupName,Region,Segment EMEA-Sales,EMEA,"Enterprise,SMB,Startup" US-Sales,US,Enterprise US-Sales,US,SMB US-Sales,US,Startup APAC-Sales,APAC,"SMB,Startup" Corporate-Reporting,"","" APAC-Sales,APAC,"Enterprise,Startup"
    UserARN,GroupARN,Region arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US

    A continuación se muestra un ejemplo de SQL.

    /* for users*/ select User as UserName, Region, Segment from tps-permissions; /* for groups*/ select Group as GroupName, Region, Segment from tps-permissions;
  2. Cree un conjunto de datos para las reglas del conjunto de datos. Para asegurarse de que puede encontrarlo fácilmente, asígnele un nombre relevante, por ejemplo, Permissions-Sales-Pipeline.

Creación de seguridad a nivel de fila

Utilice el procedimiento siguiente para aplicar la seguridad a nivel de fila (RLS) mediante un archivo o consulta como conjunto de datos que contiene las reglas de los permisos.

Aplicación de la seguridad a nivel de fila mediante un archivo o una consulta
  1. Confirme que ha añadido las reglas como un conjunto de datos nuevo. Si las ha añadido, pero no las ve en la lista de conjuntos de datos, actualice la pantalla.

  2. En la página Conjuntos de datos, seleccione el conjunto de datos

  3. En la página de detalles del conjunto de datos que se abre, en Seguridad a nivel de fila, seleccione Configurar.

    
									Elija configurar en la seguridad a nivel de fila.
  4. En la página Configurar la seguridad a nivel de fila que se abre, seleccione Reglas basadas en usuarios.

  5. En la lista de conjuntos de datos que aparece, elija el conjunto de datos de permisos.

    Si el conjunto de datos de permisos no aparece en esta pantalla, vuelva a los conjuntos de datos y actualice la página.

  6. En Política de permisos, seleccione Conceder acceso al conjunto de datos. Cada conjunto de datos tiene solo un conjunto de datos de permisos activo. Si intenta agregar un segundo conjunto de datos de permisos, sobrescribirá el existente.

    importante

    Al trabajar con seguridad de nivel de fila hay determinadas restricciones para los valores NULL y de cadena vacía:

    • Si el conjunto de datos tiene valores NULL o cadenas vacías (“”) en los campos restringidos, estas filas se omiten cuando se aplican las restricciones.

    • Dentro del conjunto de datos de permisos, los valores NULL y las cadenas vacías se tratan igual. Para obtener más información, consulte la siguiente tabla.

    • Para evitar la exposición accidental de información confidencial, Amazon QuickSight omite las reglas de RLS vacías que permiten el acceso a todo el mundo. Una regla de RLS vacía se produce cuando todas las columnas de una fila no tienen ningún valor. QuickSight RLS considera que los valores NULL, las cadenas vacías («») o las cadenas vacías separadas por comas (por ejemplo, «,,») no tienen ningún valor.

      • Tras omitir las reglas vacías, se seguirán aplicando otras reglas de RLS que no estén vacías.

      • Si un conjunto de datos de permisos solo tiene reglas vacías y se omitieron todas, nadie tendrá acceso a los datos restringidos por este conjunto de datos de permisos.

    Reglas para UserName GroupName, región y segmento Acceso concedido
    AlejandroRosalez, Ventas en EMEA, EMEA, «Empresa, pyme, empresa emergente» Ve todo EMEA Enterprise, SMB y Startup
    sales-tps@example.com,Corporate-Reporting,"","" Ve todas las filas
    El usuario o grupo no tiene entrada No ve ninguna fila
    “”,“”,“”,“” Se omite; no ve filas si todas las demás reglas están vacías.
    NULL,“”,“”,NULL Se omite; no ve filas si todas las demás reglas están vacías.

    Cualquier persona con la que haya compartido el panel puede ver los datos en él, a menos que el conjunto de datos esté restringido por reglas de conjunto de datos.

  7. Para guardar los cambios, elija Aplicar conjunto de datos. Luego, en la página ¿Guardar reglas del conjunto de datos?, seleccione Aplicar y activar. Los cambios en los permisos se aplican inmediatamente a los usuarios existentes.

  8. (Opcional) Para eliminar permisos, quite primero del conjunto de datos las reglas del conjunto de datos.

    Asegúrese de que se eliminan las reglas del conjunto de datos. A continuación, elija el conjunto de datos de permisos y seleccione Eliminar conjunto de datos.

    Para sobrescribir permisos, elija un nuevo conjunto de datos de permisos y aplíquelo. Puede volver a utilizar el mismo nombre del conjunto de datos. Sin embargo, asegúrese de aplicar los nuevos permisos en la pantalla Permisos para activarlos. Las consultas SQL se actualizan de forma dinámica, por lo que se pueden gestionar fuera de Amazon QuickSight. En el caso de las consultas, los permisos se actualizan cuando la caché de consultas directas se actualiza automáticamente.

Si elimina un conjunto de datos de permisos basado en un archivo antes de eliminarlo del conjunto de datos de destino, los usuarios restringidos no pueden acceder al conjunto de datos. Mientras el conjunto de datos se encuentra en este estado, sigue marcado como RESTRINGIDO. Sin embargo, cuando consulte Permisos para el conjunto de datos, podrá ver que no tiene ninguna regla de conjunto de datos seleccionada.

Para solucionar este problema, especifique nuevas reglas de conjunto de datos. Crear un conjunto de datos con el mismo nombre no es suficiente para solucionar este problema. Debe elegir el conjunto de datos de permisos nuevo en la pantalla Permisos. Esta restricción no se aplica a consultas SQL directas.