

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
<a name="share-dl-fgac-tutorial"></a>

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.

![\[AWS Organization structure with two OUs, showing data lake access and user permissions across accounts.\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/tutorial-fine-grained-access1.jpg)


**Topics**
+ [Destinatarios previstos](#tut-share-fine-grained-roles)
+ [Requisitos previos](#tut-share-fine-grained-prereqs)
+ [Paso 1: Proporcionar acceso específico a otra cuenta](#tut-fgac-another-account)
+ [Paso 2: Proporcionar acceso específico a un usuario de la misma cuenta](#tut-fgac-same-account)

## Destinatarios previstos
<a name="tut-share-fine-grained-roles"></a>



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: `AWSLakeFormationDataAdmin` vinculada al rol.  | 
| Analista de datos | Usuario que tiene la política administrada de AWS: AmazonAthenaFullAccess vinculada. | 

## Requisitos previos
<a name="tut-share-fine-grained-prereqs"></a>

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](getting-started-setup.md#initial-aws-signup).

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

**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/](https://console.aws.amazon.com/lakeformation/)) o la operación `PutDataLakeSettings` de 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 `AmazonAthenaFullAccess` de 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
<a name="tut-fgac-another-account"></a>

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**

1. Inicie sesión en la Consola de administración de AWS en [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/) en la Cuenta A como administrador del lago de datos.

1. Abra la consola de Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), y elija **Empezar**.

1. En el panel de navegación, seleccione **Bases de datos**.

1. Elija **Create database (Creación de base de datos)**.

1. En la sección de **detalles de la base de datos**, seleccione **Base de datos**.

1. En **Nombre**, introduzca un nombre (para este tutorial, utilizamos `sampledb01`).

1. 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.

1. Elija **Create database (Creación de base de datos)**.

1. En la página **Bases de datos**, elija su base de datos `sampledb01`.

1. En el menú **Acciones**, elija **Conceder**.

1. En la sección **Conceder permisos**, seleccione **Cuenta externa**.

1. Para el ID de Cuenta de AWS o el ID de organización AWS, introduzca el ID de la Cuenta B en la UO2.

1. 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.

1. 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).

1. En **Columnas**, seleccione **Incluir columnas**.

1. En **Permisos de tabla**, elija **Seleccionar**.

1. 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.

1. Elija **Conceder**.

1. En el panel de navegación, elija **Tablas**.

1. 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.

1. Inicie sesión en la consola de AWS en [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/) en la Cuenta B como `testuser1`.

1. En la consola de Lake Formation ([https://console.aws.amazon.com/lakeformation/](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.

1. Elija la tabla `acc_a_area`.

1. En el menú **Acciones**, elija **Crear enlace de recursos**.

1. En **Nombre del enlace de recursos**, introduzca un nombre (para este tutorial, `acc_a_area_rl`).

1. En **Base de datos**, elija su base de datos (`testdb`).

1. Seleccione **Crear**.

1. En el panel de navegación, elija **Tablas**.

1. Elija la tabla `acc_b_area_rl`.

1. 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
<a name="tut-fgac-same-account"></a>

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**

1. Inicie sesión en la consola de AWS en [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/) en la Cuenta B como `testuser1`.

1. 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**.

1. En la sección **Conceder permisos**, seleccione **Mi cuenta**.

1.  En **Roles y usuarios de IAM**, elija el usuario `testuser2`.

1. En **Columna**, elija el nombre de la columna.

1. En **Permisos de tabla**, elija **Seleccionar**.

1. 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**.

1. En la sección **Conceder permisos**, seleccione **Mi cuenta**.

1. En **Roles y usuarios de IAM**, elija el usuario `testuser2`.

1. En **Permisos de enlace de recursos**¸ seleccione **Describir**.

1. Elija **Conceder**.

1. 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/](https://console.aws.amazon.com/athena/home)), 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 que `testuser2` tiene acceso.