

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 en Amazon Quick
<a name="row-level-security"></a>


|  | 
| --- |
|  Se aplica a: Enterprise Edition  | 

En la edición empresarial de Amazon Quick, puede 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.

Además, al incrustar paneles de Amazon Quick en su aplicación para los usuarios no registrados de Quick, puede utilizar la seguridad de nivel de fila (RLS) para los datos con etiquetas. filter/restrict Una etiqueta es una cadena especificada por el usuario que identifica una sesión en su aplicación. Puede usar etiquetas para implementar controles de RLS para sus conjuntos de datos. Al configurar las restricciones basadas en el RLS en los conjuntos de datos, Quick filtra los datos en función de las etiquetas de sesión vinculadas a la identidad o sesión del usuario.

Puede restringir el acceso a un conjunto de datos mediante reglas basadas en nombres de usuario o grupos, reglas basadas en etiquetas o ambas.

Elija reglas basadas en el usuario si desea proteger los datos de los usuarios o grupos aprovisionados (registrados) en Quick. Para ello, seleccione un conjunto de datos de permisos que contenga reglas establecidas por columnas para cada usuario o grupo que acceda a los datos. Solo los usuarios o grupos identificados en las reglas tienen acceso a los datos.

Elija reglas basadas en etiquetas solo si utiliza paneles integrados y desea proteger los datos de los usuarios no aprovisionados (usuarios no registrados) en Quick. Para ello, defina etiquetas en las columnas para proteger los datos. Los valores de las etiquetas deben pasarse al incrustar los paneles.

**Topics**
+ [Uso de la seguridad a nivel de fila con reglas basadas en usuarios para restringir el acceso a un conjunto de datos](restrict-access-to-a-data-set-using-row-level-security.md)
+ [Uso de seguridad a nivel de fila con reglas basadas en etiquetas para restringir el acceso a un conjunto de datos al incrustar paneles para usuarios anónimos](quicksight-dev-rls-tags.md)

# Uso de la seguridad a nivel de fila con reglas basadas en usuarios para restringir el acceso a un conjunto de datos
<a name="restrict-access-to-a-data-set-using-row-level-security"></a>


|  | 
| --- |
|  Se aplica a: Enterprise Edition  | 

En la edición empresarial de Amazon Quick, puede 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](data-source-limits.md#spice-limits).

Para ello, debe crear una consulta o un archivo con una columna para la identificación del usuario o del grupo. Puede utilizar `UserName` y o`GroupName`, alternativamente, `UserARN` y`GroupARN`. 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](#create-data-set-rules-for-row-level-security).

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 Quick trata cada palabra separada de otra por una coma como un valor individual del 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 Quick 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 Quick trata NULLs tanto los espacios en blanco 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 se marcan con la palabra **RESTRINGIDOS** en la pantalla 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
<a name="create-data-set-rules-for-row-level-security"></a>

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 Quick o grupos de Microsoft AD. 

   En el siguiente ejemplo se muestra una tabla con grupos.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   En el siguiente ejemplo, se muestra una tabla con nombres de usuario.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   En el siguiente ejemplo, se muestra una tabla con los nombres de los recursos de Amazon para usuarios y grupos (ARNs).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

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

   ```
   UserName,SalesRegion,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,SalesRegion,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,SalesRegion
   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, SalesRegion, Segment
   	from tps-permissions;
   
   	/* for groups*/
   	select Group as GroupName, SalesRegion, Segment
   	from tps-permissions;
   ```

1. 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**.

## Marcado de conjuntos de datos de reglas para seguridad de filas
<a name="rules-dataset-flagging-for-row-level-security"></a>

Siga este procedimiento para marcar adecuadamente un conjunto de datos como conjunto de datos de reglas.

Conjunto de datos de reglas es un indicador que distingue los conjuntos de datos de permisos utilizados para la seguridad de filas de los conjuntos de datos normales. Si un conjunto de datos de permisos se aplicó a un conjunto de datos normal antes del 31 de marzo de 2025, tendrá una marca de conjunto de datos de reglas en la página de inicio **Conjunto de datos**. 

Si un conjunto de datos de permisos no se aplicó a un conjunto de datos normal antes del 31 de marzo de 2025, se clasificará como conjunto de datos normal. Para usarlo como un conjunto de datos de reglas, duplique el conjunto de datos de permisos y márquelo como un conjunto de datos de reglas en la consola al crear el conjunto de datos. Seleccione EDITAR CONJUNTO DE DATOS y, en las opciones, elija DUPLICAR COMO CONJUNTO DE DATOS DE REGLAS. 

Para duplicarlo correctamente como un conjunto de datos de reglas, asegúrese de que el conjunto de datos original tenga: 1. Columnas de metadatos de usuario o metadatos de grupo obligatorias. 2. Solo columnas de tipo cadena.

Para crear un nuevo conjunto de datos de reglas en la consola, seleccione NUEVO CONJUNTO DE DATOS DE REGLAS en el menú desplegable NUEVO CONJUNTO DE DATOS. Al crear un conjunto de datos de reglas mediante programación, añada el siguiente parámetro [UseAs:](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html#API_CreateDataSet_RequestSyntax) RLS\$1RULES. Se trata de un parámetro opcional que solo se utiliza para crear un conjunto de datos de reglas. Una vez que se ha creado un conjunto de datos, ya sea mediante la consola o mediante programación, y se ha marcado como conjunto de datos de reglas o conjunto de datos normal, no se puede cambiar.

Una vez que los conjuntos de datos estén marcados como conjuntos de datos de reglas, Amazon Quick les aplicará reglas estrictas de ingesta de SPICE. Para garantizar la integridad de los datos, se producirá un error en la ingesta de SPICE a los conjuntos de datos de reglas si hay filas o celdas no válidas que superen los límites de longitud. Debe solucionar los problemas de ingesta para poder reiniciar una ingesta correcta. Las reglas de ingesta estrictas solo se aplican a los conjuntos de datos de reglas. Los conjuntos de datos normales no tendrán errores en la ingesta de conjuntos de datos si se omiten filas o se truncan cadenas. 

## Aplicación de la seguridad de filas
<a name="apply-row-level-security"></a>

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.

1. En la página de **datos, elija el conjunto de datos**

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

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

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

1. 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 que se exponga accidentalmente información confidencial, Amazon Quick 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. El RLS rápido trata los valores NULL, las cadenas vacías («») o las cadenas vacías separadas por comas (por ejemplo, «,,») como si no tuvieran 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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   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. 

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

1. (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 Quick. 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.

# Uso de seguridad a nivel de fila con reglas basadas en etiquetas para restringir el acceso a un conjunto de datos al incrustar paneles para usuarios anónimos
<a name="quicksight-dev-rls-tags"></a>


|  | 
| --- |
|  Se aplica a: Enterprise Edition  | 


|  | 
| --- |
|    Público objetivo: administradores de Amazon Quick y desarrolladores de Amazon Quick  | 

Al incrustar paneles de Amazon Quick en su aplicación para los usuarios que no están aprovisionados (registrados) en Quick, puede utilizar la seguridad de nivel de fila (RLS) para los datos con etiquetas. filter/restrict Una etiqueta es una cadena especificada por el usuario que identifica una sesión en su aplicación. Puede usar etiquetas para implementar controles de RLS para sus conjuntos de datos. Al configurar las restricciones basadas en el RLS en los conjuntos de datos, Quick filtra los datos en función de las etiquetas de sesión vinculadas a la identidad o sesión del usuario.

Por ejemplo, supongamos que usted es una empresa de logística que tiene una aplicación orientada al cliente para varios minoristas. Miles de usuarios de estos minoristas acceden a su aplicación para ver las métricas relacionadas con la forma en que se envían sus pedidos desde su almacén. 

No desea administrar miles de usuarios en Quick, por lo que utiliza la incrustación anónima para incrustar en su aplicación los paneles seleccionados que puedan ver los usuarios autenticados y autorizados. Sin embargo, debe asegurarse de que los minoristas solo vean los datos que son para su empresa y no para otros. Puede usar la RLS con etiquetas para asegurarse de que sus clientes solo vean los datos que son relevantes para ellos.

Para ello, complete los siguientes pasos:

1. Agregue etiquetas de RLS a un conjunto de datos.

1. Asigne valores a esas etiquetas en tiempo de ejecución mediante la operación de la API de `GenerateEmbedUrlForAnonymousUser`.

   Para obtener más información sobre cómo incrustar paneles para usuarios anónimos mediante la operación de la API de `GenerateEmbedUrlForAnonymousUser`, consulte [Incorporación de paneles de Amazon Quick Sight para usuarios anónimos (no registrados)](embedded-analytics-dashboards-for-everyone.md).

Antes de que pueda usar la RLS con etiquetas, tenga en cuenta los siguientes puntos:
+ Actualmente, el uso de la RLS con etiquetas solo se admite para la incrustación anónima, específicamente para los paneles integrados que utilizan la operación de la API de `GenerateEmbedUrlForAnonymousUser`.
+ No se admite el uso de la RLS con etiquetas en los paneles integrados que utilizan la operación de la API de `GenerateEmbedURLForRegisteredUser` o la antigua operación de la API de `GetDashboardEmbedUrl`.
+ Las etiquetas RLS no son compatibles con AWS Identity and Access Management (IAM) ni con el tipo de identidad Quick.
+ 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](data-source-limits.md#spice-limits).

## Paso 1: adición de etiquetas de RLS a un conjunto de datos
<a name="quicksight-dev-rls-tags-add"></a>

Puede añadir reglas basadas en etiquetas a un conjunto de datos en Amazon Quick. Como alternativa, puede llamar a la operación de la API `CreateDataSet` o `UpdateDataSet` y añadir reglas basadas en etiquetas de esa forma. Para obtener más información, consulte [Adición de etiquetas de RLS a un conjunto de datos mediante la API](#quicksight-dev-rls-tags-add-api).

Utilice el siguiente procedimiento para añadir etiquetas RLS a un conjunto de datos en Quick.

**Adición de etiquetas de RLS a un conjunto de datos**

1. En la página de inicio rápido, elija **Datos** a la izquierda.

1. Elige el conjunto de datos al que quieres añadir el RLS.

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

1. En la página **Configurar seguridad a nivel de fila** que se abre, seleccione **Reglas basadas en etiquetas**.

1. En **Columna**, elija una columna a la que quiera añadir reglas de etiquetas.

   Por ejemplo, en el caso de la empresa de logística, se utiliza la columna `retailer_id`.

   Solo se muestran las columnas con un tipo de datos de cadena.

1. En **Etiqueta**, introduzca una clave de etiqueta. Puede introducir el nombre de etiqueta que desee.

   Por ejemplo, en el caso de la empresa de logística, se utiliza la clave de etiqueta `tag_retailer_id`. De este modo, se establece una seguridad de nivel de fila en función del distribuidor que accede a la aplicación.

1. (Opcional) En **Delimitador**, elija un delimitador de la lista o introduzca el suyo.

   Puede usar delimitadores para separar las cadenas de texto al asignar más de un valor a una etiqueta. El valor de un delimitador puede tener 10 caracteres como máximo.

1. (Opcional) En **Coincidir con todo**, seleccione **\$1** o introduzca su propio carácter o caracteres.

   Esta opción puede ser cualquier carácter que desee utilizar cuando quiera filtrar por todos los valores de esa columna del conjunto de datos. En lugar de enumerar los valores uno por uno, puede usar el carácter. Si se especifica este valor, puede tener al menos un carácter o 256 caracteres como máximo.

1. Elija **Añadir**.

   La regla de etiquetas se agrega al conjunto de datos y aparece en la parte inferior, pero aún no se ha aplicado. Para añadir otra regla de etiqueta al conjunto de datos, repita los pasos 5 a 9. Para editar una regla de etiquetas, elija el icono del lápiz que sigue a la regla. Para eliminar una regla de etiquetas, seleccione el icono de eliminación que sigue a la regla. Puede agregar hasta 50 etiquetas a un conjunto de datos.

1. Cuando esté listo para aplicar las reglas de etiquetas al conjunto de datos, elija **Aplicar reglas**.

1. En la página **¿Activar la seguridad basada en etiquetas?** que se abre, seleccione **Aplicar y activar**.

   Las reglas basadas en etiquetas ahora están activas. En la página **Configurar la seguridad a nivel de fila**, aparece un botón para activar y desactivar las reglas de etiquetas para el conjunto de datos.

   Para desactivar todas las reglas basadas en etiquetas para el conjunto de datos, desactive la opción **Reglas basadas en etiquetas** y, a continuación, escriba “confirmar” en el cuadro de texto que aparece.

   En la página de **datos**, aparece un icono de candado en la fila del conjunto de datos para indicar que las reglas de etiquetas están habilitadas.

   Ahora puede usar las reglas de etiquetas para establecer los valores de las etiquetas en tiempo de ejecución, tal como se describe en [Paso 2: asignación de valores a las etiquetas de RLS en tiempo de ejecución](#quicksight-dev-rls-tags-assign-values). Las reglas solo afectan a los lectores rápidos cuando están activas.
**importante**  
Una vez asignadas y habilitadas las etiquetas en el conjunto de datos, asegúrese de conceder a los autores rápidos permisos para ver todos los datos del conjunto de datos al crear un panel.   
Para dar permiso a los autores rápidos para ver los datos del conjunto de datos, crea un archivo o consulta de permisos para usarlos como reglas del conjunto de datos. Para obtener más información, consulte [Creación de reglas de conjunto de datos para seguridad de nivel de fila](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security).

Después de crear una regla basada en etiquetas, aparece una nueva tabla **Administrar reglas** que muestra cómo se relacionan entre sí las reglas basadas en etiquetas. Para realizar cambios en las reglas que aparecen en la tabla **Administrar reglas**, elija el icono del lápiz que sigue a la regla. A continuación, añada o elimine etiquetas y seleccione **Actualizar**. Para aplicar la regla actualizada al conjunto de datos, seleccione **Aplicar**.

### (Opcional) Adición de la condición OR a las etiquetas de RLS
<a name="quicksight-dev-rls-tags-or"></a>

También puede añadir la condición OR a las reglas basadas en etiquetas para personalizar aún más la forma en que se presentan los datos a los usuarios de su cuenta Quick. Al utilizar la condición OR con las reglas basadas en etiquetas, las imágenes de Quick aparecen si al menos una etiqueta definida en la regla es válida.

**Adición de la condición OR a las reglas basadas en etiquetas**

1. En la tabla **Administrar reglas**, elija **Agregar condición OR**.

1. En la lista desplegable **Seleccionar etiqueta** que aparece, elija la etiqueta para la que quiere crear una condición OR. Puede agregar hasta 50 condiciones OR a la tabla **Administrar reglas**. Puede añadir varias etiquetas a una sola columna de un conjunto de datos, pero la regla debe incluir al menos una etiqueta de columna.

1. Seleccione **Actualizar** para añadir la condición a la regla y, a continuación, seleccione **Aplicar** para aplicar la regla actualizada al conjunto de datos.

### Adición de etiquetas de RLS a un conjunto de datos mediante la API
<a name="quicksight-dev-rls-tags-add-api"></a>

Como alternativa, puede configurar y habilitar la seguridad de nivel de fila basada en etiquetas en su conjunto de datos llamando a la operación de la API `CreateDataSet` o `UpdateDataSet`. Utilice los siguientes ejemplos para aprender cómo hacerlo.

**importante**  
Al configurar las etiquetas de sesión en la llamada a la API,  
Trate las etiquetas de sesión como credenciales de seguridad. No exponga las etiquetas de sesión a los usuarios finales ni al código del lado del cliente.
Implemente controles del lado del servidor. Asegúrese de que las etiquetas de sesión las establezcan exclusivamente sus servicios de backend de confianza, no mediante parámetros que los usuarios finales puedan modificar.
Proteja las etiquetas de sesión de la enumeración. Asegúrese de que los usuarios de un inquilino no puedan descubrir o adivinar los valores de SessionTag que pertenecen a otros inquilinos.
Revise su arquitectura. Si los clientes o socios intermedios pueden llamar directamente a la API, evalúe si esas partes pueden especificar valores de SessionTag para los inquilinos a los que no deberían acceder.

------
#### [ CreateDataSet ]

El siguiente es un ejemplo de creación de un conjunto de datos que usa RLS con etiquetas. Asume el escenario de la empresa de logística descrito anteriormente. Las etiquetas se definen en el elemento `row-level-permission-tag-configuration`. Las etiquetas se definen en las columnas para las que desea proteger los datos. Para obtener más información sobre este elemento opcional, consulta [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)la *Amazon Quick API Reference*.

```
create-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>]
		[--field-folders <value>]
		[--permissions <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--tags <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
		[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

Las etiquetas de este ejemplo se definen en la parte `TagRules` del elemento. En este ejemplo, se definen dos etiquetas basadas en dos columnas:
+ La clave de etiqueta `tag_retailer_id` está definida para la columna `retailer_id`. En este caso, para la empresa de logística, se establece la seguridad a nivel de fila en función del distribuidor que accede a la aplicación.
+ La clave de etiqueta `tag_role` está definida para la columna `role`. En este caso, para la empresa de logística, esto establece una capa adicional de seguridad a nivel de fila basada en la función del usuario que accede a la aplicación desde un distribuidor específico. Un ejemplo es `store_supervisor` o `manager`.

Para cada etiqueta, puede definir `TagMultiValueDelimiter` y `MatchAllValue`. Son opcionales.
+ `TagMultiValueDelimiter`: esta opción puede ser cualquier cadena que desee utilizar para delimitar los valores cuando los pase en tiempo de ejecución. El valor puede tener hasta 10 caracteres como máximo. En este caso, se utiliza una coma como valor delimitador.
+ `MatchAllValue`: esta opción puede ser cualquier carácter que desee utilizar cuando desee filtrar por todos los valores de esa columna del conjunto de datos. En lugar de enumerar los valores uno por uno, puede usar el carácter. Si se especifica, este valor puede tener al menos un carácter o 256 caracteres como máximo. En este caso, se utiliza un asterisco como valor de coincidencia con todos.

Al configurar las etiquetas para las columnas del conjunto de datos, actívelas o desactívelas mediante la propiedad `Status` obligatoria. Para habilitar las reglas de etiquetas, use el valor `ENABLED` de esta propiedad. Al activar las reglas de etiquetas, puede usarlas para establecer los valores de las etiquetas en tiempo de ejecución, tal como se describe en [Paso 2: asignación de valores a las etiquetas de RLS en tiempo de ejecución](#quicksight-dev-rls-tags-assign-values).

A continuación se muestra un ejemplo de definición de respuesta.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------
#### [ UpdateDataSet ]

**UpdateDataSet**

Puede usar la operación de la API de `UpdateDataSet` para añadir o actualizar las etiquetas de RLS de un conjunto de datos existente.

A continuación, se muestra un ejemplo de actualización de un conjunto de datos con etiquetas de RLS. Asume el escenario de la empresa de logística descrito anteriormente.

```
update-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>
		[--field-folders <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
				[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

A continuación se muestra un ejemplo de definición de respuesta.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------

**importante**  
Una vez asignadas y habilitadas las etiquetas en el conjunto de datos, asegúrese de conceder a los autores rápidos permisos para ver todos los datos del conjunto de datos al crear un panel.   
Para dar permiso a los autores rápidos para ver los datos del conjunto de datos, crea un archivo o consulta de permisos para usarlos como reglas del conjunto de datos. Para obtener más información, consulte [Creación de reglas de conjunto de datos para seguridad de nivel de fila](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security).

Para obtener más información sobre el `RowLevelPermissionTagConfiguration` elemento, consulte [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)la *Amazon Quick API Reference*.

## Paso 2: asignación de valores a las etiquetas de RLS en tiempo de ejecución
<a name="quicksight-dev-rls-tags-assign-values"></a>

Puede usar etiquetas para RLS solo para incrustaciones anónimas. Puede establecer valores para las etiquetas mediante la operación de la API de `GenerateEmbedUrlForAnonymousUser`.

**importante**  
Al configurar las etiquetas de sesión en la llamada a la API,  
Trate las etiquetas de sesión como credenciales de seguridad. No exponga las etiquetas de sesión a los usuarios finales ni al código del lado del cliente.
Implemente controles del lado del servidor. Asegúrese de que las etiquetas de sesión las establezcan exclusivamente sus servicios de backend de confianza, no mediante parámetros que los usuarios finales puedan modificar.
Proteja las etiquetas de sesión de la enumeración. Asegúrese de que los usuarios de un inquilino no puedan descubrir o adivinar los valores de SessionTag que pertenecen a otros inquilinos.
Revise su arquitectura. Si los clientes o socios intermedios pueden llamar directamente a la API, evalúe si esas partes pueden especificar valores de SessionTag para los inquilinos a los que no deberían acceder.

El siguiente ejemplo muestra cómo asignar valores a las etiquetas de RLS que se definieron en el conjunto de datos en el paso anterior.

```
POST /accounts/AwsAccountId/embed-url/anonymous-user
	HTTP/1.1
	Content-type: application/json
	{
		“AwsAccountId”: “string”,
		“SessionLifetimeInMinutes”: integer,
		“Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs
		“SessionTags”:  // Optional: Can be used for row-level security
			[
				{
					“Key”: “tag_retailer_id”,
					“Value”: “West,Central,South”
				}
				{
					“Key”: “tag_role”,
					“Value”: “shift_manager”
				}
			],
		“AuthorizedResourceArns”:
			[
				“string”
			],
		“ExperienceConfiguration”:
			{
				“Dashboard”:
					{
						“InitialDashboardId”: “string”
						// This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL.
					}
			}
	}
```

A continuación se muestra un ejemplo de definición de respuesta.

```
HTTP/1.1 Status
	Content-type: application/json

	{
	"EmbedUrl": "string",
	"RequestId": "string"
	}
```

La compatibilidad con RLS sin registrar usuarios en Quick solo se admite en el funcionamiento de la API. `GenerateEmbedUrlForAnonymousUser` En esta operación, en `SessionTags`, puede definir los valores de las etiquetas asociadas a las columnas del conjunto de datos.

En este caso, se definen las siguientes asignaciones:
+ Los valores `West`, `Central` y `South` se asignan a la etiqueta `tag_retailer_id` en tiempo de ejecución. Se usa una coma para el delimitador, que se definió en `TagMultipleValueDelimiter` en el conjunto de datos. Para usar los valores de llamada en la columna, puede establecer el valor en *\$1*, que se definió como `MatchAllValue` al crear la etiqueta.
+ El valor `shift_manager` se asigna a la etiqueta `tag_role`.

El usuario que utilice la URL generada solo podrá ver las filas que tengan el valor `shift_manager` en la columna `role`. Ese usuario solo puede ver el valor `West`, `Central` o `South` en la columna `retailer_id`.

Para obtener más información sobre la incrustación de paneles para usuarios anónimos mediante la operación de `GenerateEmbedUrlForAnonymousUser` API[Incorporación de paneles de Amazon Quick Sight para usuarios anónimos (no registrados)](embedded-analytics-dashboards-for-everyone.md), consulte o [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)consulte la *Amazon Quick* API Reference.