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

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

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
IAMAdministrador Tiene la política AWS gestionada:AdministratorAccess. Puede crear IAM roles 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 IAM permisos que el IAM administrador, pero los 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 Función con las IAM políticas necesarias para ejecutar un flujo de trabajo. Para obtener más información, consulte (Opcional) Cree un IAM rol para los flujos de trabajo.

Requisitos previos

Antes de empezar

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

  • Conozca la ubicación de sus CloudTrail registros.

  • 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 supone que está familiarizado con AWS Identity and Access Management (IAM). Para obtener información al respectoIAM, consulte la Guía del IAM usuario.

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 AdministratorAccess AWS gestionada.

  2. Cree una tabla con nombre datalake_user con la configuración siguiente:

    • Habilite AWS Management Console el acceso.

    • Defina una contraseña y no solicite restablecerla.

    • Adjunte la política AmazonAthenaFullAccess AWS gestionada.

    • 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 AWS CloudTrail registros a la función de flujo de trabajo

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

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

    importante

    Reemplazar <your-s3-cloudtrail-bucket> con la ubicación de sus CloudTrail datos en Amazon S3.

    { "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 Amazon S3 en https://console.aws.amazon.com/s3/e inicie sesión como el usuario administrador que creóCreación de un usuario con acceso administrativo.

  2. Elija Crear depósito y siga el asistente para crear un depósito con el nombre<yourName>-datalake-cloudtrail, donde <yourName> es tu 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 <yourName>-datalake-cloudtrail depósito que creó anteriormente, acepte el IAM rol predeterminado yAWSServiceRoleForLakeFormationDataAccess, 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 IAM rol 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. Para el IAMusuario y los roles, elijaLakeFormationWorkflowRole.

    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 Principios, para IAMusuarios y roles, elijaLakeFormationWorkflowRole.

    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 CloudTrail registros, entender su estructura y crear las tablas adecuadas en el catálogo de datos, necesitamos configurar un flujo de trabajo que consista en un AWS Glue rastreadores, 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, selecciona una CloudTrail fuente 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
    IAMrol 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 reemplazado <account-id> en la política en línea para el usuario administrador del lago de datos con un número de AWS cuenta válido.

Paso 9: Ejecutar el flujo de trabajo

Como especificó que el flujo de trabajo es run-on-demand, 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 va de RUNNING, a Descubriendo, a Importando, a COMPLETED.

    Cuando se complete el flujo de trabajo:

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

    • Sus CloudTrail registros 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 el AWS Glue console.

    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: La subvención SELECT está sobre la mesa

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 Principios, para IAMusuarios y roles, elijadatalake_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 Amazon Athena consola para consultar los CloudTrail datos de 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. Para 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.