Configuración de permisos para formatos de almacenamiento de tablas abiertas en 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.

Configuración de permisos para formatos de almacenamiento de tablas abiertas en Lake Formation

AWS Lake Formation permite gestionar los permisos de acceso para los formatos Open Table (OTFs), como Apache Iceberg, Apache Hudi y Delta Lake, una fundación para Linux. En este tutorial, aprenderá a crear Iceberg, Hudi y Delta Lake con tablas de manifiestos de enlaces simbólicos durante el AWS Glue Data Catalog uso AWS Glue, a configurar permisos detallados con Lake Formation y a consultar datos con Amazon Athena.

nota

AWS los servicios de análisis no admiten todos los formatos de tablas transaccionales. Para obtener más información, consulte Trabajar con otros AWS servicios. Este tutorial describe manualmente la creación de una nueva base de datos y una tabla en el catálogo de datos utilizando únicamente AWS Glue trabajos.

Este tutorial incluye una AWS CloudFormation plantilla para una configuración rápida. Puede revisarla y personalizarla para adaptarla a sus necesidades.

Destinatarios previstos

Este tutorial está dirigido a IAM administradores, administradores de lagos de datos y analistas de negocios. En la tabla siguiente se enumeran los roles utilizados en este tutorial para crear una tabla gobernada con Lake Formation.

Rol Descripción
IAMAdministrador Un usuario que puede crear IAM usuarios y roles y buckets de Amazon S3. Tiene la política AdministratorAccess AWS administrada.
Administrador de lago 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 suficientes para administrar el lago de datos.
Analista de negocios Usuario que puede ejecutar consultas en el lago de datos. Tiene permisos para ejecutar consultas.

Requisitos previos

Antes de empezar este tutorial, debe disponer de una en la Cuenta de AWS que pueda iniciar sesión como usuario con los permisos correctos. Para obtener más información, consulte Inscríbase en una Cuenta de AWS y Creación de un usuario con acceso administrativo.

En el tutorial se presupone que está familiarizado con las IAM funciones y las políticas. Para obtener información al respectoIAM, consulte la Guía IAM del usuario.

Debe configurar los siguientes AWS recursos para completar este tutorial:

  • Administrador de lago de datos

  • Configuración del lago de datos de Lake Formation

  • Motor Amazon Athena, versión 3

Para crear un administrador de lago de datos
  1. Inicie sesión en la consola de Lake Formation https://console.aws.amazon.com/lakeformation/como usuario administrador. Creará recursos en la región EE.UU. Este (Norte de Virginia) para este tutorial.

  2. Desde la consola de Lake Formation, en Permisos del panel de navegación, seleccione Roles y tareas administrativas.

  3. Seleccione Elegir administradores en Administradores del lago de datos.

  4. En la ventana emergente, en Administrar administradores de lagos de datos, en IAMUsuarios y roles, elija usuario IAM administrador.

  5. Seleccione Guardar.

Para habilitar la configuración del lago de datos
  1. Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/. En el panel de navegación, en Catálogo de datos, seleccione Configuración. Desmarque lo siguiente:

    • Utilice únicamente el control de IAM acceso para las bases de datos nuevas.

    • Utilice únicamente el control de IAM acceso para las tablas nuevas de las bases de datos nuevas.

  2. En Configuración de la versión entre cuentas, seleccione Versión 3 como versión entre cuentas.

  3. Seleccione Guardar.

Para actualizar el motor Amazon Athena a la versión 3
  1. Abra la consola Athena en. https://console.aws.amazon.com/athena/

  2. Seleccione el grupo de trabajo y elija el principal.

  3. Asegúrese de que el grupo de trabajo tenga una versión mínima de 3. Si no es así, edite el grupo de trabajo, elija Manual en Actualizar el motor de consultas y seleccione la versión 3.

  4. Seleccione Guardar cambios.

Paso 1: Aprovisionar recursos

En esta sección se muestra cómo configurar los AWS recursos mediante una AWS CloudFormation plantilla.

Para crear sus recursos mediante AWS CloudFormation una plantilla
  1. Inicie sesión en la AWS CloudFormation consola en https://console.aws.amazon.com/cloudformation como IAM administrador de la región EE.UU. Este (Virginia del Norte).

  2. Seleccione Lanzar pila.

  3. Seleccione Siguiente en la pantalla Crear pila.

  4. Introduzca un Nombre de pila.

  5. Elija Next (Siguiente).

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

  7. Revisa los detalles en la última página y selecciona Reconozco que AWS CloudFormation podría crear IAM recursos.

  8. Seleccione Crear.

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

El lanzamiento de la pila de formación de nube crea los recursos siguientes:

  • lf-otf-datalake-123456789012 — Depósito de Amazon S3 para almacenar datos

    nota

    El identificador de cuenta adjunto al nombre del bucket de Amazon S3 se sustituye por el identificador de su cuenta.

  • lf-otf-tutorial-123456789012 — Depósito de Amazon S3 para almacenar los resultados de las consultas y los scripts de trabajo AWS Glue

  • AWS Glue lficebergdb: base de datos Iceberg

  • lfhudidb — Base de datos AWS Glue Hudi

  • lfdeltadb — Base de datos Delta AWS Glue

  • native-iceberg-create — AWS Glue trabajo que crea una tabla de iceberg en el catálogo de datos

  • native-hudi-create — AWS Glue trabajo que crea una tabla Hudi en el catálogo de datos

  • native-delta-create — AWS Glue trabajo que crea una tabla Delta en el catálogo de datos

  • LF- OTF - GlueServiceRole — IAM rol al que se transfiere AWS Glue para ejecutar los trabajos. Este rol incluye las políticas necesarias para acceder a los recursos, como el Catálogo de datos, el bucket de Amazon S3, etc.

  • IAMFunción LF- OTF - RegisterRole — para registrar la ubicación de Amazon S3 en Lake Formation. Este rol lleva LF-Data-Lake-Storage-Policy asociada.

  • lf-consumer-analystuser — IAM el usuario consulta los datos utilizando Athena

  • lf-consumer-analystuser-credentials — Contraseña del usuario analista de datos almacenada en AWS Secrets Manager

Una vez finalizada la creación de la pila, vaya a la pestaña de resultados y anote los valores de:

  • AthenaQueryResultLocation — Ubicación de Amazon S3 para el resultado de la consulta de Athena

  • BusinessAnalystUserCredentials — Contraseña para el usuario analista de datos

    Para recuperar el valor de la contraseña:

    1. Elija el valor de lf-consumer-analystuser-credentials accediendo a la consola de Secrets Manager.

    2. En la sección Valor secreto, seleccione Recuperar valor secreto.

    3. Anote el valor secreto de la contraseña.

Paso 2: Configurar los permisos para una tabla de Iceberg

En esta sección, aprenderá a crear una tabla de iceberg en AWS Glue Data Catalog, configurar permisos de datos y consultar datos con Amazon Athena. AWS Lake Formation

Creación de una tabla de Iceberg

En este paso, ejecutará un AWS Glue trabajo que creará una tabla de transacciones de Iceberg en el catálogo de datos.

  1. Abra el icono AWS Glue la consola se https://console.aws.amazon.com/glue/encuentra en la región EE.UU. Este (Norte de Virginia) como usuario administrador del lago de datos.

  2. En el panel de navegación izquierdo, seleccione trabajos.

  3. Seleccione native-iceberg-create.

    La imagen es una captura de pantalla de la página de AWS Glue trabajo de la consola.
  4. En Acciones, seleccione Editar trabajo.

  5. En Detalles del trabajo, expanda Propiedades avanzadas y active la casilla situada junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en. AWS Glue Data Catalog Esto especifica AWS Glue Data Catalog el metaalmacén de los recursos del catálogo de datos utilizados en el trabajo y permite que los permisos de Lake Formation se apliquen más adelante a los recursos del catálogo.

  6. Seleccione Guardar.

  7. Elija Ejecutar. Puede ver el estado del trabajo mientras se ejecuta.

    Para obtener más información sobre los AWS Glue trabajos, consulte Trabajar con trabajos en la AWS Glue consola en la Guía para AWS Glue desarrolladores.

    Este trabajo crea una tabla de Iceberg de nombre product en la base de datos lficebergdb. Verifique la tabla de productos en la consola de Lake Formation.

Para registrar la ubicación de los datos con Lake Formation

A continuación, registre una ruta de Amazon S3 como ubicación de su lago de datos.

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

  2. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.

  3. En la parte superior derecha de la consola, seleccione Registrar ubicación.

  4. En la página Registrar ubicación, introduzca:

    • Ruta de Amazon S3: seleccione Examinar y elija lf-otf-datalake-123456789012. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicación s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-iceberg.

    • IAMrol: elija LF-OTF-RegisterRole como IAM rol.

    • Seleccione Registrar ubicación.

    La imagen es una captura de pantalla de la página Registrar ubicación de Lake Formation en la consola.

    Para obtener más información sobre el registro de una ubicación de datos en Lake Formation, consulte Añadir una ubicación de Amazon S3 a su lago de datos.

Para conceder permisos a Lake Formation en la tabla de Iceberg

En este paso, concederemos permisos de lago de datos al usuario analista de negocios.

  1. En Permisos del lago de datos, seleccione Conceder.

  2. En la pantalla Otorgar permisos de datos, elija IAMusuarios y roles.

  3. Seleccione lf-consumer-analystuser en la lista desplegable.

    La imagen es una captura de pantalla de la página de permisos de Lake Formation en la consola.
  4. Seleccione un recurso de Catálogo de datos con nombre.

  5. En Bases de datos, seleccione lficebergdb.

  6. En Tablas, seleccione product.

    La imagen es una captura de pantalla de la página de permisos de Lake Formation en la consola.
  7. A continuación, puede conceder el acceso basado en columnas especificando las columnas.

    1. En Permisos de tabla, marque Seleccionar.

    2. En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.

    3. Seleccione las columnas product_name, price y category.

    4. Elija Conceder.

      La imagen es una captura de pantalla de la página de permisos de Lake Formation en la consola.
Para consultar la tabla de Iceberg con Athena

Ahora puede empezar a consultar la tabla de Iceberg que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación de resultados de consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.

  1. Cierre sesión como usuario administrador del lago de datos e inicie sesión como lf-consumer-analystuser en la región EE.UU. Este (Virginia del Norte) con la contraseña indicada anteriormente en el AWS CloudFormation resultado.

  2. Abra la consola Athena en https://console.aws.amazon.com/athena/.

  3. Elija Configuración y seleccione Administrar.

  4. En el cuadro Ubicación del resultado de la consulta, introduzca la ruta al depósito que creó en AWS CloudFormation los resultados. Copie el valor de AthenaQueryResultLocation (s3://lf-otf-tutorial-123456789012/athena-results/) y seleccione Guardar.

  5. Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Iceberg:

    select * from lficebergdb.product limit 10;

    Para obtener más información sobre la consulta de tablas de Iceberg con Athena, vaya a Consulta de tablas de Iceberg en la Guía del usuario de Amazon Athena.

Paso 3: Configurar los permisos para una tabla de Hudi

En esta sección, aprenderá a crear una tabla de Hudi en AWS Glue Data Catalog, a configurar los permisos de datos y a consultar datos con Amazon Athena. AWS Lake Formation

Para crear una tabla de Hudi

En este paso, ejecutará un AWS Glue trabajo para crear una tabla transaccional de Hudi en el catálogo de datos.

  1. Inicie sesión en el AWS Glue consola https://console.aws.amazon.com/glue/en la región EE.UU. Este (Norte de Virginia)

    como usuario administrador del lago de datos.

  2. En el panel de navegación izquierdo, seleccione trabajos.

  3. Seleccione native-hudi-create.

  4. En Acciones, seleccione Editar trabajo.

  5. En Detalles del trabajo, expanda Propiedades avanzadas y active la casilla situada junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en. AWS Glue Data Catalog Esto especifica AWS Glue Data Catalog el metaalmacén de los recursos del catálogo de datos utilizados en el trabajo y permite que los permisos de Lake Formation se apliquen más adelante a los recursos del catálogo.

  6. Seleccione Guardar.

  7. Elija Ejecutar. Puede ver el estado del trabajo mientras se ejecuta.

    Para obtener más información sobre los AWS Glue trabajos, consulte Trabajar con trabajos en la AWS Glue consola en la Guía para AWS Glue desarrolladores.

    Este trabajo crea una tabla de Hudi (vaca) en la base de datos: lfhudidb. Verifique la tabla product en la consola de Lake Formation.

Para registrar la ubicación de los datos con Lake Formation

A continuación, registre una ruta de Amazon S3 como ubicación raíz de su lago de datos.

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

  2. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.

  3. En la parte superior derecha de la consola, seleccione Registrar ubicación.

  4. En la página Registrar ubicación, introduzca:

    • Ruta de Amazon S3: seleccione Examinar y elija lf-otf-datalake-123456789012. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicación s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-hudi.

    • IAMrol: elija LF-OTF-RegisterRole como IAM rol.

    • Seleccione Registrar ubicación.

Para conceder permisos de lago de datos en la tabla de Hudi

En este paso, concederemos permisos de lago de datos al usuario analista de negocios.

  1. En Permisos del lago de datos, seleccione Conceder.

  2. En la pantalla Otorgar permisos de datos, elija IAMusuarios y roles.

  3. lf-consumer-analystuser en el menú desplegable.

  4. Seleccione un recurso de Catálogo de datos con nombre.

  5. En Bases de datos, seleccione lfhudidb.

  6. En Tablas, seleccione product.

  7. A continuación, puede conceder el acceso basado en columnas especificando las columnas.

    1. En Permisos de tabla, marque Seleccionar.

    2. En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.

    3. Seleccione las columnas product_name, price y category.

    4. Elija Conceder.

Para consultar la tabla de Hudi con Athena

Ahora puede empezar a consultar la tabla de Hudi que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación de resultados de consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.

  1. Cierre sesión como usuario administrador del lago de datos e inicie sesión como lf-consumer-analystuser en la región EE.UU. Este (Virginia del Norte) con la contraseña indicada anteriormente en el AWS CloudFormation resultado.

  2. Abra la consola Athena en https://console.aws.amazon.com/athena/.

  3. Elija Configuración y seleccione Administrar.

  4. En el cuadro Ubicación del resultado de la consulta, introduzca la ruta al depósito que creó en AWS CloudFormation los resultados. Copie el valor de AthenaQueryResultLocation (s3://lf-otf-tutorial-123456789012/athena-results/) y guarde.

  5. Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Hudi:

    select * from lfhudidb.product limit 10;

    Para obtener más información sobre la consulta de tablas de Hudi, vaya a Consulta de tablas de Hudi en la Guía del usuario de Amazon Athena.

Paso 4: Configurar los permisos para una tabla de Hudi

En esta sección, aprenderá a crear una tabla de Delta Lake con un archivo de manifiesto de enlaces simbólicos en el AWS Glue Data Catalog, a configurar los permisos de datos AWS Lake Formation y a consultarlos con Amazon Athena.

Para crear una tabla de Delta Lake.

En este paso, ejecutará un AWS Glue trabajo que creará una tabla transaccional de Delta Lake en el catálogo de datos.

  1. Inicie sesión en el AWS Glue consola https://console.aws.amazon.com/glue/en la región EE.UU. Este (Norte de Virginia)

    como usuario administrador del lago de datos.

  2. En el panel de navegación izquierdo, seleccione trabajos.

  3. Seleccione native-delta-create.

  4. En Acciones, seleccione Editar trabajo.

  5. En Detalles del trabajo, expanda Propiedades avanzadas y active la casilla situada junto a Usar AWS Glue Data Catalog como metaalmacén de Hive para añadir los metadatos de la tabla en. AWS Glue Data Catalog Esto especifica AWS Glue Data Catalog el metaalmacén de los recursos del catálogo de datos utilizados en el trabajo y permite que los permisos de Lake Formation se apliquen más adelante a los recursos del catálogo.

  6. Seleccione Guardar.

  7. Seleccione Ejecutar en Acciones.

    Este trabajo crea una tabla de Delta Lake de nombre product en la base de datos lfdeltadb. Verifique la tabla product en la consola de Lake Formation.

Para registrar la ubicación de los datos con Lake Formation

A continuación, 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/el usuario administrador del lago de datos.

  2. En el panel de navegación, en Registrar e ingerir, seleccione Ubicación de los datos.

  3. En la parte superior derecha de la consola, seleccione Registrar ubicación.

  4. En la página Registrar ubicación, introduzca:

    • Ruta de Amazon S3: seleccione Examinar y elija lf-otf-datalake-123456789012. Haga clic en la flecha derecha (>) junto a la ubicación raíz de Amazon S3 para ir a la ubicación s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-delta.

    • IAMrol: elija LF-OTF-RegisterRole como IAM rol.

    • Seleccione Registrar ubicación.

Para conceder permisos de lago de datos en la tabla de Delta Lake

En este paso, concederemos permisos de lago de datos al usuario analista de negocios.

  1. En Permisos del lago de datos, seleccione Conceder.

  2. En la pantalla Otorgar permisos de datos, elija IAMusuarios y roles.

  3. lf-consumer-analystuser en el menú desplegable.

  4. Seleccione un recurso de Catálogo de datos con nombre.

  5. En Bases de datos, seleccione lfdeltadb.

  6. En Tablas, seleccione product.

  7. A continuación, puede conceder el acceso basado en columnas especificando las columnas.

    1. En Permisos de tabla, marque Seleccionar.

    2. En Permisos de datos, seleccione Acceso basado en columnas e Incluir columnas.

    3. Seleccione las columnas product_name, price y category.

    4. Elija Conceder.

Para consultar la tabla de Delta Lake con Athena

Ahora puede empezar a consultar la tabla de Delta Lake que creó con Athena. Si es la primera vez que ejecuta consultas en Athena, debe configurar una ubicación de resultados de consulta. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta.

  1. Cierre sesión como usuario administrador del lago de datos e inicie sesión como BusinessAnalystUser en la región EE.UU. Este (Virginia del Norte) con la contraseña indicada anteriormente en el AWS CloudFormation resultado.

  2. Abra la consola Athena en https://console.aws.amazon.com/athena/.

  3. Elija Configuración y seleccione Administrar.

  4. En el cuadro Ubicación del resultado de la consulta, introduzca la ruta al depósito que creó en AWS CloudFormation los resultados. Copie el valor de AthenaQueryResultLocation (s3://lf-otf-tutorial-123456789012/athena-results/) y guarde.

  5. Ejecute la consulta siguiente para obtener una vista previa de los 10 registros almacenados en la tabla de Delta Lake:

    select * from lfdeltadb.product limit 10;

    Para obtener más información sobre la consulta de tablas de Delta Lake, vaya a Consulta de tablas de Delta Lake en la Guía del usuario de Amazon Athena.

Paso AWS 5: Limpiar los recursos

Para limpiar los recursos

Para evitar que se le cobren cargos no deseados Cuenta de AWS, elimine los AWS recursos que utilizó para este tutorial.

  1. Inicia sesión en la AWS CloudFormation consola en https://console.aws.amazon.com/cloudformation como administrador. IAM

  2. Elimine la pila de formación de nube. Las tablas que ha creado se eliminan automáticamente con la pila.