¿Cómo puedo solucionar los errores de permisos de Lake Formation en AWS Glue?

3 minutos de lectura
0

Mi rastreador o trabajo de ETL de AWS Glue falla debido a un error de permisos de AWS Lake Formation. El error se produce aunque haya configurado los permisos necesarios de AWS Identity and Access Management (IAM).

Resolución

Los errores de permisos más comunes incluyen permisos predeterminados insuficientes o permisos insuficientes para conceder permisos a otros usuarios.

Permisos predeterminados insuficientes

Debes proporcionar permisos en la base de datos predeterminada para el rol que intenta consultar la tabla. Si faltan estos permisos, Lake Formation genera una excepción similar a la siguiente:

«AnalysisException: Unable to verify existence of default database: com.amazonaws.services.glue.model.AccessDeniedException: Insufficient Lake Formation permission(s) on default»

Para conceder los permisos predeterminados:

  1. Inicia sesión en la consola de Lake Formation como administrador del lago de datos.
  2. En el panel izquierdo, abre Permisos, Permisos del lago de datos y, a continuación, selecciona Conceder.
  3. En la página Conceder permisos de lago de datos, en Entidades principales, elige la categoría de entidades principales del trabajo de Glue.
  4. En Usuarios y roles de IAM, selecciona uno o más roles de IAM.
  5. En Etiquetas LF o recursos de catálogo, elige Recursos de catálogo de datos con nombre y, a continuación, en Bases de datos, elige Predeterminada. Si no ves una base de datos predeterminada, crea una como se describe más adelante.
  6. En la página Conceder permisos de lago de datos, en Permisos de base de datos, para Permisos de base de datos, selecciona Describir.
  7. Selecciona el botón Conceder.
  8. Vuelve a ejecutar el trabajo en AWS Glue y comprueba que el trabajo se ha realizado correctamente.

Para crear una base de datos predeterminada, si aún no existe una:

  1. Abre Tareas y roles administrativos y, en Creadores de bases de datos, elige Conceder.
  2. En el cuadro de diálogo Conceder permisos, elige tu rol de Glue.
  3. En Permisos que se pueden conceder, selecciona el permiso Crear base de datos para los permisos de acceso específicos que va a conceder y elige Conceder. Esto configura el rol de IAM asociado al trabajo de AWS Glue como creador de bases de datos en Lake Formation. Luego, Lake Formation crea automáticamente una base de datos predeterminada (si no hay ninguna) y concede los permisos necesarios para el rol.
  4. Ejecuta el trabajo en AWS Glue y verifica que se realice correctamente.

Permisos insuficientes para conceder permisos

Debes tener permisos que se pueden conceder en una tabla de AWS Glue al conceder permisos a la tabla. Por ejemplo, para conceder permisos a través de una plantilla de CloudFormation o una canalización de CI/CD, debes tener permisos que se pueden conceder. Si faltan los permisos que se pueden conceder, Lake Formation genera una excepción como la siguiente:

«AccessDeniedException: An error occurred (AccessDeniedException) when calling the GrantPermissions operation: Resource does not exist or requester is not authorized to access requested permissions».

  1. Concede permisos que se puedan conceder a la tabla o base de datos para un usuario o rol con el método de recurso con nombre.
  2. Este usuario o rol puede conceder permisos, por ejemplo, a través de AWS CloudFormation o una canalización de CI/CD, a otros usuarios o roles.

Información relacionada

Administración de los permisos Lake Formation

Registro de una ubicación de Amazon S3

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 5 meses