¿Cómo comparto las bases de datos y tablas del catálogo de datos de AWS Glue entre cuentas mediante AWS Lake Formation?
Quiero compartir las bases de datos y tablas del catálogo de datos de AWS Glue entre cuentas mediante AWS Lake Formation.
Resolución
Con la característica entre cuentas de Lake Formation, puede conceder acceso a otras cuentas de AWS para escribir y compartir datos desde o hacia el lago de datos. Los recursos se pueden compartir mediante un control de acceso basado en etiquetas o mediante recursos con nombre. Este artículo se centra en la concesión de acceso entre cuentas a los recursos del catálogo de datos mediante el método de recurso con nombre.
Asegurarse de que se cumplen los requisitos previos
Tenga en cuenta los siguientes requisitos previos antes de compartir los recursos del catálogo de datos con otra cuenta o acceder a los recursos compartidos desde otra cuenta:
Revocación de los permisos de Lake Formation
Revoque todos los permisos de Lake Formation del grupo IAMAllowedPrincipals para el recurso del catálogo de datos.
Impedir que las tablas nuevas tengan permisos Super
En el caso de las bases de datos del catálogo de datos que contienen tablas que puede compartir, evite que las tablas nuevas tengan una concesión predeterminada de Super a IAMAllowedPrincipals:
- Abra la consola de Lake Formation.
- En el panel de navegación, en Catálogo de datos, seleccione Bases de datos.
- Seleccione la base de datos que desee actualizar.
- Elija Acciones y, a continuación, Editar.
- En Permisos predeterminados para las tablas de nueva creación, desactive Usar solo el control de acceso de IAM para las tablas nuevas de esta base de datos.
- Seleccione Guardar.
Para obtener más información, consulte Super.
Adición de los permisos necesarios para el acceso entre cuentas
Si la política de recursos del catálogo de datos de AWS Glue ya está habilitada en la cuenta, puede eliminar la política o añadir nuevos permisos a la política que son necesarios para las concesiones entre cuentas. El siguiente es un ejemplo de política de recursos para proporcionar acceso entre cuentas a AWS Glue a la cuenta 5555666677778888 desde la cuenta 1111222233334444.
Para obtener más información, consulte Concesión de acceso entre cuentas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ram.amazonaws.com" }, "Action": "glue:ShareResource", "Resource": [ "arn:aws:glue:us-east-1:1111222233334444:table/*/*", "arn:aws:glue:us-east-1:1111222233334444:database/*", "arn:aws:glue:us-east-1:1111222233334444:catalog" ] }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::5555666677778888:root" }, "Action": "glue:*", "Resource": [ "arn:aws:glue:us-east-1:1111222233334444:table/*/*", "arn:aws:glue:us-east-1:1111222233334444:database/*", "arn:aws:glue:us-east-1:1111222233334444:catalog" ] } ] }
Permitir el uso compartido con las organizaciones
Si los recursos del catálogo de datos se comparten entre organizaciones, habilite el uso compartido con AWS Organizations mediante la consola de AWS RAM. El usuario o rol de AWS Identity and Access Management (IAM) que habilite esta opción debe tener el permiso ram:EnableSharingWithAwsOrganization de IAM.
Para obtener más información, consulte Requisitos previos para el acceso entre cuentas.
Concesión de los permisos de IAM necesarios
Cuenta de origen: Para utilizar el método de recursos con nombre para conceder permisos entre cuentas, debe tener los permisos de IAM necesarios para AWS Glue y AWS Resource Access Manager (AWS RAM). Puede elegir la política administrada de AWS AWSLakeFormationCrossAccountManager que concede estos permisos o crear una nueva política basada en esta política.
Cuenta de destino: Los administradores de lagos de datos de las cuentas de destino deben tener la siguiente política adicional. Esta política permite al administrador aceptar las invitaciones para compartir recursos de AWS RAM y habilitar el uso compartido de recursos con las organizaciones:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
Nota: El usuario o rol de IAM que reciba la invitación para compartir recursos en AWS RAM debe tener los permisos de IAM necesarios para glue:PutResourcePolicy.
Uso compartido de una base de datos y sus tablas con la cuenta de destino
Para compartir una base de datos y todas las tablas de la base de datos con la cuenta de destino que no forma parte de la organización, haga lo siguiente:
Nota: Si comparte todas las tablas de una base de datos en la cuenta de origen, cualquier tabla nueva que se cree en la cuenta de origen se compartirá automáticamente con la cuenta de destino.
En la cuenta de origen, haga lo siguiente:
- Abra la consola de Lake Formation e inicie sesión como administrador de un lago de datos.
- En el panel de navegación, seleccione Bases de datos.
- Seleccione la base de datos que quiera compartir.
- Elija Acciones y, a continuación, Conceder.
- Seleccione Cuenta externa.
- Para el ID de la cuenta de AWS o el ID de la organización de AWS, introduzca el ID de la cuenta de destino.
- En Tabla, asegúrese de que esté seleccionada la opción Todas las tablas.
- En **Permisos de la tabla ** y Permisos que se pueden conceder, seleccione los permisos de acceso que desee conceder.
- Elija Conceder.
En la cuenta de destino, haga lo siguiente:
- Abra la consola de AWS RAM.
- En el panel de navegación, en Compartido conmigo, elija Recursos compartidos.
- Revise la lista de recursos compartidos a los que se le ha concedido acceso.
- Para aceptar la invitación al recurso compartido desde la cuenta de origen, seleccione el identificador del recurso compartido y elija Aceptar recurso compartido.
- Abra la consola de Lake Formation.
- En el panel de navegación, seleccione Bases de datos.
Puede ver la base de datos compartida en la lista. El ID de la cuenta de propietario de esta base de datos muestra el ID de la cuenta de origen. - Seleccione la base de datos compartida y, a continuación, elija Acciones.
- Seleccione Crear enlace del recurso.
- En la página Crear enlace del recurso, haga lo siguiente:
En Nombre del enlace del recurso, introduzca el nombre del enlace del recurso.
En Base de datos compartida, asegúrese de que esté seleccionado el nombre de la base de datos compartida.
En ID del propietario de la base de datos compartida, introduzca el ID de la cuenta de origen. - SeleccioneCrear.
Se crea el enlace del recurso.
Los enlaces de recursos son objetos del catálogo de datos que son enlaces a bases de datos y tablas de metadatos, normalmente a bases de datos y tablas compartidas de otras cuentas de AWS. Ayudan a permitir el acceso entre cuentas a los datos del lago de datos. Una vez creado el enlace del recurso, puede consultar las tablas de la base de datos compartida con el acceso de administrador del lago de datos.
Para conceder acceso a los usuarios de IAM o entidades principales de la base de datos compartida, conceda los permisos necesarios para el enlace del recurso y la base de datos compartida. Esto permite a los usuarios de IAM o entidades principales ver la base de datos compartida y el enlace del recurso en su consola de Lake Formation. Los usuarios de IAM también pueden ver la base de datos y el enlace del recurso en su consola de Amazon Athena o Amazon Redshift Spectrum.
Para conceder acceso a los usuarios de IAM para el enlace del recurso, haga lo siguiente:
- Abra la consola de Lake Formation e inicie sesión como administrador de un lago de datos.
- En el panel de navegación, seleccione Bases de datos.
- Seleccione el enlace del recurso que ha creado.
- Elija Acciones y, a continuación, Conceder.
- En Entidades principales, seleccione Usuarios y roles de IAM.
- En usuarios y roles de IAM, seleccione el usuario o entidad principal de IAM al que necesita conceder acceso.
- En Permisos del enlace del recurso, seleccione Describir.
- Elija Conceder.
Para conceder acceso a los usuarios de IAM a las bases de datos compartidas, haga lo siguiente:
- Abra la consola de Lake Formation e inicie sesión como administrador de un lago de datos.
- En el panel de navegación, seleccione Bases de datos.
- Seleccione la base de datos compartida.
- Elija Acciones y, a continuación, Conceder.
- En Entidades principales, seleccione Usuarios y roles de IAM.
- En Usuarios y roles de IAM, seleccione el usuario de IAM o entidad principal al que necesita conceder acceso.
- En Permisos de la base de datos, seleccione Describir.
Nota: Este paso proporciona los permisos mínimos para que los usuarios vean la base de datos compartida. - Elija Conceder.
Para conceder acceso a todas las tablas o a tablas específicas de la base de datos, seleccione la opción Todas las tablas:
- Seleccione el enlace del recurso.
- Elija Acciones y, a continuación, Conceder.
- Seleccione Usuarios y roles de IAM.
- En Usuarios y roles de IAM, seleccione el usuario o entidad principal al que quiere conceder acceso.
- En Etiquetas LF o recursos del catálogo, haga lo siguiente:
Para conceder acceso a todas las tablas de la base de datos, en Tablas: opcional, seleccione Todas las tablas.
Para conceder acceso solo a tablas específicas de la base de datos, en Tablas: opcional, seleccione las tablas. - En **Permisos de la tabla ** y Permisos que se pueden conceder, seleccione Seleccionar y Describir.
- Elija Conceder.
Nota: Solo puede conceder los permisos que haya seleccionado para los permisos que se pueden conceder en la cuenta de origen.
Tras conceder los permisos necesarios, puede consultar correctamente la tabla en Athena desde la cuenta de destino.
Compartir solo tablas con la cuenta de destino
Para compartir tablas individuales con la cuenta de destino, siga las instrucciones de la sección anterior con los cambios siguientes.
Cuenta de origen:
Para conceder acceso a la cuenta de destino desde la consola de Lake Formation, seleccione las tablas individuales en lugar de seleccionar la base de datos.
Cuenta de destino:
- Acepte el recurso compartido en la consola de AWS RAM para acceder a la tabla compartida en la consola de Lake Formation.
- Cree un enlace del recurso para la tabla compartida. Una vez creado el enlace del recurso, puede consultar la tabla compartida con el acceso de administrador del lago de datos.
- Para conceder acceso a los usuarios de IAM o entidades principales para la tabla compartida, debe conceder permisos para el enlace del recurso.
Revisión de consideraciones adicionales
- Cuando concede permisos en la tabla, puede restringir el acceso solo a las columnas concretas de la tabla. Si lo hace, la cuenta de destino solo podrá ver esas columnas de la tabla compartida.
- Asegúrese de que los usuarios de IAM o entidades principales de la cuenta de destino tengan acceso a la ruta de Amazon Simple Storage Service (Amazon S3) de la cuenta de origen.
- Si revoca los permisos que se concedieron anteriormente desde la cuenta de origen, la cuenta de destino no podrá acceder a la base de datos o tabla compartida. Sin embargo, el enlace del recurso que creó en la cuenta de destino no se elimina automáticamente. Debe eliminarlo manualmente.
- Al eliminar una base de datos o una tabla, los recursos compartidos de AWS RAM no se eliminan automáticamente. Por lo tanto, debe revocar manualmente los permisos entre cuenta antes de eliminar una base de datos o una tabla compartida.
Información relacionada
Visualización de tablas y bases de datos compartidas del catálogo de datos
Creación de enlaces de recursos
Concesión de permisos de ubicación de datos (cuenta externa)
Concesión y revocación de permisos sobre los recursos del catálogo de datos
Cómo funciona la característica entre cuentas de AWS Lake Formation

Contenido relevante
- preguntada hace 3 meseslg...
- Respuesta aceptadapreguntada hace 2 meseslg...
- preguntada hace 4 meseslg...
- preguntada hace 3 meseslg...
- preguntada hace 2 meseslg...
- OFICIAL DE AWSActualizada hace 4 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años