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.
Mejora AWS Glue permisos de datos para el AWS Lake Formation modelo
AWS Lake Formation los permisos permiten un control de acceso detallado a los datos de su lago de datos. Puede utilizar el modelo de permisos de Lake Formation para gestionar sus AWS Glue Data Catalog objetos y ubicaciones de datos existentes en Amazon Simple Storage Service (Amazon S3).
El modelo de permisos de Lake Formation utiliza permisos básicos AWS Identity and Access Management (IAM) para el acceso al servicio. API Restringe los datos a los que sus usuarios y esos servicios pueden acceder a través de la funcionalidad de Lake Formation. En comparación, el AWS Glue el modelo otorga el acceso a los datos mediante permisos de control de acceso detallados. IAM Para hacer el cambio, siga los pasos de esta guía.
Para obtener más información, consulte Descripción general de los permisos de Lake Formation .
Acerca de los permisos predeterminados
Para mantener la compatibilidad con versiones anteriores con AWS Glue, de forma predeterminada, AWS Lake Formation concede el Super
permiso al IAMAllowedPrincipals
grupo en todos los existentes AWS Glue Los recursos del catálogo de datos y concede el Super
permiso sobre los nuevos recursos del catálogo de datos si la configuración Usar solo el control de IAM acceso está habilitada. De hecho, esto hace que el acceso a los recursos del catálogo de datos y a las ubicaciones de Amazon S3 esté controlado únicamente por las políticas AWS Identity and Access Management
(IAM). El IAMAllowedPrincipals
grupo incluye todos IAM los usuarios y roles a los que sus IAM políticas permiten el acceso a los objetos del catálogo de datos. El permiso Super
permite a una entidad principal efectuar todas las operaciones compatibles con Lake Formation en la base de datos o tabla sobre la que se concede.
Puede empezar a utilizar Lake Formation para administrar el acceso a sus datos registrando las ubicaciones de los recursos existentes del Catálogo de datos en Lake Formation o utilizando el modo de acceso híbrido. Cuando registre la ubicación de Amazon S3 en modo de acceso híbrido, puede habilitar los permisos de Lake Formation optando por entidades principales para las bases de datos y las tablas bajo esa ubicación.
Para facilitar la transición de los permisos de data lake de un IAM modelo Amazon S3 a los permisos de Lake Formation, le recomendamos que utilice el modo de acceso híbrido para Data Catalog. 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.
Inhabilite la configuración predeterminada del Catálogo de datos para mover todos los usuarios existentes de una tabla a Lake Formation en un solo paso.
Para empezar a usar los permisos de Lake Formation con sus permisos actuales AWS Glue En las bases de datos y tablas del catálogo de datos, debe hacer lo siguiente:
-
Determine los IAM permisos actuales de sus usuarios para cada base de datos y tabla.
-
Reproduzca estos permisos en Lake Formation.
-
Para cada ubicación de Amazon S3 que contenga datos:
-
Revoque el permiso
Super
del grupoIAMAllowedPrincipals
en cada recurso del Catálogo de datos que haga referencia a esa ubicación. -
Registre la ubicación en Lake Formation.
-
-
Limpie las políticas de control de acceso detalladas existentes. IAM
importante
Para añadir nuevos usuarios durante el proceso de transición de su catálogo de datos, debe configurar la configuración granular AWS Glue los permisos siguen IAM igual que antes. También debe replicar esos permisos en Lake Formation como se describe en esta sección. Si los nuevos usuarios tienen las IAM políticas generales que se describen en esta guía, pueden enumerar todas las bases de datos o tablas a las que se haya concedido el Super
permiso. IAMAllowedPrincipals
También pueden ver los metadatos de esos recursos.
Siga los pasos de esta sección para actualizar al modelo de permisos Lake Formation.
Temas
- Paso 1: Enumerar los permisos existentes de usuarios y roles
- Paso 2: Configurar permisos equivalentes de Lake Formation
- Paso 3: Otorgue a los usuarios IAM permisos para usar Lake Formation
- Paso 4: Cambiar sus almacenes de datos al modelo de permisos de Lake Formation
- Paso 5: Proteger los nuevos recursos del Catálogo de datos
- Paso 6: Ofrecer a los usuarios una nueva IAM política para el acceso a los lagos de datos en el futuro
- Paso 7: Limpiar las políticas existentes IAM
Paso 1: Enumerar los permisos existentes de usuarios y roles
Para empezar a usar AWS Lake Formation los permisos con los que ya tienes AWS Glue bases de datos y tablas, primero debe determinar los permisos actuales de sus usuarios.
importante
Antes de empezar, asegúrese de haber completado las tareas de Introducción a Lake Formation.
Mediante la API operación
Utilice la ListPoliciesGrantingServiceAccessAPIoperación AWS Identity and Access Management (IAM) para determinar las IAM políticas asociadas a cada principal (usuario o rol). A partir de las políticas devueltas en los resultados, puede determinar los IAM permisos que se otorgan al principal. Debe invocar el API para cada principal por separado.
El siguiente AWS CLI ejemplo devuelve las políticas adjuntas al usuarioglue_user1
.
aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue
El comando devuelve resultados similares al siguiente:
{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "glue", "Policies": [ { "PolicyType": "INLINE", "PolicyName": "GlueUserBasic", "EntityName": "glue_user1", "EntityType": "USER" }, { "PolicyType": "MANAGED", "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess", "PolicyName": "AmazonAthenaFullAccess" } ] } ], "IsTruncated": false }
Usando el AWS Management Console
También puede ver esta información en la consola AWS Identity and Access Management (IAM), en la pestaña Access Advisor de la página de resumen del usuario o rol:
Abra la IAM consola en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Users (Usuarios) o Roles.
-
Elija un nombre de la lista para abrir su página Resumen y elija la pestaña Access Advisor.
-
Inspeccione cada una de las políticas para determinar la combinación de bases de datos, tablas y acciones para las que cada usuario tiene permisos.
Recuerde inspeccionar los roles además de los usuarios durante este proceso porque sus trabajos de tratamiento de datos podrían estar asumiendo roles para acceder a los datos.
Usando AWS CloudTrail
Otra forma de determinar sus permisos actuales es buscar AWS CloudTrail AWS Glue APIllamadas donde el additionaleventdata
campo de los registros contiene una insufficientLakeFormationPermissions
entrada. Esta entrada enumera la base de datos y la tabla sobre las que el usuario necesita permisos de Lake Formation para llevar a cabo la misma acción.
Se trata de registros de acceso a datos, por lo que no se garantiza que generen una lista completa de los usuarios y sus permisos. Recomendamos elegir un intervalo de tiempo amplio para capturar la mayoría de los patrones de acceso a los datos de sus usuarios, por ejemplo, varias semanas o meses.
Para obtener más información, consulte Visualización de eventos con el historial de CloudTrail eventos en la Guía del AWS CloudTrail usuario.
A continuación, puede configurar los permisos de Lake Formation para que coincidan con AWS Glue permisos. Consulte Paso 2: Configurar permisos equivalentes de Lake Formation.
Paso 2: Configurar permisos equivalentes de Lake Formation
Con la información recopilada enPaso 1: Enumerar los permisos existentes de usuarios y roles, conceda AWS Lake Formation permisos que coincidan con los AWS Glue permisos. Utilice cualquiera de los siguientes métodos para las concesiones:
-
Utilizar la consola de Lake Formation o la AWS CLI.
Consulte Concesión de permisos sobre los recursos del catálogo de datos.
-
Utilice las
BatchGrantPermissions
API operacionesGrantPermissions
o.Consulte Permisos APIs.
Para obtener más información, consulte Descripción general de los permisos de Lake Formation .
Después de configurar los permisos de Lake Formation, continúe con Paso 3: Otorgue a los usuarios IAM permisos para usar Lake Formation.
Paso 3: Otorgue a los usuarios IAM permisos para usar Lake Formation
Para usar el modelo de AWS Lake Formation permisos, los directores deben tener AWS Identity and Access Management (IAM) permisos en Lake FormationAPIs.
Cree la siguiente política IAM y adjúntela a todos los usuarios que necesiten acceder a su lago de datos. Llame a la política LakeFormationDataAccess
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }
A continuación, actualice los permisos de Lake Formation una ubicación de datos cada vez. Consulte Paso 4: Cambiar sus almacenes de datos al modelo de permisos de Lake Formation.
Paso 4: Cambiar sus almacenes de datos al modelo de permisos de Lake Formation
Actualice los permisos de Lake Formation una ubicación de datos cada vez. Para ello, repita toda esta sección hasta registrar todas las rutas de Amazon Simple Storage Service (Amazon S3) a las que hace referencia el Catálogo de datos.
Temas
Verificar los permisos de Lake Formation
Antes de registrar una ubicación, complete una etapa de verificación para asegurarse de que las entidades principales correctas tienen los permisos de Lake Formation necesarios y de que no se conceden permisos de Lake Formation a entidades principales que no deberían tenerlos. Mediante la GetEffectivePermissionsForPath
API operación Lake Formation, identifique los recursos del catálogo de datos que hacen referencia a la ubicación de Amazon S3, junto con las entidades principales que tienen permisos sobre esos recursos.
El siguiente AWS CLI ejemplo devuelve las bases de datos y las tablas del catálogo de datos que hacen referencia al bucket de Amazon S3products
.
aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin
Observe la opción profile
. Se recomienda ejecutar el comando como administrador de un lago de datos.
Lo siguiente es un extracto de los resultados obtenidos.
{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
importante
Si las recetas AWS Glue El catálogo de datos está cifrado, GetEffectivePermissionsForPath
devuelve solo las bases de datos y tablas que se crearon o modificaron después de la disponibilidad general de Lake Formation.
Proteja los recursos del Catálogo de datos existentes
A continuación, revoque el permiso Super
de cada tabla IAMAllowedPrincipals
y base de datos que haya identificado para la ubicación.
aviso
Si cuenta con una automatización que crea bases de datos y tablas en el catálogo de datos, los siguientes pasos podrían provocar un error en la automatización y en los trabajos posteriores de extracción, transformación y carga (ETL). 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 revocar Super
de IAMAllowedPrincipals
sobre una tabla
-
Abra la AWS Lake Formation consola en. https://console.aws.amazon.com/lakeformation/
Inicie sesión como administrador del lago de datos. -
En el panel de navegación, elija Tablas.
-
En la página Tablas, seleccione el botón que hay junto a la tabla que desee.
-
En el menú Acciones, seleccione Restaurar.
-
En el cuadro de diálogo Revocar permisos, en la lista de IAMusuarios y roles, desplácese hacia abajo hasta el encabezado Grupo y elija IAMAllowedPrincipals.
-
En Permisos de tabla, asegúrese de que la opción Super esté seleccionada y, a continuación, elija Revocar.
Para revocar Super
desde IAMAllowedPrincipals
sobre una base de datos
-
Abra la AWS Lake Formation consola en. https://console.aws.amazon.com/lakeformation/
Inicie sesión como administrador del lago de datos. -
En el panel de navegación, seleccione Databases (Bases de datos).
-
En la página Bases de datos, seleccione el botón que hay junto a la base de datos que desee.
-
En el menú Actions, seleccione Editar.
-
En la página Editar base de datos, desactive Usar solo el control de IAM acceso para las tablas nuevas de esta base de datos y, a continuación, seleccione Guardar.
-
De vuelta en la página Bases de datos, asegúrese de que la base de datos sigue seleccionada y, a continuación, en el menú Acciones, elija Revocar.
-
En el cuadro de diálogo Revocar permisos, en la lista de IAMusuarios y roles, desplácese hacia abajo hasta el encabezado Grupo y elija IAMAllowedPrincipals.
-
En Permisos de base de datos, asegúrese de que la opción Super está seleccionada y, a continuación, elija Revocar.
Active los permisos de Lake Formation para su ubicación de Amazon S3
A continuación, registre la ubicación de Amazon S3 con Lake Formation. Para ello, puede utilizar el proceso descrito en Añadir una ubicación de Amazon S3 a su lago de datos. O bien, utilice la RegisterResource
API operación tal y como se describe enAPI de expedición de credenciales.
nota
Si se registra una ubicación principal, no es necesario registrar las ubicaciones secundarias.
Tras finalizar estos pasos y comprobar que sus usuarios pueden acceder a sus datos, habrá actualizado con éxito los permisos de Lake Formation. Continúe en el paso siguiente, Paso 5: Proteger los nuevos recursos del Catálogo de datos.
Paso 5: Proteger los nuevos recursos del Catálogo de datos
A continuación, proteja todos los nuevos recursos del Catálogo de datos cambiando la configuración predeterminada del Catálogo de datos. Desactive las opciones para usar únicamente AWS Identity and Access Management (IAM) el control de acceso para las nuevas bases de datos y tablas.
aviso
Si cuenta con una automatización que crea bases de datos y tablas en el catálogo de datos, los siguientes pasos 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
-
Abra la AWS Lake Formation consola en. https://console.aws.amazon.com/lakeformation/
Inicie sesión como usuario IAM administrativo (el usuario Administrator
u otro usuario con la políticaAdministratorAccess
AWS gestionada). -
En el panel de navegación, seleccione Configuración.
-
En la página Configuración del Catálogo de datos, desactive ambas casillas de verificación y, a continuación, seleccione Guardar.
El siguiente paso es conceder a los usuarios acceso a bases de datos o tablas adicionales en el futuro. Consulte Paso 6: Ofrecer a los usuarios una nueva IAM política para el acceso a los lagos de datos en el futuro.
Paso 6: Ofrecer a los usuarios una nueva IAM política para el acceso a los lagos de datos en el futuro
Para conceder a sus usuarios acceso a bases de datos o tablas adicionales del catálogo de datos en el futuro, debe proporcionarles la política integrada detallada AWS Identity and Access Management (IAM) que se indica a continuación. Llame a la política GlueFullReadAccess
.
importante
Si adjunta esta política a un usuario antes de revocar Super
desde IAMAllowedPrincipals
en cada base de datos y tabla de su Catálogo de datos, ese usuario podrá ver todos los metadatos de cualquier recurso sobre el que se conceda Super
a IAMAllowedPrincipals
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueFullReadAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }
nota
Las políticas integradas designadas en este paso y en los pasos anteriores contienen permisos mínimos. IAM Para conocer las políticas sugeridas para los administradores del lago de datos, los analistas de datos y otros personajes, consulte Referencia de personas y IAM permisos de Lake Formation.
A continuación, proceda a Paso 7: Limpiar las políticas existentes IAM.
Paso 7: Limpiar las políticas existentes IAM
Tras configurar los AWS Lake Formation permisos y crear y adjuntar las políticas generales de control de acceso AWS Identity and Access Management (IAM), complete el siguiente paso final:
-
Elimine de los usuarios, grupos y roles las antiguas IAM políticas de control de acceso detalladas que replicó en Lake Formation.
Al hacerlo, se asegura de que esas entidades principales ya no tengan acceso directo a los datos de Amazon Simple Storage Service (Amazon S3). A continuación, puede administrar el acceso al lago de datos para esas entidades principales totalmente a través de Lake Formation.