

# Consideraciones y limitaciones para consultar datos registrados en Lake Formation
<a name="lf-athena-limitations"></a>

Tenga en cuenta lo siguiente al utilizar Athena para consultar los datos registrados en Lake Formation. Para obtener información adicional, consulte [Problemas conocidos de AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/limitations.html) en la *Guía para desarrolladores de AWS Lake Formation*.

**Topics**
+ [Metadatos de columna visibles para usuarios sin permisos de datos para columnas en algunas circunstancias](#lf-athena-limitations-column-metadata)
+ [Uso de permisos de Lake Formation para vistas](#lf-athena-limitations-permissions-to-views)
+ [Compatibilidad con DDL de Iceberg](#lf-athena-limitations-iceberg-ddl-operations)
+ [Control de acceso detallado de Lake Formation y grupos de trabajo de Athena](#lf-athena-limitations-fine-grained-access-control)
+ [Ubicación de los resultados de consulta de Athena en Simple Storage Service (Amazon S3) no registrados en Lake Formation](#lf-athena-limitations-query-results-location)
+ [Uso de grupos de trabajo de Athena para limitar el acceso al historial de consultas](#lf-athena-limitations-use-workgroups-to-limit-access-to-query-history)
+ [Las ubicaciones de Amazon S3 cifradas con CSE-KMS registradas en Lake Formation no se pueden consultar en Athena](#lf-athena-limitations-cse-kms)
+ [Las ubicaciones de datos particionadas registradas en Lake Formation deben estar en subdirectorios de tablas](#lf-athena-limitations-partioned-data-locations)
+ [Las consultas Create Table As Select (CTAS) requieren permisos de escritura de Amazon S3](#lf-athena-limitations-ctas-queries)
+ [El permiso DESCRIBE es necesario en la base de datos predeterminada](#lf-athena-limitations-describe-default)

## Metadatos de columna visibles para usuarios no autorizados en algunas circunstancias con Avro y SerDe personalizado
<a name="lf-athena-limitations-column-metadata"></a>

La autorización de nivel de columna de Lake Formation impide que los usuarios obtengan acceso a los datos de las columnas para las que el usuario no tiene permisos de Lake Formation. Sin embargo, en determinadas situaciones, los usuarios pueden obtener acceso a los metadatos que describen todas las columnas de la tabla, incluidas las columnas para las que no tienen permisos sobre los datos.

Esto ocurre cuando los metadatos de columna se almacenan en propiedades de tabla para tablas que utilizan el formato de almacenamiento Apache Avro o un serializador/deserializador (SerDe) personalizado en el que el esquema de tabla se define en las propiedades de la tabla junto con la definición del SerDe. Cuando utilice Athena con Lake Formation, le recomendamos que revise el contenido de las propiedades de la tabla que registra con Lake Formation y, siempre que sea posible, limite la información almacenada en las propiedades de la tabla para evitar que los metadatos confidenciales sean visibles para los usuarios.

## Descripción de Lake Formation y sus vistas
<a name="lf-athena-limitations-permissions-to-views"></a>

Para los datos registrados en Lake Formation, un usuario de Athena puede crear una `VIEW` solo si tiene permisos de Lake Formation para las tablas, las columnas y las ubicaciones de datos de Amazon S3 de origen en los que se basa la `VIEW`. Después de crear una `VIEW` en Athena, los permisos de Lake Formation se pueden aplicar a la `VIEW`. Los permisos de nivel de columna no están disponibles para un `VIEW`. Los usuarios que tienen permisos de Lake Formation para una `VIEW` pero no tienen permisos para la tabla y las columnas en las que se basó la vista no pueden utilizar la `VIEW` para consultar datos. Sin embargo, los usuarios con esta combinación de permisos pueden utilizar instrucciones como `DESCRIBE VIEW`, `SHOW CREATE VIEW`, y `SHOW COLUMNS` para ver metadatos de `VIEW`. Por este motivo, asegúrese de alinear los permisos de Lake Formation para cada `VIEW` con los permisos de tabla subyacentes. Los filtros de celda definidos en una tabla no se aplican a una `VIEW` para esa tabla. Los nombres de enlace de recursos deben tener el mismo nombre que el recurso de la cuenta de origen. Existen limitaciones adicionales al trabajar con vistas en una configuración multicuenta. Para obtener más información sobre cómo configurar los permisos para vistas compartidas entre cuentas, consulte [Configuración del acceso al catálogo de datos entre cuentas](lf-athena-limitations-cross-account.md).

## Compatibilidad con DDL de Iceberg
<a name="lf-athena-limitations-iceberg-ddl-operations"></a>

Actualmente, Athena no admite operaciones de DDL en tablas de Iceberg cuya ubicación esté registrada en Lake Formation. Si se intenta ejecutar una consulta DDL en una de estas tablas de Iceberg, se puede producir un error de acceso denegado a Amazon S3 o se puede producir un error por agotamiento del tiempo de espera de la consulta. Las operaciones de DDL en las tablas de Iceberg requieren que el usuario tenga acceso directo de Amazon S3 a la ubicación de la tabla de Iceberg.

## Control de acceso detallado de Lake Formation y grupos de trabajo de Athena
<a name="lf-athena-limitations-fine-grained-access-control"></a>

Los usuarios del mismo grupo de trabajo de Athena pueden ver los datos que el control de acceso detallado de Lake Formation ha configurado para que el grupo de trabajo pueda acceder a ellos. Para obtener más información sobre el uso de un control de acceso detallado en Lake Formation, consulte [Manage fine-grained access control using AWS Lake Formation](https://aws.amazon.com/blogs/big-data/manage-fine-grained-access-control-using-aws-lake-formation/) en el *Blog de macrodatos de AWS*. 

## Ubicación de los resultados de consulta de Athena en Simple Storage Service (Amazon S3) no registrados en Lake Formation
<a name="lf-athena-limitations-query-results-location"></a>

Las ubicaciones de los resultados de consulta en Amazon S3 para Athena no se pueden registrar en Lake Formation. Los permisos de Lake Formation no limitan el acceso a estas ubicaciones. A menos que limite el acceso, los usuarios de Athena pueden acceder a los archivos de resultados de consultas y metadatos cuando no tienen permisos de Lake Formation para los datos. Para evitar esto, le recomendamos que utilice grupos de trabajo para especificar la ubicación de los resultados de consulta y alinear la pertenencia a grupos de trabajo con permisos de Lake Formation. A continuación, puede utilizar políticas de permisos de IAM para limitar el acceso a ubicaciones de resultados de consulta. Para obtener más información sobre los resultados de consultas, consulte [Trabajo con resultados de la consulta y consultas recientes](querying.md).

## Uso de grupos de trabajo de Athena para limitar el acceso al historial de consultas
<a name="lf-athena-limitations-use-workgroups-to-limit-access-to-query-history"></a>

El historial de consultas de Athena expone una lista de consultas guardadas y las cadenas de consultas completas. A menos que utilice grupos de trabajo para separar el acceso a los historiales de consultas, los usuarios de Athena que no tengan autorización para consultar datos en Lake Formation pueden ver cadenas de consulta ejecutadas en esos datos, incluidos nombres de columna, criterios de selección, etc. Le recomendamos que utilice grupos de trabajo para separar los historiales de consultas y alinear la pertenencia al grupo de trabajo de Athena con permisos de Lake Formation para limitar el acceso. Para obtener más información, consulte [Uso de grupos de trabajo para controlar el acceso a las consultas y los costos](workgroups-manage-queries-control-costs.md).

## Consulta de tablas cifradas con CSE\$1KMS registradas en Lake Formation
<a name="lf-athena-limitations-cse-kms"></a>

Las tablas de formato de tabla abierta (OTF), como Apache Iceberg, que tienen las siguientes características no se pueden consultar con Athena:
+ Las tablas se basan en ubicaciones de datos de Amazon S3 registradas en Lake Formation.
+ Los objetos de Amazon S3 se cifran mediante el cifrado del cliente (CSE).
+ El cifrado utiliza claves administradas por el cliente de AWS KMS (`CSE_KMS`).

Para consultar tablas que no son OTF (que están cifradas con una clave `CSE_KMS`), añada el siguiente bloque a la política de la clave de AWS KMS que utiliza para el cifrado CSE. *<KMS\$1KEY\$1ARN>* es el ARN de la clave de AWS KMS que cifra los datos. *<IAM-ROLE-ARN>* es el ARN del rol de IAM que registra la ubicación de Amazon S3 en Lake Formation.

```
{
    "Sid": "Allow use of the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": "*"
    },
    "Action": "kms:Decrypt",
    "Resource": "<KMS-KEY-ARN>",
    "Condition": {
        "ArnLike": {
            "aws:PrincipalArn": "<IAM-ROLE-ARN>"
        }
    }
}
```

## Las ubicaciones de datos particionadas registradas en Lake Formation deben estar en subdirectorios de tablas
<a name="lf-athena-limitations-partioned-data-locations"></a>

Las tablas particionadas registradas en Lake Formation deben tener datos particionados en directorios que sean subdirectorios de la tabla en Amazon S3. Por ejemplo, una tabla con la ubicación `s3://amzn-s3-demo-bucket/mytable` y las particiones `s3://amzn-s3-demo-bucket/mytable/dt=2019-07-11`, `s3://amzn-s3-demo-bucket/mytable/dt=2019-07-12`, etc. se puede registrar en Lake Formation y consultar mediante Athena. Por otra parte, una tabla con la ubicación `s3://amzn-s3-demo-bucket/mytable` y las particiones ubicadas en `s3://amzn-s3-demo-bucket/dt=2019-07-11`, `s3://amzn-s3-demo-bucket/dt=2019-07-12`, etc. no se puede registrar en Lake Formation. Debido a que estas particiones no son subdirectorios de `s3://amzn-s3-demo-bucket/mytable`, tampoco se pueden leer desde Athena.

## Las consultas Create Table As Select (CTAS) requieren permisos de escritura de Amazon S3
<a name="lf-athena-limitations-ctas-queries"></a>

Las consultas Create Table As Statements (CTAS) requieren acceso de escritura a la ubicación de las tablas de Amazon S3. Para ejecutar consultas CTAS sobre datos registrados en Lake Formation, los usuarios de Athena deben tener permisos de IAM para escribir en la tabla ubicaciones de Amazon S3, además de los permisos de Lake Formation correspondientes para leer las ubicaciones de datos. Para obtener más información, consulte [Creación de una tabla a partir de los resultados de una consulta (CTAS)](ctas.md).

## El permiso DESCRIBE es necesario en la base de datos predeterminada
<a name="lf-athena-limitations-describe-default"></a>

Se requiere el permiso `DESCRIBE` de Lake Formation en la base de datos `default` para que Lake Formation pueda verlo. El siguiente ejemplo de comando AWS CLI otorga el permiso `DESCRIBE` en la base de datos `default` al usuario `datalake_user1` en la cuenta `111122223333` de AWS.

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Database": {"Name":"default"}}
```

Para obtener más información, consulte [DESCRIBE](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html#perm-describe) en la *Guía para desarrolladores de AWS Lake Formation*.