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.
Creación de un filtro de datos
Puede crear uno o varios filtros de datos para cada tabla del Catálogo de datos.
Para crear un filtro de datos para una tabla del Catálogo de datos (consola)
-
Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. Inicie sesión como administrador del lago de datos, como propietario de la tabla de destino o como entidad principal con permiso de Lake Formation en la tabla de destino.
-
En el panel de navegación, en Catálogo de datos, seleccione Filtros de datos.
-
En la página Filtros de datos, seleccione Crear filtro nuevo.
-
En el cuadro de diálogo Crear filtro de datos, introduzca la información siguiente:
-
Nombre del filtro de datos
-
Base de datos de destino. Indique la base de datos que contiene la tabla.
-
Tabla de destino
-
Acceso a nivel de columna. Deje esta opción como Acceso a todas las columnas para especificar únicamente el filtrado solo de filas. Elija Incluir columnas o Excluir columnas para especificar el filtrado de columnas o celdas y, a continuación, especifique las columnas que desea incluir o excluir.
Columnas anidadas: si aplica el filtro a una tabla que contiene columnas anidadas, puede especificar explícitamente las subestructuras de las columnas de estructura anidada dentro de un filtro de datos.
Al conceder el permiso SELECT a una entidad principal en este filtro, la entidad principal que ejecute la siguiente consulta solo verá los datos de
customer.customerName
y no decustomer.customerId
.SELECT "customer" FROM "example_db"."example_table";
Al conceder permisos a la columna
customer
, la entidad principal recibe el acceso a la columna y a los campos anidados debajo de la columna (customerName
ycustomerID
). -
Expresión de filtro de filas. Introduzca una expresión de filtro para especificar el filtro de filas o celdas. Para conocer los tipos de datos y operadores compatibles, consulte Compatibilidad con PartiQL en expresiones de filtro de filas. Elija Acceso a todas las filas para conceder acceso a todas.
Puede incluir estructuras de columnas parciales de columnas anidadas en una expresión de filtro de filas para filtrar las filas que contienen un valor concreto.
Cuando a una entidad principal se le conceden permisos para una tabla con una expresión de filtro de filas
Select * from example_nestedtable where customer.customerName <>'John'
y el acceso a Nivel de columna se establece en Acceso a todas las columnas, los resultados de la consulta solo muestran las filas en las quecustomerName <>'John'
se evalúa como verdadero.
La siguiente captura de pantalla muestra un filtro de datos que implementa el filtrado de celdas. En las consultas a la tabla
orders
, deniega el acceso a la columnacustomer_name
y muestra solo las filas que tienen "pharma" en la columnaproduct_type
. -
-
Elija Crear filtro.
Para crear un filtro de datos con políticas de filtrado de celdas en un campo anidado
En esta sección se utiliza el siguiente esquema de ejemplo para mostrar cómo crear un filtro de celdas de datos:
[ { name: "customer", type: "struct<customerId:string,customerName:string>" }, { name: "customerApplication", type: "struct<appId:string>" }, { name: "product", type: "struct<offer:struct<prodId:string,listingId:string>,type:string>" }, { name: "purchaseId", type: "string" }, ]
-
En la página Crear un filtro de datos, escriba un nombre para el filtro.
-
A continuación, utilice el menú desplegable para elegir un nombre de base de datos y un nombre de tabla.
-
En la sección de Acceso a nivel de columna, elija Columnas incluidas y seleccione una columna anidada (
customer.customerName
). -
En la sección de Acceso a nivel de fila, elija la opción Acceso a todas las filas.
-
Elija Crear filtro.
Al conceder el permiso
SELECT
en este filtro, la entidad principal tiene acceso a todas las filas de la columnacustomerName
. -
A continuación, defina otro filtro de datos para la misma base de datos o tabla.
-
En la sección de Acceso a nivel de columna, elija Columnas incluidas y seleccione otra columna anidada (
customer.customerid
). -
En la sección de Acceso a nivel de fila, elija Filtrar filas e introduzca una Expresión de filtro de fila (
customer.customerid <> 5
). -
Elija Crear filtro.
Al conceder el permiso
SELECT
en este filtro, la entidad principal recibe acceso a todas las filas de los camposcustomerName
ycustomerId
, excepto a la celda en la que el valor es 5 en la columnacustomerId
.