Creación de un lago de datos a partir de una fuente de AWS CloudTrail - 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.

Creación de un lago de datos a partir de una fuente de AWS CloudTrail

Este tutorial le guía a través de las acciones que debe llevar a cabo en la consola de Lake Formation para crear y cargar su primer lago de datos desde una fuente AWS CloudTrail.

Pasos generales para crear un lago de datos
  1. Registre una ruta de Amazon Simple Storage Service (Amazon S3) como lago de datos.

  2. Conceda a Lake Formation permisos para escribir en el Catálogo de datos y en las ubicaciones de Amazon S3 del lago de datos.

  3. Cree una base de datos para organizar las tablas de metadatos en el Catálogo de datos.

  4. Utilice un esquema para crear un flujo de trabajo. Ejecute el flujo de trabajo para incorporar datos de un origen de datos.

  5. Configure sus permisos de Lake Formation para permitir que otros administren los datos del Catálogo de datos y del lago de datos.

  6. Configure Amazon Athena para consultar los datos que haya importado en su lago de datos de Amazon S3.

  7. Para algunos tipos de almacenes de datos, configure Amazon Redshift Spectrum para consultar los datos que importó a su lago de datos de Amazon S3.

Destinatarios previstos

En la siguiente tabla se enumeran los roles utilizadas en este tutorial para crear un lago de datos.

Destinatarios previstos
Rol Descripción
Administrador de IAM Tiene la política administrada de AWS: AdministratorAccess Puede crear roles de IAM y buckets de Amazon S3.
Administrador de lagos de datos Usuario que puede acceder al Catálogo de datos, crear bases de datos y conceder permisos de Lake Formation a otros usuarios. Tiene menos permisos de IAM que el administrador de IAM, pero suficientes para administrar el lago de datos.
Analista de datos Usuario que puede ejecutar consultas en el lago de datos. Solo tiene permisos suficientes para ejecutar consultas.
Rol de flujo de trabajo Rol con las políticas de IAM necesarias para ejecutar un flujo de trabajo. Para obtener más información, consulte (Opcional) Crear un rol de IAM para flujos de trabajo.

Requisitos previos

Antes de empezar

  • Asegúrese de haber completado las tareas de Configure AWS Lake Formation.

  • Conozca la ubicación de sus registros de CloudTrail.

  • Athena requiere que el analista de datos cree un bucket de Amazon S3 para almacenar los resultados de las consultas antes de usar Athena.

Se asume que conoce AWS Identity and Access Management (IAM). Para obtener más información acerca de IAM, consulte la Guía del usuario de IAM.

Paso 1: Crear un usuario de análisis de datos

Este usuario tiene el conjunto mínimo de permisos para consultar el lago de datos.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam. 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. Cree una tabla con nombre datalake_user con la configuración siguiente:

    • Habilite el acceso a AWS Management Console.

    • Defina una contraseña y no solicite restablecerla.

    • Vincule la política administrada AmazonAthenaFullAccess de AWS.

    • Vincule la siguiente política insertada. Llame a la política DatalakeUserBasic.

      { "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": "*" } ] }

Paso 2: Añadir permisos para leer los registros AWS CloudTrail al rol de flujo de trabajo

  1. Asocie la siguiente política insertada al rol LakeFormationWorkflowRole. La política concede permiso para leer sus registros de AWS CloudTrail. Llame a la política DatalakeGetCloudTrail.

    Para crear la función de LakeFormationWorkflowRole, consulte (Opcional) Crear un rol de IAM para flujos de trabajo.

    importante

    Sustituya <your-s3-cloudtrail-bucket> por la ubicación de Amazon S3 de sus datos de CloudTrail.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }
  2. Compruebe que haya tres políticas adjuntadas al rol.

Paso 3: Crear un bucket de Amazon S3 para el lago de datos

Cree el bucket de Amazon S3 que será la ubicación raíz de su lago de datos.

  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/ e inicie sesión como el usuario administrador que creó en Creación de un usuario con acceso administrativo.

  2. Elija Crear bucket y siga el asistente para crear un bucket llamado <yourName>-datalake-cloudtrail, donde <yourName> es su inicial y apellido. Por ejemplo: jdoe-datalake-cloudtrail.

    Para obtener instrucciones detalladas sobre la creación de un bucket de Amazon S3, consulte Crear un bucket.

Paso 4: Registrar una ruta de Amazon S3

Registre una ruta de Amazon S3 como ubicación raíz de su lago de datos.

  1. Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/. Inicie sesión como administrador del lago de datos.

  2. En el panel de navegación, en Registrar e ingerir, elija las Ubicaciones de los lagos de datos.

  3. Seleccione Registrar ubicación y, a continuación, Examinar.

  4. Seleccione el bucket <yourName>-datalake-cloudtrail que creó anteriormente, acepte el rol de IAM AWSServiceRoleForLakeFormationDataAccess predeterminado y, a continuación, elija Registrar ubicación.

    Para obtener más información sobre cómo registrar ubicaciones, consulte Añadir una ubicación de Amazon S3 a su lago de datos.

Paso 5: Conceder permisos de ubicación de datos

Las entidades principales deben tener permisos de ubicación de datos en una ubicación de lago de datos para crear tablas o bases de datos del Catálogo de datos que apunten a esa ubicación. Debe conceder permisos de ubicación de datos al rol de IAM para los flujos de trabajo, de modo que el flujo de trabajo pueda escribir en el destino de la ingesta de datos.

  1. En el panel de navegación, bajo Permisos, seleccione Ubicaciones de datos.

  2. Elija Conceder y, en el cuadro de diálogo Conceder permisos, seleccione lo siguiente:

    1. En Usuario de IAM y roles, elija LakeFormationWorkflowRole.

    2. En Ubicaciones de almacenamiento, elija su bucket de <yourName>-datalake-cloudtrail.

  3. Elija Conceder.

Para obtener más información sobre permisos de ubicación de datos, consulte Underlying data access control.

Paso 6: Crear una base de datos en Data Catalog

Las tablas de metadatos del Catálogo de datos de Lake Formation se almacenan en una base de datos.

  1. En el panel de navegación, Catálogo de datos, elija Tablas.

  2. Seleccione Crear base de datos y, en Detalles de la base de datos, introduzca el nombre lakeformation_cloudtrail.

  3. Deje los demás campos en blanco y elija Crear base de datos.

Paso 7: Conceder permisos de datos

Debe conceder permisos para crear tablas de metadatos en el Catálogo de datos. Como el flujo de trabajo se ejecutará con el rol LakeFormationWorkflowRole, debe conceder estos permisos al rol.

  1. En la consola de Lake Formation, en el panel de navegación, en Catálogo de datos, seleccione Bases de datos.

  2. Elija la base de datos lakeformation_cloudtrail y, a continuación, en la lista desplegable Acciones, seleccione Conceder bajo el encabezado Permisos.

  3. En el cuadro de diálogo Conceder permisos de datos, seleccione lo siguiente:

    1. En Entidades principales, Usuario de IAM y roles, elija LakeFormationWorkflowRole.

    2. En Etiquetas LF o recursos del catálogo, elija Recursos de Catálogo de datos con nombre.

    3. En Bases de datos, debería ver que la base de datos lakeformation_cloudtrail ya está agregada.

    4. En Permisos de base de datos, seleccione Crear tabla, Modificar y Borrar, y desactive Super si está seleccionada.

    El cuadro de diálogo Conceder permisos de datos ahora tendrá el aspecto que se muestra en esta captura de pantalla.

    El cuadro de diálogo Conceder permisos de datos muestra las selecciones descritas en el texto. El cuadro de diálogo está dividido en 3 secciones, en vertical: Entidades principales, Etiquetas LF o recursos del catálogo y Permisos de bases de datos.
  4. Elija Conceder.

Para obtener más información sobre permisos de Lake Formation, consulte Administrar los permisos de Lake Formation.

Paso 8: Utilizar un esquema para crear un flujo de trabajo.

Para leer los registros de CloudTrail, entender su estructura y crear las tablas adecuadas en el Catálogo de datos, necesitamos configurar un flujo de trabajo que consista en rastreadores de AWS Glue, tareas, activadores y flujos de trabajo. Los esquemas de Lake Formation simplifican este proceso.

El flujo de trabajo genera las tareas, los rastreadores y los activadores que descubren e ingieren datos en su lago de datos. Cree un flujo de trabajo basado en uno de los esquemas predefinidos de Lake Formation.

  1. En la consola de Lake Formation, en el panel de navegación, elija Esquemas y, a continuación, Usar esquema.

  2. En la página Usar un esquema, en Tipo de esquema, elija AWS CloudTrail.

  3. En Importar fuente, seleccione una fuente de CloudTrail y una fecha de inicio.

  4. En Destino de importación, especifique estos parámetros:

    Bases de datos de destino lakeformation_cloudtrail
    Ubicación de almacenamiento de destino s3://<yourName>-datalake-cloudtrail
    Formato de los datos Parquet
  5. Para ver la frecuencia de la importación, seleccione Ejecutar bajo demanda.

  6. En Opciones de importación, especifique estos parámetros:

    Nombre del flujo de trabajo lakeformationcloudtrailtest
    Rol de IAM LakeFormationWorkflowRole
    Prefijo de tabla cloudtrailtest
    nota

    Debe estar en minúscula.

  7. Seleccione Crear y espere a que la consola informe de que el flujo de trabajo se ha creado correctamente.

    sugerencia

    ¿Ha recibido este mensaje de error?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    Si es así, compruebe que ha sustituido <id de cuenta> en la política integrada para el usuario administrador del lago de datos por un número de cuenta AWS válido.

Paso 9: Ejecutar el flujo de trabajo

Como especificó que el flujo de trabajo se ejecuta bajo demanda, debe iniciarlo manualmente.

  • En la página Esquemas, seleccione el flujo de trabajo lakeformationcloudtrailtest y, en el menú Acciones, elija Iniciar.

    A medida que se ejecuta el flujo de trabajo, puede ver su progreso en la columna Estado de la última ejecución. Pulse el botón de actualización de vez en cuando.

    El estado pasa de EN EJECUCIÓN a Detectando, Importando y FINALIZADO.

    Cuando se complete el flujo de trabajo:

    • El Catálogo de datos tendrá nuevas tablas de metadatos.

    • Los registros de CloudTrail se incorporarán al lago de datos.

    Si se produce un error en el flujo de trabajo, haga lo siguiente:

    1. Seleccione el flujo de trabajo y, en el menú Acciones, elija Ver gráfico.

      El flujo de trabajo se abre en la consola de AWS Glue.

    2. Asegúrese de que se seleccione el flujo de trabajo y elija la pestaña Historial.

    3. En Historial, seleccione la ejecución más reciente y seleccione Ver detalles de la ejecución.

    4. Seleccione un trabajo o un rastreador fallidos en el gráfico dinámico (tiempo de ejecución) y revise el mensaje de error. Los nodos con errores aparecen en rojo o amarillo.

Paso 10: Conceder SELECT en las tablas

Debe conceder el permiso SELECT a las nuevas tablas del Catálogo de datos para que el analista de datos pueda consultar los datos a los que apuntan las tablas.

nota

Un flujo de trabajo concede automáticamente el permiso SELECT sobre las tablas que crea al usuario que lo ejecutó. Dado que el administrador del lago de datos ejecutó este flujo de trabajo, debe conceder SELECT al analista de datos.

  1. En la consola de Lake Formation, en el panel de navegación, en Catálogo de datos, seleccione Bases de datos.

  2. Elija la base de datos lakeformation_cloudtrail y, a continuación, en la lista desplegable Acciones, seleccione Conceder bajo el encabezado Permisos.

  3. En el cuadro de diálogo Conceder permisos de datos, seleccione lo siguiente:

    1. En Entidades principales, Usuario de IAM y roles, elija datalake_user.

    2. En Etiquetas LF o recursos del catálogo, elija Recursos de Catálogo de datos con nombre.

    3. En Bases de datos, la base de datos lakeformation_cloudtrail ya debería estar seleccionada.

    4. Para Tablas, elija cloudtrailtest-cloudtrail.

    5. En Permisos de tabla y columna, elija Seleccionar.

  4. Elija Conceder.

El paso siguiente se efectúa como analista de datos.

Paso 11: Consultar el lago de datos mediante Amazon Athena

Utilice la consola Amazon Athena para consultar los datos de CloudTrail en su lago de datos.

  1. Abra la consola de Athena en https://console.aws.amazon.com/athena/ e inicie sesión como analista de datos, usuario datalake_user.

  2. Si es necesario, elija Comenzar para continuar con el editor de consultas de Athena.

  3. En Origen de datos, elija AWSDataCatalog.

  4. En Database (Base de datos), elija lakeformation_cloudtrail.

    Se rellena la lista de Tablas.

  5. En el menú desplegable (3 puntos en horizontal) situado junto a la tabla cloudtrailtest-cloudtrail, seleccione Vista previa de la tabla y, a continuación, seleccione Ejecutar.

    La consulta se ejecuta y muestra 10 filas de datos.

    Si no ha utilizado Athena antes, primero debe configurar una ubicación de Amazon S3 en la consola de Athena para almacenar los resultados de las consultas. El datalake_user debe disponer de los permisos necesarios para acceder al bucket de Amazon S3 que elija.

nota

Ahora que ha completado el tutorial, conceda permisos de datos y permisos de ubicación de datos a las entidades principales de su organización.