Configuración de AWS Lake Formation - AWS Lake Formation

Configuración de AWS Lake Formation

Las siguientes secciones proporcionan información sobre cómo configurar Lake Formation por primera vez. No todos los temas de esta sección son necesarios para empezar a utilizar Lake Formation. Puede utilizar las instrucciones para configurar el modelo de permisos de Lake Formation para administrar sus objetos AWS Glue Data Catalog y ubicaciones de datos existentes en Amazon Simple Storage Service (Amazon S3).

Esta sección muestra cómo configurar los recursos de Lake Formation de dos maneras diferentes:

  • Uso de una plantilla AWS CloudFormation

  • Uso de la consola de Lake Formation

Para configurar Lake Formation mediante la consola de AWS, vaya a Crear un administrador de lago de datos.

Configurar los recursos de Lake Formation usando una plantilla de AWS CloudFormation

nota

La pila AWS CloudFormation lleva a cabo los pasos 1 a 6 anteriores, a excepción de los pasos 2 y 5. Ejecute Cambio del modelo de permisos predeterminado o uso del modo de acceso híbrido y Integración de IAM Identity Center manualmente desde la consola de Lake Formation.

  1. Inicie sesión en la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation como administrador de IAM en la región Este de EE. UU. (Norte de Virginia).

  2. Seleccione Lanzar pila.

  3. Seleccione Siguiente en la pantalla Crear pila.

  4. Introduzca un Nombre de pila.

  5. Para DataLakeAdminName y DataLakeAdminPassword, introduzca su nombre de usuario de IAM y la contraseña del usuario administrador del lago de datos.

  6. Para DataLakeUser1Name y DataLakeUser1Password, introduzca su nombre de usuario y la contraseña de usuario analista del lago de datos.

  7. Para DataLakeBucketName, introduzca el nombre del nuevo bucket que se creará.

  8. Elija Siguiente.

  9. En la página siguiente, seleccione Siguiente.

  10. Revise los detalles en la última página y acepte que AWS CloudFormation pueda crear recursos de IAM.

  11. Seleccione Crear.

    La creación de la pila puede llevar hasta dos minutos.

Eliminar recursos

Si quiere limpiar los recursos de la pila de AWS CloudFormation:

  1. Anule el registro del bucket de Amazon S3 creado por su pila, registrado como ubicación del lago de datos.

  2. Elimine la pila de AWS CloudFormation. Esto eliminará todos los recursos creados por la pila.

Crear un administrador de lago de datos

Los administradores del lago de datos son inicialmente los únicos usuarios o roles de AWS Identity and Access Management (IAM) que pueden conceder permisos de Lake Formation sobre ubicaciones de datos y recursos del Catálogo de datos a cualquier entidad principal (incluida la propia). Para obtener más información acerca de las capacidades de administrador de lago de datos, consulte Permisos implícitos de Lake Formation. De forma predeterminada, con Lake Formation puede crear hasta 30 administradores de lago de datos.

Puede crear un administrador de lagos de datos mediante la consola de Lake Formation o la operación PutDataLakeSettings de la API de Lake Formation.

Para crear un administrador de lago de datos, se requieren los permisos siguientes. El usuario Administrator tiene estos permisos de forma implícita.

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

Si concede a un usuario la política AWSLakeFormationDataAdmin, dicho usuario no podrá crear usuarios administradores adicionales de Lake Formation.

Para crear un administrador de lago de datos (consola)
  1. Si el usuario que va a ser administrador del lago de datos aún no existe, utilice la consola de IAM para crearlo. De lo contrario, elija un usuario existente para ser administrador del lago de datos.

    nota

    Le recomendamos que no seleccione un usuario administrativo de IAM (usuario con la política administrada AdministratorAccess de AWS) como administrador del lago de datos.

    Vincule las políticas administradas de AWS siguientes al usuario:

    Políticas ¿Obligatoria? Notas
    AWSLakeFormationDataAdmin Obligatorio Permisos básicos de administrador del lago de datos. Esta política administrada de AWS contiene una denegación explícita de la operación de la API de Lake Formation, PutDataLakeSetting que impide a los usuarios crear nuevos administradores del lago de datos.
    AWSGlueConsoleFullAccess, CloudWatchLogsReadOnlyAccess Opcional Vincule estas políticas si el administrador del lago de datos va a solucionar los flujos de trabajo creados a partir de esquemas de Lake Formation. Estas políticas permiten al administrador del lago de datos consultar la información de solución de problemas en la consola de AWS Glue y en la consola de Amazon CloudWatch Logs. Para obtener más información acerca de los flujos de trabajo, consulte Importación de datos mediante flujos de trabajo en Lake Formation.
    AWSLakeFormationCrossAccountManager Opcional Vincule esta política para que el administrador del lago de datos pueda conceder y revocar permisos entre cuentas sobre los recursos del Catálogo de datos. Para obtener más información, consulte Compartir datos entre cuentas en Lake Formation.
    AmazonAthenaFullAccess Opcional Adjunte esta política si el administrador del lago de datos va a ejecutar consultas en Amazon Athena.
  2. Adjunte la siguiente política en línea, que otorga al administrador del lago de datos permiso para crear el rol vinculado al servicio de Lake Formation. Un posible nombre para la política es LakeFormationSLR.

    El rol vinculado al servicio permite al administrador del lago de datos registrar más fácilmente las ubicaciones de Amazon S3 con Lake Formation. Para más información sobre el rol vinculado al servicio Lake Formation, consulte Uso de roles vinculados a servicios para Lake Formation.

    importante

    En toda la política siguiente, sustituya <account-id> por un número de cuenta de AWS válido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
  3. (Opcional) Vincule la siguiente política PassRole insertada al usuario. Esta política permite al administrador del lago de datos crear y ejecutar flujos de trabajo. El permiso iam:PassRole capacita al flujo de trabajo asumir el rol LakeFormationWorkflowRole para crear rastreadores y trabajos, y vincular el rol a los rastreadores y trabajos creados. Un posible nombre para la política es UserPassRole.

    importante

    Sustituya <account-id> por un número de cuenta AWS válido.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (Opcional) Adjunte esta política adicional insertada si su cuenta va a conceder o recibir permisos entre cuentas de Lake Formation. Esta política permite al administrador del lago de datos ver y aceptar invitaciones para compartir recursos de AWS Resource Access Manager (AWS RAM). Además, para los administradores de lago de datos de la cuenta de administración de AWS Organizations, la política incluye un permiso para permitir las concesiones entre cuentas a las organizaciones. Para obtener más información, consulte Compartir datos entre cuentas en Lake Formation.

    Un posible nombre para la política es RAMAccess.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  5. Abra la consola de AWS Lake Formation en https://console.aws.amazon.com/lakeformation/ e inicie sesión como el usuario administrador que creó en Creación de un usuario con acceso administrativo o como usuario con una política administrada de usuario AdministratorAccess de AWS.

  6. Si aparece la ventana de bienvenida a Lake Formation, elija el usuario de IAM que creó o seleccionó en el Paso 1 y, a continuación, elija Comenzar.

  7. Si no aparece la ventana de bienvenida a Lake Formation, siga estos pasos para configurar un administrador de Lake Formation.

    1. En el panel de navegación, en Administradores, seleccione Roles y tareas administrativas. En la sección de administradores del lago de datos de la página de la consola, seleccione Agregar.

    2. En el cuadro de diálogo Agregar administradores, como tipo de acceso seleccione Administrador del lago de datos.

    3. Para los usuarios y roles de IAM, elija el usuario de IAM que creó o seleccionó en el Paso 1 y, a continuación, seleccione Guardar.

Cambio del modelo de permisos predeterminado o uso del modo de acceso híbrido

Lake Formation comienza con la configuración «Usar solo el control de acceso de IAM» habilitada para garantizar la compatibilidad con el comportamiento de AWS Glue Data Catalog existente. Este ajuste le permite administrar el acceso a sus datos en el lago de datos y sus metadatos mediante políticas de IAM y políticas de bucket de Amazon S3.

Para facilitar la transición de los permisos del lago de datos de un modelo IAM y Amazon S3 a los permisos de Lake Formation, le recomendamos que utilice el modo de acceso híbrido para el Catálogo de datos. Con el modo de acceso híbrido, dispone de una vía incremental en la que puede habilitar los permisos de Lake Formation para un conjunto específico de usuarios sin interrumpir a otros usuarios o cargas de trabajo existentes.

Para obtener más información, consulte Modo de acceso híbrido.

Desactive la configuración predeterminada para mover a todos los usuarios existentes de una tabla a Lake Formation en un solo paso.

importante

Si ya hay bases de datos y tablas de AWS Glue Data Catalog, no siga las instrucciones indicadas en esta sección. En su lugar, siga las instrucciones en Actualización de los permisos de datos AWS Glue al modelo AWS Lake Formation.

aviso

Si cuenta con una automatización que crea bases de datos y tablas en el Catálogo de datos, los pasos siguientes podrían provocar un error en los trabajos de automatización y extracción, transformación y carga (ETL) posteriores. Continúe solo después de haber modificado sus procesos existentes o de haber concedido permisos explícitos de Lake Formation a las entidades principales requeridas. Para obtener información sobre los permisos de Lake Formation, consulte Referencia de permisos de Lake Formation.

Para cambiar la configuración predeterminada del Catálogo de datos
  1. Continúe en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/. Verifique que ha iniciado sesión como el usuario administrador que había creado en Creación de un usuario con acceso administrativo o como un usuario con la política administrada AdministratorAccess de AWS.

  2. Modifique la configuración del Catálogo de datos:

    1. En el panel de navegación, Administración, seleccione Configuración del Catálogo de datos.

    2. Desmarque ambas casillas y seleccione Guardar.

      El cuadro de diálogo de configuración del Catálogo de datos tiene el subtítulo «Permisos predeterminados para las bases de datos y tablas recién creadas» y dos casillas de verificación, descritas en el texto.
  3. Revoque el permiso de IAMAllowedPrincipals a los creadores de bases de datos.

    1. En el panel de navegación, en Administración, seleccione Roles y tareas administrativas.

    2. En la página de la consola de Roles y tareas administrativas, en la sección Creadores de bases de datos, seleccione el grupo IAMAllowedPrincipals y elija Revocar.

      Aparece el cuadro de diálogo para revocar permisos, en el que se muestra que IAMAllowedPrincipals tiene el permiso para crear base de datos.

    3. Seleccione Revocar.

Asignar permisos a usuarios de Lake Formation

Cree un usuario para tener acceso al lago de datos en AWS Lake Formation. Este usuario tiene el privilegio mínimo de permisos para consultar el lago de datos.

Para más información sobre la creación de usuarios o grupos, consulte Identidades IAM en la Guía del usuario de IAM.

Para adjuntar permisos a un usuario no administrador con el fin de acceder a los datos de Lake Formation
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam e inicie sesión como un usuario administrador creado en Creación de un usuario con acceso administrativo o como usuario con la política administrada AdministratorAccess de AWS.

  2. Elija Usuarios o Grupos de usuarios.

  3. En la lista, seleccione el nombre del usuario o del grupo en el que integrará una política.

    Elija Permisos.

  4. Elija Agregar permisos y seleccione Adjuntar políticas directamente. Introduzca Athena en el campo de texto Filtrar políticas. En la lista de resultados, marque la casilla de AmazonAthenaFullAccess.

  5. Pulse el botón Crear política. En la página Crear política, elija la pestaña JSON. Copie la política siguiente y péguela en el editor de políticas.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Seleccione el botón Siguiente en la parte inferior hasta que vea la página Revisar la política. Escriba un nombre para la política, por ejemplo DatalakeUserBasic. Seleccione Crear política y, a continuación, cierre la pestaña Políticas o la ventana del navegador.

Configurar una ubicación de Amazon S3 para el lago de datos

Para utilizar Lake Formation con el fin de administrar y proteger los datos de su lago de datos, primero debe registrar una ubicación de Amazon S3. Al registrar una ubicación, se registran esa ruta de Amazon S3 y todas las carpetas incluidas en esa ruta, lo que permite a Lake Formation aplicar los permisos de nivel de almacenamiento. Cuando el usuario solicita datos de un motor integrado como Amazon Athena, Lake Formation proporciona acceso a los datos en lugar de utilizar los permisos del usuario.

Cuando registra una ubicación, especifica un rol de IAM que concede permisos de lectura y escritura en esa ubicación. Lake Formation asume ese rol al proporcionar credenciales temporales a los servicios de AWS integrados que solicitan acceso a los datos en la ubicación registrada de Amazon S3. Puede especificar el rol vinculado al servicio (SLR) de Lake Formation o crear el suyo propio.

Utilice un rol personalizado en las siguientes situaciones:

El rol que elija debe tener los permisos necesarios, tal y como se describe en Requisitos de los roles utilizados para registrar ubicaciones. Para obtener instrucciones sobre cómo registrar una ubicación de Amazon S3, consulte Añadir una ubicación de Amazon S3 a su lago de datos.

(Opcional) Configuración de filtrado de datos externo

Si tiene intención de analizar y procesar los datos de su lago de datos utilizando motores de consulta de terceros, debe optar por permitir que los motores externos accedan a los datos gestionados por Lake Formation. Si no lo hace, los motores externos no podrán acceder a los datos de las ubicaciones de Amazon S3 que estén registradas en Lake Formation.

Lake Formation es compatible con los permisos a nivel de columna para restringir el acceso a columnas específicas de una tabla. Los servicios analíticos integrados como Amazon Athena, Amazon Redshift Spectrum y Amazon EMR recuperan metadatos de tablas no filtrados del AWS Glue Data Catalog. El filtrado real de las columnas en las respuestas a las consultas es responsabilidad del servicio integrado. Es responsabilidad de los administradores externos gestionar adecuadamente los permisos para evitar el acceso no autorizado a los datos.

Para permitir que motores de terceros accedan a los datos y los filtren (consola)
  1. Continúe en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/. Compruebe que ha iniciado sesión como una entidad principal con el permiso de IAM en la operación de la API PutDataLakeSettings de Lake Formation. El usuario administrador de IAM que ha creado en Registro en una Cuenta de AWS tiene este permiso.

  2. En el panel de navegación, Administración, seleccione Configuración de integración de aplicaciones.

  3. En la página Configuración de integración de aplicaciones, haga lo siguiente:

    1. Marque la casilla Permitir que motores externos filtren datos en las ubicaciones de Amazon S3 registradas en Lake Formation.

    2. Introduzca los valores de las etiquetas de sesión definidos para motores de terceros.

    3. Para los ID de cuenta de AWS, introduzca los ID de cuenta desde los que los motores de terceros pueden acceder a las ubicaciones registradas en Lake Formation. Pulse Intro después de cada ID de cuenta.

    4. Seleccione Guardar.

Para permitir que los motores externos accedan a los datos sin validar las etiquetas de sesión, consulte Integración de aplicaciones para un acceso completo a la tabla

(Opcional) Conceda acceso a la clave de cifrado del Catálogo de datos

Si el AWS Glue Data Catalog está cifrado, conceda permisos AWS Identity and Access Management de (IAM) sobre la clave AWS KMS a las entidades principales que necesiten conceder permisos de Lake Formation en las bases de datos y tablas del Catálogo de datos.

Para obtener más información, consulte la Guía para desarrolladores de AWS Key Management Service.

(Opcional) Crear un rol de IAM para flujos de trabajo

Con AWS Lake Formation, puede importar sus datos utilizando flujos de trabajo ejecutados por rastreadores de AWS Glue. Un flujo de trabajo define el origen de datos y la programación para importar los datos a su lago de datos. Puede definir fácilmente los flujos de trabajo mediante los esquemas o las plantillas proporcionados por Lake Formation.

Al crear un flujo de trabajo, debe asignarle un rol de AWS Identity and Access Management (IAM) que conceda a Lake Formation los permisos necesarios para ingerir los datos.

En el procedimiento siguiente se presupone que está familiarizado con IAM.

Crear un rol de IAM para flujos de trabajo
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam e inicie sesión como el usuario administrador que creó en Creación de un usuario con acceso administrativo o como usuario con la política administrada AdministratorAccess de AWS.

  2. En el panel de navegación, seleccione Roles, Crear rol.

  3. En la página Crear rol, elija el servicio AWS y, a continuación, Glue. Elija Siguiente.

  4. En la página Añadir permisos, busque la política administrada AWSGlueServiceRole y marque la casilla junto al nombre de la política en la lista. A continuación, complete el asistente de creación de roles, asignando al rol el nombre LFWorkflowRole. Para terminar, seleccione Crear rol.

  5. De regreso en la página Roles, busque LFflowRole y elija el nombre del rol.

  6. En la página Resumen del rol, en la pestaña Permisos, elija Crear política insertada. En la pantalla Crear política, vaya a la pestaña JSON y añada la siguiente política insertada. Un posible nombre para la política es LakeFormationWorkflow.

    importante

    En la siguiente política, sustituya <account-id> por un número de Cuenta de AWS válido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }

    A continuación se describen brevemente los permisos de esta política:

    • lakeformation:GetDataAccess permite que los trabajos creados por el flujo de trabajo escriban en la ubicación de destino.

    • lakeformation:GrantPermissions permite que el flujo de trabajo conceda el permiso de SELECT sobre las tablas de destino.

    • iam:PassRole permite al servicio asumir el rol de LakeFormationWorkflowRole para crear rastreadores y trabajos (instancias de flujos de trabajo) y asociar el rol a los rastreadores y trabajos creados.

  7. Compruebe que el rol LakeFormationWorkflowRole tenga dos políticas asociadas.

  8. Si va a ingerir datos de fuera de la ubicación del lago de datos, añada una política insertada que conceda permisos para leer los datos de origen.