Problemas conocidos de AWS Lake Formation - AWS Lake Formation

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.

Problemas conocidos de AWS Lake Formation

Revise estos problemas conocidos para ver si AWS Lake Formation.

Limitación del filtrado de metadatos de las tablas

AWS Lake Formation los permisos a nivel de columna se pueden usar para restringir el acceso a columnas específicas de una tabla. Cuando un usuario recupera los metadatos de la tabla mediante la consola o una herramienta API similarglue:GetTable, la lista de columnas del objeto de tabla contiene solo los campos a los que tiene acceso. Es importante comprender las limitaciones de este filtrado de metadatos.

Aunque Lake Formation pone a disposición de los servicios integrados metadatos sobre los permisos de las columnas, el filtrado real de las columnas en las respuestas a las consultas es responsabilidad del servicio integrado. Los clientes de Lake Formation que admiten el filtrado a nivel de columna, como Amazon Athena, Amazon Redshift Spectrum EMR y Amazon, filtran los datos en función de los permisos de columna registrados en Lake Formation. Los usuarios no podrán leer datos a los que no deberían tener acceso. En la actualidad, AWS Glue ETLno admite el filtrado de columnas.

nota

EMRlos clústeres no están completamente gestionados por AWS. Por lo tanto, es responsabilidad de EMR los administradores proteger adecuadamente los clústeres para evitar el acceso no autorizado a los datos.

Algunas aplicaciones o formatos pueden almacenar metadatos adicionales, incluidos los nombres y tipos de las columnas, en el mapa de Parameters como propiedades de la tabla. Estas propiedades se devuelven sin modificar y son accesibles por cualquier usuario con permiso de SELECT sobre cualquier columna.

Por ejemplo, el Avro SerDe almacena una JSON representación del esquema de la tabla en una propiedad de tabla denominadaavro.schema.literal, que está disponible para todos los usuarios con acceso a la tabla. Le recomendamos que evite almacenar información sensible en las propiedades de las tablas y que sea consciente de que los usuarios pueden conocer el esquema completo de las tablas con formato Avro. Esta limitación es específica de los metadatos sobre una tabla.

AWS Lake Formation elimina cualquier propiedad de la tabla que comience por spark.sql.sources.schema cuando responde a una solicitud glue:GetTable o similar si la persona que llama no tiene SELECT permisos en todas las columnas de la tabla. Esto impide a los usuarios acceder a metadatos adicionales sobre tablas creadas con Apache Spark. Cuando se ejecutan en AmazonEMR, las aplicaciones de Apache Spark aún pueden leer estas tablas, pero es posible que no se apliquen ciertas optimizaciones y no se admiten nombres de columnas que distingan mayúsculas de minúsculas. Si el usuario tiene acceso a todas las columnas de la tabla, Lake Formation devuelve la tabla sin modificar con todas las propiedades de la tabla.

Problema al renombrar una columna excluida

Si utiliza permisos a nivel de columna para excluir una columna y, a continuación, cambia el nombre de la columna, esta dejará de estar excluida de las consultas, como SELECT *.

¿Hay un problema con la eliminación de columnas de las tablas CSV

Si crea una tabla de catálogo de datos con ese CSV formato y, a continuación, elimina una columna del esquema, las consultas pueden devolver datos erróneos y es posible que no se respeten los permisos a nivel de columna.

Solución alternativa: cree una tabla nueva en su lugar.

Las particiones de tabla deben añadirse bajo una ruta común

Lake Formation espera que todas las particiones de una tabla estén bajo una ruta común que se establece en el campo de ubicación de la tabla. Cuando utilice el rastreador para añadir particiones a un catálogo, esto funcionará sin problemas. Pero si añade particiones manualmente, y estas particiones no están bajo la ubicación establecida en la tabla principal, el acceso a los datos no funciona.

Problema con la creación de una base de datos durante la creación del flujo de trabajo

Al crear un flujo de trabajo a partir de un esquema utilizando la consola de Lake Formation, puede crear la base de datos de destino si no existe. Al hacerlo, el usuario que ha iniciado sesión obtiene el permiso de CREATE_TABLE sobre la base de datos creada. Sin embargo, el rastreador que genera el flujo de trabajo asume el papel de este cuando intenta crear una tabla. Esto produce un error porque el rol no tiene el permiso CREATE_TABLE en la base de datos.

Solución: si crea la base de datos a través de la consola durante la configuración del flujo de trabajo, antes de ejecutar el flujo de trabajo, debe dar al rol asociado al flujo de trabajo el permiso CREATE_TABLE sobre la base de datos que acaba de crear.

Problema al eliminar un usuario y, a continuación, volver a crearlo

El siguiente escenario da como resultado permisos erróneos de Lake Formation devueltos por lakeformation:ListPermissions:

  1. Cree un usuario y conceda permisos a Lake Formation.

  2. Elimine el usuario.

  3. Vuelva a crear el usuario con el mismo nombre.

ListPermissions devuelve dos entradas, una para el usuario anterior y otra para el usuario nuevo. Si intenta revocar los permisos concedidos al usuario anterior, se revocan los permisos del nuevo usuario.

GetTablesy SearchTables APIs no actualice el valor del parámetro IsRegisteredWithLakeFormation

Existe una limitación conocida por el hecho de que API las operaciones del catálogo de datos comoGetTables, por ejemploIsRegisteredWithLakeFormation parameter, SearchTables no actualizan el valor del y devuelven el valor predeterminado, que es falso. Se recomienda utilizar el GetTable API para ver el valor correcto deIsRegisteredWithLakeFormation parameter.

APILas operaciones del catálogo de datos no actualizan el valor del IsRegisteredWithLakeFormation parámetro

Existe la limitación conocida de que API las operaciones del catálogo de datos (por ejemplo, GetTables y SearchTables no actualizan el valor del IsRegisteredWithLakeFormation parámetro) y devuelven el valor predeterminado, que es falso. Se recomienda utilizar el GetTable API para ver el valor correcto del IsRegisteredWithLakeFormation parámetro.

Las operaciones de Lake Formation no admiten el registro AWS Glue de esquemas

Las operaciones de Lake Formation no admiten AWS Glue tablas que contengan un SchemaReference en el StorageDescriptor para utilizarlas en el Registro de esquemas.