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.
Temas
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:
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). En Catálogo de datos, seleccione Configuración.
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.
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.
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). Elija Lanzar pila
. Seleccione Siguiente en la pantalla Crear pila.
Introduzca un Nombre de pila.
Para DatalakeAdminUserNamey DatalakeAdminUserPassword, introduzca su nombre IAM de usuario y contraseña como usuario administrador de Data Lake.
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.
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.
Para DataLakeBucketName, introduzca el nombre de su depósito de datos.
Para DatabaseNamey TableNamedéjelo como predeterminado.
Elija Siguiente.
En la siguiente página, elija Siguiente.
Revisa los detalles en la última página y selecciona Sé que AWS CloudFormation podría crear IAM recursos.
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
-
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. -
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 columnamarketplace
.
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
Cree un filtro para restringir el acceso a los datos del
marketplace
US
.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.Elija Filtros de datos.
Elija Crear filtro.
En Nombre del filtro de datos, introduzca
amazon_reviews_US
.En Base de datos de destino elija la base de datos
lakeformation_tutorial_row_security
.En Tabla de objetivos, elija la tabla
amazon_reviews
.En Acceso a nivel de columna, deje el valor predeterminado.
En Expresión de filtro de filas, introduzca
marketplace='US'
.Elija Crear filtro.
-
Cree un filtro para restringir el acceso a los datos del
marketplace
japonés.En la página Filtros de datos, seleccione Crear filtro nuevo.
En Nombre del filtro de datos, introduzca
amazon_reviews_JP
.En Base de datos de destino elija la base de datos
lakeformation_tutorial_row_security
.En Tabla de destino, elija la tabla
table amazon_reviews
.En Acceso a nivel de columna, deje el valor predeterminado.
En Expresión de filtro de filas, introduzca
marketplace='JP'
.Elija Crear filtro.
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
):En Permisos, elija Permisos de lago de datos.
En Permiso de datos, seleccione Conceder.
-
En el caso de los directores, elija IAMlos usuarios y los roles, y seleccione el rol
DataAnalystUS
. En Etiquetas LF o recursos del catálogo, elija Recursos de Catálogo de datos con nombre.
-
En Database (Base de datos), elija
lakeformation_tutorial_row_security
. Para Tablas (opcional), elija
amazon_reviews
.Para Filtros de datos: opcional, seleccione
amazon_reviews_US
.-
Para Permisos de filtro de datos, elija Seleccionar.
Elija Conceder.
Siga estos pasos para conceder permisos al analista de datos japonés (
DataAnalystJP
):En Permisos, elija Permisos de lago de datos.
En Permiso de datos, seleccione Conceder.
-
En el caso de los directores, elija IAMlos usuarios y los roles y, a continuación, seleccione el rol.
DataAnalystJP
En Etiquetas LF o recursos del catálogo, elija Recursos de Catálogo de datos con nombre.
-
En Database (Base de datos), elija
lakeformation_tutorial_row_security
. Para Tablas (opcional), elija
amazon_reviews
.Para Filtros de datos: opcional, seleccione
amazon_reviews_JP
.-
Para Permisos de filtro de datos, elija Seleccionar.
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.
-
Inicie sesión en la consola de Athena https://console.aws.amazon.com/athena/
como usuario. DataAnalystUS
-
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.
-
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 columnamarketplace
sea igual aUS
. -
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. -
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.