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.
Compartir un lago de datos utilizando el control de acceso específico de Lake Formation
Este tutorial proporciona instrucciones detalladas sobre cómo compartir rápida y fácilmente conjuntos de datos utilizando Lake Formation cuando gestiona varios Cuentas de AWS con AWS Organizations. La definición de permisos específicos sirve para controlar el acceso a datos confidenciales.
Los siguientes procedimientos también muestran cómo un administrador del lago de datos de la Cuenta A puede proporcionar acceso específico para la Cuenta B, y cómo un usuario de la Cuenta B, actuando como administrador de datos, puede conceder acceso específico a la tabla compartida para otros usuarios de su cuenta. Los administradores de datos de cada cuenta pueden delegar independientemente el acceso a sus propios usuarios, lo que proporciona autonomía a cada equipo o línea de negocio (LOB).
El caso práctico supone que está utilizando AWS Organizations para gestionar su Cuentas de AWS. El usuario de la Cuenta A en una unidad organizativa (UO1) concede acceso a los usuarios de la Cuenta B en la UO2. Puede utilizar el mismo enfoque cuando no utilice organizaciones, como cuando solo tiene unas pocas cuentas. El siguiente diagrama ilustra el control de acceso específico de los conjuntos de datos en un lago de datos. El lago de datos está disponible en la Cuenta A. El administrador del lago de datos de la Cuenta A proporciona acceso específico para la Cuenta B. El diagrama también muestra que un usuario de la Cuenta B proporciona acceso a nivel de columna de la tabla del lago de datos de la Cuenta A a otro usuario de la Cuenta B.
Temas
Destinatarios previstos
Este tutorial está dirigido a administradores de datos, ingenieros de datos y analistas de datos. La tabla siguiente enumera los roles que se utilizan en este tutorial:
| Rol | Descripción |
|---|---|
| Administrador de IAM | Usuario que tiene la política administrada de AWS: AdministratorAccess. |
| Administrador de lago de datos |
Usuario que tiene la política administrada de AWS: |
| Analista de datos | Usuario que tiene la política administrada de AWS: AmazonAthenaFullAccess vinculada. |
Requisitos previos
Antes de comenzar 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 este tutorial, se supone que está familiarizado con IAM. Para obtener más información acerca de IAM, consulte la Guía del usuario de IAM.
Para este tutorial, necesita los siguientes recursos:
-
Dos unidades organizativas:
UO1: contiene la Cuenta A
UO2: contiene la Cuenta B
Una ubicación (bucket) del lago de datos de Amazon S3 en la Cuenta A.
Un usuario administrador del lago de datos en la Cuenta A. Puede crear un administrador del lago de datos utilizando la consola de Lake Formation (https://console.aws.amazon.com/lakeformation/
) o la operación PutDataLakeSettingsde la API de Lake Formation.Lake Formation configurado en la Cuenta A, y la ubicación del lago de datos de Amazon S3 registrada con Lake Formation en la Cuenta A.
Dos usuarios en la Cuenta B con las siguientes políticas administradas de IAM:
testuser1: tiene vinculadas las políticas administradas de AWS
AWSLakeFormationDataAdmin.testuser2 - Tiene vinculada la política administrada
AmazonAthenaFullAccessde AWS.
Una base de datos testdb en la base de datos Lake Formation para la Cuenta B.
Paso 1: Proporcionar acceso específico a otra cuenta
Conozca cómo un administrador del lago de datos de la Cuenta A proporciona acceso específico a la Cuenta B.
Conceder acceso específico a otra cuenta
Inicie sesión en la Consola de administración de AWS en https://console.aws.amazon.com/connect/
en la Cuenta A como administrador del lago de datos. Abra la consola de Lake Formation (https://console.aws.amazon.com/lakeformation/
), y elija Empezar. En el panel de navegación, seleccione Bases de datos.
Elija Create database (Creación de base de datos).
En la sección de detalles de la base de datos, seleccione Base de datos.
En Nombre, introduzca un nombre (para este tutorial, utilizamos
sampledb01).Asegúrese de que no esté marcada la opción para utilizar solo el control de acceso IAM para las nuevas tablas de esta base de datos. Si se deja sin seleccionar, podremos controlar el acceso desde Lake Formation.
Elija Create database (Creación de base de datos).
En la página Bases de datos, elija su base de datos
sampledb01.En el menú Acciones, elija Conceder.
En la sección Conceder permisos, seleccione Cuenta externa.
Para el ID de Cuenta de AWS o el ID de organización AWS, introduzca el ID de la Cuenta B en la UO2.
Para Tabla, elija la tabla a la que desea que tenga acceso la Cuenta B (para este post, utilizamos la tabla
acc_a_area). De forma opcional, puede conceder acceso a columnas dentro de la tabla, como hacemos en esta publicación.En Incluir columnas¸ elija las columnas a las que desea que tenga acceso la Cuenta B (para este post, concedemos permisos a tipo, nombre e identificadores).
En Columnas, seleccione Incluir columnas.
En Permisos de tabla, elija Seleccionar.
En Permisos concedibles, elija Seleccionar. Los permisos concedibles son necesarios para que los usuarios administradores de la Cuenta B puedan conceder permisos a otros usuarios de la Cuenta B.
Elija Conceder.
En el panel de navegación, elija Tablas.
Podrá consultar una conexión activa en la sección de Cuentas de AWS y organizaciones de AWS con acceso.
Crear un recurso compartido
Los servicios integrados como Amazon Athena no pueden acceder directamente a las bases de datos o tablas de las cuentas. Por consiguiente, debe crear un enlace de recursos para que Athena pueda acceder a los enlaces de recursos de su cuenta a bases de datos y tablas de otras cuentas. Cree un enlace de recursos a la tabla (acc_a_area) para que los usuarios de la Cuenta B puedan consultar sus datos con Athena.
Inicie sesión en la consola de AWS en https://console.aws.amazon.com/connect/
en la Cuenta B como testuser1.En la consola de Lake Formation (https://console.aws.amazon.com/lakeformation/
), en el panel de navegación, seleccione Tablas. Debería ver las tablas a las que la Cuenta A ha proporcionado acceso. Elija la tabla
acc_a_area.En el menú Acciones, elija Crear enlace de recursos.
En Nombre del enlace de recursos, introduzca un nombre (para este tutorial,
acc_a_area_rl).En Base de datos, elija su base de datos (
testdb).Seleccione Crear.
En el panel de navegación, elija Tablas.
Elija la tabla
acc_b_area_rl.En el menú Acciones, seleccione Ver datos.
Se le redirige a la consola de Athena, donde debería ver la base de datos y la tabla.
Ahora puede ejecutar una consulta en la tabla para ver el valor de la columna para la que se proporcionó acceso a testuser1 desde la Cuenta B.
Paso 2: Proporcionar acceso específico a un usuario de la misma cuenta
Esta sección muestra cómo un usuario de la cuenta B (testuser1), que actúa como administrador de datos, proporciona acceso específico a otro usuario de la misma cuenta (testuser2) al nombre de la columna de la tabla compartida aac_b_area_rl.
Conceder acceso específico a un usuario de la misma cuenta
Inicie sesión en la consola de AWS en https://console.aws.amazon.com/connect/
en la Cuenta B como testuser1.En la consola de Lake Formation, en el panel de navegación, seleccione Tablas.
Puede conceder permisos sobre una tabla a través de su enlace de recursos. Para ello, en la página Tablas, seleccione el enlace del recurso
acc_b_area_rl, y en el menú Acciones, elija Conceder en destino.En la sección Conceder permisos, seleccione Mi cuenta.
En Roles y usuarios de IAM, elija el usuario
testuser2.En Columna, elija el nombre de la columna.
En Permisos de tabla, elija Seleccionar.
Elija Conceder.
Cuando cree un enlace de recursos, solo podrá verlo y acceder a él el usuario. Para permitir que otros usuarios de su cuenta accedan al enlace de recursos, debe conceder permisos sobre el propio enlace de recursos. Debe conceder los permisos DESCRIBIR o ELIMINAR. En la página Tablas, vuelva a seleccionar la tabla y, en el menú Acciones, Conceder.
En la sección Conceder permisos, seleccione Mi cuenta.
En Roles y usuarios de IAM, elija el usuario
testuser2.En Permisos de enlace de recursos¸ seleccione Describir.
Elija Conceder.
Inicie sesión en la consola de AWS en la cuenta B como
testuser2.En la consola de Athena (https://console.aws.amazon.com/athena/
), debería ver la base de datos y la tabla acc_b_area_rl. Ahora puede ejecutar una consulta en la tabla para consultar el valor de la columna a la quetestuser2tiene acceso.