Protección de los lagos de datos con control de acceso a nivel de fila - 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.

Protección de los lagos de datos con control de acceso a nivel de fila

AWS Lake Formation Los permisos a nivel de fila le permiten proporcionar acceso a filas específicas de una tabla en función de las políticas de control y cumplimiento de los datos. Si tiene tablas grandes que almacenan miles de millones de registros, necesita una forma de permitir que los diferentes usuarios y equipos accedan solo a los datos que pueden ver. El control de acceso a nivel de fila es una forma sencilla y eficaz de proteger los datos, a la vez que permite a los usuarios acceder a los datos que necesitan para desarrollar su trabajo. Lake Formation proporciona informes centralizados de auditoría y cumplimiento al identificar qué entidades principales accedieron a qué datos, cuándo lo hicieron y a través de qué servicios.

En este tutorial aprenderá cómo funcionan los controles de acceso a nivel de fila en Lake Formation y cómo configurarlos.

Este tutorial incluye una AWS CloudFormation plantilla para configurar rápidamente los recursos necesarios. Puede revisarla y personalizarla para adaptarla a sus necesidades.

Destinatarios previstos

Este tutorial está dirigido a administradores de datos, ingenieros de datos y analistas de datos. En la siguiente tabla se enumeran los roles y responsabilidades de un propietario y un consumidor de datos.

Rol Descripción
IAMAdministrador Usuario que puede crear usuarios, roles y buckets de Amazon Simple Storage Service (Amazon S3). Tiene la política AdministratorAccess AWS gestionada.
Administrador de lagos de datos Usuario responsable de configurar el lago de datos, crear filtros de datos y conceder permisos a los analistas de datos.
Analista de datos Usuario que puede ejecutar consultas en el lago de datos. Los analistas de datos que residen en diferentes países (en nuestro caso, EE. UU. y Japón) solo pueden analizar las reseñas de productos de clientes ubicados en su propio país y, por motivos de cumplimiento, no deberían poder ver los datos de clientes ubicados en otros países.

Requisitos previos

Antes de empezar este tutorial, debe disponer de una Cuenta de AWS que pueda utilizar para iniciar sesión como usuario administrativo con los permisos correctos. Para obtener más información, consulte Complete las tareas AWS de configuración iniciales.

En el tutorial se da por sentado que ya está familiarizadoIAM. Para obtener información al respectoIAM, consulte la Guía IAM del usuario.

Cambiar la configuración de Lake Formation
importante

Antes de lanzar la AWS CloudFormation plantilla, desactive la opción Usar solo el control de IAM acceso para las nuevas bases de datos/tablas en Lake Formation siguiendo los pasos que se indican a continuación:

  1. Inicie sesión en la consola de Lake Formation https://console.aws.amazon.com/lakeformation/en la región EE.UU. Este (Norte de Virginia) o en la región EE.UU. Oeste (Oregón).

  2. En Catálogo de datos, seleccione Configuración.

  3. Deseleccione Usar solo el control de IAM acceso para las bases de datos nuevas y Usar solo el control de IAM acceso para las tablas nuevas de las bases de datos nuevas.

  4. Seleccione Guardar.

Paso 1: Aprovisionar recursos

Este tutorial incluye una AWS CloudFormation plantilla para una configuración rápida. Puede revisarla y personalizarla para adaptarla a sus necesidades. La AWS CloudFormation plantilla genera los siguientes recursos:

  • Usuarios y políticas para:

    • DataLakeAdmin

    • DataAnalystNOSOTROS

    • DataAnalystJP

  • Configuración y permisos del lago de datos de Lake Formation

  • Una función de Lambda (para recursos AWS CloudFormation personalizados respaldados por Lambda) que se utiliza para copiar archivos de datos de muestra del bucket público de Amazon S3 al bucket de Amazon S3

  • Un bucket de Amazon S3 que sirva como nuestro lago de datos

  • Una AWS Glue Data Catalog base de datos, una tabla y una partición

Crear recursos

Siga estos pasos para crear sus recursos con la AWS CloudFormation plantilla.

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

  2. Elija Lanzar pila.

  3. Seleccione Siguiente en la pantalla Crear pila.

  4. Introduzca un Nombre de pila.

  5. Para DatalakeAdminUserNamey DatalakeAdminUserPassword, introduzca su nombre IAM de usuario y contraseña como usuario administrador de Data Lake.

  6. Para DataAnalystUsUserNamey DataAnalystUsUserPassword, introduzca el nombre de usuario y la contraseña del nombre de usuario y la contraseña que desee para el usuario analista de datos responsable del mercado estadounidense.

  7. Para DataAnalystJpUserNamey DataAnalystJpUserPassword, introduzca el nombre de usuario y la contraseña del nombre de usuario y la contraseña que desee para el usuario analista de datos responsable del mercado japonés.

  8. Para DataLakeBucketName, introduzca el nombre de su depósito de datos.

  9. Para DatabaseNamey TableNamedéjelo como predeterminado.

  10. Elija Siguiente.

  11. En la siguiente página, elija Siguiente.

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

  13. Seleccione Crear.

    La creación de la pila puede tardar un minuto en completarse.

Paso 2: Consultar sin filtros de datos

Una vez configurado el entorno, puede consultar la tabla de reseñas de productos. Primero consulte la tabla sin controles de acceso a nivel de fila para asegurarse de que puede ver los datos. Si es la primera vez que ejecuta consultas en Amazon Athena, debe configurar la ubicación de los resultados de la consulta.

Consulte la tabla sin control de acceso a nivel de fila
  1. Inicie sesión en la Athena consola https://console.aws.amazon.com/athena/como DatalakeAdmin usuario y ejecute la siguiente consulta:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La captura de pantalla siguiente muestra el resultado de la consulta. Esta tabla solo tiene una partición, product_category=Video, por lo que cada registro es un comentario de revisión de un producto de vídeo.

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. A continuación, ejecute una consulta de agregación para recuperar el número total de registros por cada marketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    La captura de pantalla siguiente muestra el resultado de la consulta. La columna marketplace tiene cinco valores diferentes. En los pasos siguientes, configurará los filtros basados en filas utilizando la columna marketplace.

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

Paso 3: Configurar los filtros de datos y conceder permisos

En este tutorial se utilizan dos analistas de datos, uno responsable del mercado estadounidense y otro del mercado japonés. Cada analista utiliza Athena para analizar las opiniones de los clientes únicamente para su mercado específico. Cree dos filtros de datos diferentes, uno para el analista responsable del mercado estadounidense y otro para el responsable del mercado japonés. A continuación, conceda a los analistas sus correspondiente permisos.

Cree filtros de datos y conceda permisos
  1. Cree un filtro para restringir el acceso a los datos del marketplace US.

    1. Inicie sesión en la consola de Lake Formation https://console.aws.amazon.com/lakeformation/en la región EE.UU. Este (Norte de Virginia) como DatalakeAdmin usuario.

    2. Elija Filtros de datos.

    3. Elija Crear filtro.

    4. En Nombre del filtro de datos, introduzca amazon_reviews_US.

    5. En Base de datos de destino elija la base de datos lakeformation_tutorial_row_security.

    6. En Tabla de objetivos, elija la tabla amazon_reviews.

    7. En Acceso a nivel de columna, deje el valor predeterminado.

    8. En Expresión de filtro de filas, introduzca marketplace='US'.

    9. Elija Crear filtro.

  2. Cree un filtro para restringir el acceso a los datos del marketplace japonés.

    1. En la página Filtros de datos, seleccione Crear filtro nuevo.

    2. En Nombre del filtro de datos, introduzca amazon_reviews_JP.

    3. En Base de datos de destino elija la base de datos lakeformation_tutorial_row_security.

    4. En Tabla de destino, elija la tabla table amazon_reviews.

    5. En Acceso a nivel de columna, deje el valor predeterminado.

    6. En Expresión de filtro de filas, introduzca marketplace='JP'.

    7. Elija Crear filtro.

  3. A continuación, conceda permisos a los analistas de datos que utilizan estos filtros de datos. Siga estos pasos para conceder permisos al analista de datos estadounidense (DataAnalystUS):

    1. En Permisos, elija Permisos de lago de datos.

    2. En Permiso de datos, seleccione Conceder.

    3. En el caso de los directores, elija IAMlos usuarios y los roles, y seleccione el rolDataAnalystUS.

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

    5. En Database (Base de datos), elija lakeformation_tutorial_row_security.

    6. Para Tablas (opcional), elija amazon_reviews.

    7. Para Filtros de datos: opcional, seleccione amazon_reviews_US.

    8. Para Permisos de filtro de datos, elija Seleccionar.

    9. Elija Conceder.

  4. Siga estos pasos para conceder permisos al analista de datos japonés (DataAnalystJP):

    1. En Permisos, elija Permisos de lago de datos.

    2. En Permiso de datos, seleccione Conceder.

    3. En el caso de los directores, elija IAMlos usuarios y los roles y, a continuación, seleccione el rol. DataAnalystJP

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

    5. En Database (Base de datos), elija lakeformation_tutorial_row_security.

    6. Para Tablas (opcional), elija amazon_reviews.

    7. Para Filtros de datos: opcional, seleccione amazon_reviews_JP.

    8. Para Permisos de filtro de datos, elija Seleccionar.

    9. Elija Conceder.

Paso 4: Consultar con filtros de datos

Con los filtros de datos adjuntos a la tabla de reseñas de productos, ejecute algunas consultas y compruebe cómo Lake Formation aplica los permisos.

  1. Inicie sesión en la consola de Athena https://console.aws.amazon.com/athena/como usuario. DataAnalystUS

  2. Ejecute la siguiente consulta para recuperar algunos registros, que se filtran en función de los permisos de nivel de fila que definimos:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La captura de pantalla siguiente muestra el resultado de la consulta.

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. Del mismo modo, ejecute una consulta para contar el número total de registros por mercado.

    SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace

    El resultado de la consulta solo muestra el US marketplace en los resultados. Esto se debe a que el usuario solo puede ver las filas en las que el valor de la columna marketplace sea igual a US.

  4. Cambie al usuario DataAnalystJP y ejecute la misma consulta.

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    El resultado de la consulta solo muestra el marketplace JP en los resultados.

  5. Ejecute la consulta para contar el número total de registros por marketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    El resultado de la consulta solo muestra la fila que pertenece al marketplace JP en los resultados.

Paso 5: Limpiar AWS los recursos

Eliminar recursos

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