Configuración de AWS Lake Formation
Las siguientes secciones proporcionan información sobre cómo configurar Lake Formation por primera vez. No todos los temas de esta sección son necesarios para empezar a utilizar Lake Formation. Puede utilizar las instrucciones para configurar el modelo de permisos de Lake Formation para administrar sus objetos AWS Glue Data Catalog y ubicaciones de datos existentes en Amazon Simple Storage Service (Amazon S3).
Esta sección muestra cómo configurar los recursos de Lake Formation de dos maneras diferentes:
Uso de una plantilla AWS CloudFormation
Uso de la consola de Lake Formation
Para configurar Lake Formation mediante la consola de AWS, vaya a Crear un administrador de lago de datos.
Configurar los recursos de Lake Formation usando una plantilla de AWS CloudFormation
nota
La pila AWS CloudFormation lleva a cabo los pasos 1 a 6 anteriores, a excepción de los pasos 2 y 5. Ejecute Cambio del modelo de permisos predeterminado o uso del modo de acceso híbrido y Integración de IAM Identity Center manualmente desde la consola de Lake Formation.
Inicie sesión en la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
como administrador de IAM en la región Este de EE. UU. (Norte de Virginia). Seleccione Lanzar pila
. Seleccione Siguiente en la pantalla Crear pila.
Introduzca un Nombre de pila.
Para DataLakeAdminName y DataLakeAdminPassword, introduzca su nombre de usuario de IAM y la contraseña del usuario administrador del lago de datos.
Para DataLakeUser1Name y DataLakeUser1Password, introduzca su nombre de usuario y la contraseña de usuario analista del lago de datos.
Para DataLakeBucketName, introduzca el nombre del nuevo bucket que se creará.
Elija Siguiente.
En la página siguiente, seleccione Siguiente.
Revise los detalles en la última página y acepte que AWS CloudFormation pueda crear recursos de IAM.
Seleccione Crear.
La creación de la pila puede llevar hasta dos minutos.
Eliminar recursos
Si quiere limpiar los recursos de la pila de AWS CloudFormation:
Anule el registro del bucket de Amazon S3 creado por su pila, registrado como ubicación del lago de datos.
Elimine la pila de AWS CloudFormation. Esto eliminará todos los recursos creados por la pila.
Crear un administrador de lago de datos
Los administradores del lago de datos son inicialmente los únicos usuarios o roles de AWS Identity and Access Management (IAM) que pueden conceder permisos de Lake Formation sobre ubicaciones de datos y recursos del Catálogo de datos a cualquier entidad principal (incluida la propia). Para obtener más información acerca de las capacidades de administrador de lago de datos, consulte Permisos implícitos de Lake Formation. De forma predeterminada, con Lake Formation puede crear hasta 30 administradores de lago de datos.
Puede crear un administrador de lagos de datos mediante la consola de Lake Formation o la operación PutDataLakeSettings
de la API de Lake Formation.
Para crear un administrador de lago de datos, se requieren los permisos siguientes. El usuario Administrator
tiene estos permisos de forma implícita.
-
lakeformation:PutDataLakeSettings
-
lakeformation:GetDataLakeSettings
Si concede a un usuario la política AWSLakeFormationDataAdmin
, dicho usuario no podrá crear usuarios administradores adicionales de Lake Formation.
Para crear un administrador de lago de datos (consola)
-
Si el usuario que va a ser administrador del lago de datos aún no existe, utilice la consola de IAM para crearlo. De lo contrario, elija un usuario existente para ser administrador del lago de datos.
nota
Le recomendamos que no seleccione un usuario administrativo de IAM (usuario con la política administrada
AdministratorAccess
de AWS) como administrador del lago de datos.Vincule las políticas administradas de AWS siguientes al usuario:
Políticas ¿Obligatoria? Notas AWSLakeFormationDataAdmin
Obligatorio Permisos básicos de administrador del lago de datos. Esta política administrada de AWS contiene una denegación explícita de la operación de la API de Lake Formation, PutDataLakeSetting
que impide a los usuarios crear nuevos administradores del lago de datos.AWSGlueConsoleFullAccess
,CloudWatchLogsReadOnlyAccess
Opcional Vincule estas políticas si el administrador del lago de datos va a solucionar los flujos de trabajo creados a partir de esquemas de Lake Formation. Estas políticas permiten al administrador del lago de datos consultar la información de solución de problemas en la consola de AWS Glue y en la consola de Amazon CloudWatch Logs. Para obtener más información acerca de los flujos de trabajo, consulte Importación de datos mediante flujos de trabajo en Lake Formation. AWSLakeFormationCrossAccountManager
Opcional Vincule esta política para que el administrador del lago de datos pueda conceder y revocar permisos entre cuentas sobre los recursos del Catálogo de datos. Para obtener más información, consulte Compartir datos entre cuentas en Lake Formation. AmazonAthenaFullAccess
Opcional Adjunte esta política si el administrador del lago de datos va a ejecutar consultas en Amazon Athena. -
Adjunte la siguiente política en línea, que otorga al administrador del lago de datos permiso para crear el rol vinculado al servicio de Lake Formation. Un posible nombre para la política es
LakeFormationSLR
.El rol vinculado al servicio permite al administrador del lago de datos registrar más fácilmente las ubicaciones de Amazon S3 con Lake Formation. Para más información sobre el rol vinculado al servicio Lake Formation, consulte Uso de roles vinculados a servicios para Lake Formation.
importante
En toda la política siguiente, sustituya
<account-id>
por un número de cuenta de AWS válido.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::
<account-id>
:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] } -
(Opcional) Vincule la siguiente política
PassRole
insertada al usuario. Esta política permite al administrador del lago de datos crear y ejecutar flujos de trabajo. El permisoiam:PassRole
capacita al flujo de trabajo asumir el rolLakeFormationWorkflowRole
para crear rastreadores y trabajos, y vincular el rol a los rastreadores y trabajos creados. Un posible nombre para la política esUserPassRole
.importante
Sustituya
<account-id>
por un número de cuenta AWS válido.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
<account-id>
:role/LakeFormationWorkflowRole" ] } ] } -
(Opcional) Adjunte esta política adicional insertada si su cuenta va a conceder o recibir permisos entre cuentas de Lake Formation. Esta política permite al administrador del lago de datos ver y aceptar invitaciones para compartir recursos de AWS Resource Access Manager (AWS RAM). Además, para los administradores de lago de datos de la cuenta de administración de AWS Organizations, la política incluye un permiso para permitir las concesiones entre cuentas a las organizaciones. Para obtener más información, consulte Compartir datos entre cuentas en Lake Formation.
Un posible nombre para la política es
RAMAccess
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
-
Abra la consola de AWS Lake Formation en https://console.aws.amazon.com/lakeformation/
e inicie sesión como el usuario administrador que creó en Creación de un usuario con acceso administrativo o como usuario con una política administrada de usuario AdministratorAccess
de AWS. -
Si aparece la ventana de bienvenida a Lake Formation, elija el usuario de IAM que creó o seleccionó en el Paso 1 y, a continuación, elija Comenzar.
-
Si no aparece la ventana de bienvenida a Lake Formation, siga estos pasos para configurar un administrador de Lake Formation.
-
En el panel de navegación, en Administradores, seleccione Roles y tareas administrativas. En la sección de administradores del lago de datos de la página de la consola, seleccione Agregar.
-
En el cuadro de diálogo Agregar administradores, como tipo de acceso seleccione Administrador del lago de datos.
Para los usuarios y roles de IAM, elija el usuario de IAM que creó o seleccionó en el Paso 1 y, a continuación, seleccione Guardar.
-
Cambio del modelo de permisos predeterminado o uso del modo de acceso híbrido
Lake Formation comienza con la configuración «Usar solo el control de acceso de IAM» habilitada para garantizar la compatibilidad con el comportamiento de AWS Glue Data Catalog existente. Este ajuste le permite administrar el acceso a sus datos en el lago de datos y sus metadatos mediante políticas de IAM y políticas de bucket de Amazon S3.
Para facilitar la transición de los permisos del lago de datos de un modelo IAM y Amazon S3 a los permisos de Lake Formation, le recomendamos que utilice el modo de acceso híbrido para el Catálogo de datos. Con el modo de acceso híbrido, dispone de una vía incremental en la que puede habilitar los permisos de Lake Formation para un conjunto específico de usuarios sin interrumpir a otros usuarios o cargas de trabajo existentes.
Para obtener más información, consulte Modo de acceso híbrido.
Desactive la configuración predeterminada para mover a todos los usuarios existentes de una tabla a Lake Formation en un solo paso.
importante
Si ya hay bases de datos y tablas de AWS Glue Data Catalog, no siga las instrucciones indicadas en esta sección. En su lugar, siga las instrucciones en Actualización de los permisos de datos AWS Glue al modelo AWS Lake Formation.
aviso
Si cuenta con una automatización que crea bases de datos y tablas en el Catálogo de datos, los pasos siguientes podrían provocar un error en los trabajos de automatización y extracción, transformación y carga (ETL) posteriores. Continúe solo después de haber modificado sus procesos existentes o de haber concedido permisos explícitos de Lake Formation a las entidades principales requeridas. Para obtener información sobre los permisos de Lake Formation, consulte Referencia de permisos de Lake Formation.
Para cambiar la configuración predeterminada del Catálogo de datos
-
Continúe en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. Verifique que ha iniciado sesión como el usuario administrador que había creado en Creación de un usuario con acceso administrativo o como un usuario con la política administrada AdministratorAccess
de AWS. Modifique la configuración del Catálogo de datos:
-
En el panel de navegación, Administración, seleccione Configuración del Catálogo de datos.
-
Desmarque ambas casillas y seleccione Guardar.
-
Revoque el permiso de
IAMAllowedPrincipals
a los creadores de bases de datos.-
En el panel de navegación, en Administración, seleccione Roles y tareas administrativas.
-
En la página de la consola de Roles y tareas administrativas, en la sección Creadores de bases de datos, seleccione el grupo
IAMAllowedPrincipals
y elija Revocar.Aparece el cuadro de diálogo para revocar permisos, en el que se muestra que
IAMAllowedPrincipals
tiene el permiso para crear base de datos. -
Seleccione Revocar.
-
Asignar permisos a usuarios de Lake Formation
Cree un usuario para tener acceso al lago de datos en AWS Lake Formation. Este usuario tiene el privilegio mínimo de permisos para consultar el lago de datos.
Para más información sobre la creación de usuarios o grupos, consulte Identidades IAM en la Guía del usuario de IAM.
Para adjuntar permisos a un usuario no administrador con el fin de acceder a los datos de Lake Formation
-
Abra la consola de IAM en https://console.aws.amazon.com/iam
e inicie sesión como un usuario administrador creado en Creación de un usuario con acceso administrativo o como usuario con la política administrada AdministratorAccess
de AWS. -
Elija Usuarios o Grupos de usuarios.
-
En la lista, seleccione el nombre del usuario o del grupo en el que integrará una política.
Elija Permisos.
-
Elija Agregar permisos y seleccione Adjuntar políticas directamente. Introduzca
Athena
en el campo de texto Filtrar políticas. En la lista de resultados, marque la casilla deAmazonAthenaFullAccess
. -
Pulse el botón Crear política. En la página Crear política, elija la pestaña JSON. Copie la política siguiente y péguela en el editor de políticas.
{ "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": "*" } ] }
-
Seleccione el botón Siguiente en la parte inferior hasta que vea la página Revisar la política. Escriba un nombre para la política, por ejemplo
DatalakeUserBasic
. Seleccione Crear política y, a continuación, cierre la pestaña Políticas o la ventana del navegador.
Configurar una ubicación de Amazon S3 para el lago de datos
Para utilizar Lake Formation con el fin de administrar y proteger los datos de su lago de datos, primero debe registrar una ubicación de Amazon S3. Al registrar una ubicación, se registran esa ruta de Amazon S3 y todas las carpetas incluidas en esa ruta, lo que permite a Lake Formation aplicar los permisos de nivel de almacenamiento. Cuando el usuario solicita datos de un motor integrado como Amazon Athena, Lake Formation proporciona acceso a los datos en lugar de utilizar los permisos del usuario.
Cuando registra una ubicación, especifica un rol de IAM que concede permisos de lectura y escritura en esa ubicación. Lake Formation asume ese rol al proporcionar credenciales temporales a los servicios de AWS integrados que solicitan acceso a los datos en la ubicación registrada de Amazon S3. Puede especificar el rol vinculado al servicio (SLR) de Lake Formation o crear el suyo propio.
Utilice un rol personalizado en las siguientes situaciones:
-
Supongamos que tiene previsto publicar métricas en Registros de Amazon CloudWatch. El rol definido por el usuario debe incluir una política para agregar registros en CloudWatch Logs y publicar métricas además de los permisos SLR. Para ver un ejemplo de política insertada que concede los permisos CloudWatch necesarios, consulte Requisitos de los roles utilizados para registrar ubicaciones.
-
La ubicación de Amazon S3 está en una cuenta diferente. Para obtener más información, consulte Registrar una ubicación de Amazon S3 en otra cuenta AWS.
-
La ubicación de Amazon S3 contiene datos cifrados con una Clave administrada de AWS. Para más detalles, consulte Registro de una ubicación cifrada de Amazon S3 y Registro de una ubicación cifrada de Amazon S3 entre cuentas AWS.
-
Tiene previsto acceder a la ubicación de Amazon S3 mediante Amazon EMR. Para obtener más información sobre los requisitos de los roles, consulte Roles de IAM para Lake Formation en la Guía de administración de Amazon EMR.
El rol que elija debe tener los permisos necesarios, tal y como se describe en Requisitos de los roles utilizados para registrar ubicaciones. Para obtener instrucciones sobre cómo registrar una ubicación de Amazon S3, consulte Añadir una ubicación de Amazon S3 a su lago de datos.
(Opcional) Configuración de filtrado de datos externo
Si tiene intención de analizar y procesar los datos de su lago de datos utilizando motores de consulta de terceros, debe optar por permitir que los motores externos accedan a los datos gestionados por Lake Formation. Si no lo hace, los motores externos no podrán acceder a los datos de las ubicaciones de Amazon S3 que estén registradas en Lake Formation.
Lake Formation es compatible con los permisos a nivel de columna para restringir el acceso a columnas específicas de una tabla. Los servicios analíticos integrados como Amazon Athena, Amazon Redshift Spectrum y Amazon EMR recuperan metadatos de tablas no filtrados del AWS Glue Data Catalog. El filtrado real de las columnas en las respuestas a las consultas es responsabilidad del servicio integrado. Es responsabilidad de los administradores externos gestionar adecuadamente los permisos para evitar el acceso no autorizado a los datos.
Para permitir que motores de terceros accedan a los datos y los filtren (consola)
-
Continúe en la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. Compruebe que ha iniciado sesión como una entidad principal con el permiso de IAM en la operación de la API PutDataLakeSettings
de Lake Formation. El usuario administrador de IAM que ha creado en Registro en una Cuenta de AWS tiene este permiso. -
En el panel de navegación, Administración, seleccione Configuración de integración de aplicaciones.
-
En la página Configuración de integración de aplicaciones, haga lo siguiente:
-
Marque la casilla Permitir que motores externos filtren datos en las ubicaciones de Amazon S3 registradas en Lake Formation.
-
Introduzca los valores de las etiquetas de sesión definidos para motores de terceros.
-
Para los ID de cuenta de AWS, introduzca los ID de cuenta desde los que los motores de terceros pueden acceder a las ubicaciones registradas en Lake Formation. Pulse Intro después de cada ID de cuenta.
-
Seleccione Guardar.
-
Para permitir que los motores externos accedan a los datos sin validar las etiquetas de sesión, consulte Integración de aplicaciones para un acceso completo a la tabla
(Opcional) Conceda acceso a la clave de cifrado del Catálogo de datos
Si el AWS Glue Data Catalog está cifrado, conceda permisos AWS Identity and Access Management de (IAM) sobre la clave AWS KMS a las entidades principales que necesiten conceder permisos de Lake Formation en las bases de datos y tablas del Catálogo de datos.
Para obtener más información, consulte la Guía para desarrolladores de AWS Key Management Service.
(Opcional) Crear un rol de IAM para flujos de trabajo
Con AWS Lake Formation, puede importar sus datos utilizando flujos de trabajo ejecutados por rastreadores de AWS Glue. Un flujo de trabajo define el origen de datos y la programación para importar los datos a su lago de datos. Puede definir fácilmente los flujos de trabajo mediante los esquemas o las plantillas proporcionados por Lake Formation.
Al crear un flujo de trabajo, debe asignarle un rol de AWS Identity and Access Management (IAM) que conceda a Lake Formation los permisos necesarios para ingerir los datos.
En el procedimiento siguiente se presupone que está familiarizado con IAM.
Crear un rol de IAM para flujos de trabajo
-
Abra la consola de IAM en https://console.aws.amazon.com/iam
e 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. -
En el panel de navegación, seleccione Roles, Crear rol.
-
En la página Crear rol, elija el servicio AWS y, a continuación, Glue. Elija Siguiente.
-
En la página Añadir permisos, busque la política administrada AWSGlueServiceRole y marque la casilla junto al nombre de la política en la lista. A continuación, complete el asistente de creación de roles, asignando al rol el nombre
LFWorkflowRole
. Para terminar, seleccione Crear rol. -
De regreso en la página Roles, busque
LFflowRole
y elija el nombre del rol. -
En la página Resumen del rol, en la pestaña Permisos, elija Crear política insertada. En la pantalla Crear política, vaya a la pestaña JSON y añada la siguiente política insertada. Un posible nombre para la política es
LakeFormationWorkflow
.importante
En la siguiente política, sustituya
<account-id>
por un número de Cuenta de AWS válido.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::
<account-id>
:role/LakeFormationWorkflowRole" ] } ] }A continuación se describen brevemente los permisos de esta política:
-
lakeformation:GetDataAccess
permite que los trabajos creados por el flujo de trabajo escriban en la ubicación de destino. -
lakeformation:GrantPermissions
permite que el flujo de trabajo conceda el permiso deSELECT
sobre las tablas de destino. -
iam:PassRole
permite al servicio asumir el rol deLakeFormationWorkflowRole
para crear rastreadores y trabajos (instancias de flujos de trabajo) y asociar el rol a los rastreadores y trabajos creados.
-
-
Compruebe que el rol
LakeFormationWorkflowRole
tenga dos políticas asociadas. -
Si va a ingerir datos de fuera de la ubicación del lago de datos, añada una política insertada que conceda permisos para leer los datos de origen.