¿Cómo soluciono los errores «Access denied» cuando uso Athena como origen de datos en Quicksight?
Recibo errores «Access denied» cuando intento utilizar Amazon Athena como origen de datos en mi cuenta de Amazon QuickSight.
Descripción corta
A continuación, se presentan motivos habituales por los que se producen errores Access denied cuando utilizas Amazon Athena como origen de datos en Amazon QuickSight:
- Tu cuenta de QuickSight carece de los permisos necesarios para acceder al bucket de Amazon Simple Storage Service (Amazon S3).
- Tu archivo de datos está cifrado con una clave de AWS Key Management Service (AWS KMS).
- No tienes asignada la política de permisos de AWS Identity and Access Management (IAM) necesaria.
- El bucket de Amazon S3 no existe. O bien, el rol de IAM que se utilizas para consultar los datos carece de los permisos de S3 requeridos.
- No tienes asignadas las políticas de control de servicio (SCP) necesarias (para cuentas de QuickSight que utilizan AWS Organizations).
- Tu usuario o grupo de QuickSight carece de los permisos de AWS Lake Formation (para cuentas de Athena que utilizan Lake Formation).
Nota: Antes de empezar a solucionar problemas, asegúrate de que puedes acceder a tus datos en Athena.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de errores de la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Tu cuenta de QuickSight carece de los permisos necesarios para acceder al bucket de Amazon S3
Aparece un error similar al siguiente:
«An error has been thrown from AWS Athena client. Permission denied on S3 path:sourceErrorMessage: s3:/example bucket/object name»
Para obtener permiso para acceder al bucket de S3, sigue estos pasos:
- Abre la consola de Amazon QuickSight.
- Selecciona Administrar QuickSight.
- Selecciona Seguridad y permisos.
- En Acceso de QuickSight a los servicios de AWS, elige Administrar.
- En la lista de servicios de AWS, elige Amazon S3.
- Elige Seleccionar buckets de S3 y, a continuación, selecciona el bucket de S3.
- Elige Permiso de escritura para grupo de trabajo de Athena y, a continuación, elige Finalizar.
- Elige Guardar.
El archivo de datos está cifrado con una clave de AWS KMS
Si el archivo de datos está cifrado con una clave de AWS KMS, Amazon S3 puede denegarte el acceso a los datos. Para resolver este problema, usa la AWS CLI o la consola de AWS KMS para conceder a tu rol de servicio de QuickSight acceso a la clave de AWS KMS.
Uso de AWS CLI
Sigue estos pasos:
-
Utiliza la consola de IAM para localizar el ARN del rol de servicio de QuickSight.
-
Utiliza la consola de Amazon S3 para buscar el ARN de la clave de AWS KMS.
-
Ve al bucket que contiene el archivo de datos.
-
Elige la pestaña Información general y, a continuación, busca el ID de la clave de KMS.
-
Agrega el ARN del rol de servicio de QuickSight a la política de claves de KMS.
-
Ejecuta el comando create-grant de la AWS CLI:
aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations DecryptNota: Sustituye aws_kms_key_arn por el ARN de tu clave de AWS KMS y quicksight_role_arn por el ARN de tu rol de servicio de QuickSight.
Uso de la consola de AWS KMS
Para agregar el rol de servicio de QuickSight a la política de claves de AWS KMS, cambia la política de claves. A continuación, agrega los siguientes permisos a la política de claves:
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-service-role-v0", "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-s3-consumers-role-v0" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
Nota: En la política anterior, asegúrate de agregar el ARN de tus roles de servicio de QuickSight en la sección Entidad principal.
No tienes asignada la política de permisos de IAM necesaria
Para comprobar qué políticas se te han asignado y comprobar si la política restringe tu acceso, sigue estos pasos:
- Abre la consola de Amazon QuickSight.
- Selecciona Administrar QuickSight.
- Selecciona Seguridad y permisos.
- Elige Asignaciones de políticas de IAM.
- Comprueba si existen asignaciones de políticas de IAM para acceder a Athena.
- Comprueba que la política no restrinja tu acceso a S3 ni a Athena.
En el caso de que exista una política que restrinja tu acceso a S3 o Athena, solicita al administrador de QuickSight que modifique dicha política. Si eres el administrador, desactiva la asignación de políticas de IAM y edita la política para incluir los permisos de S3 y Athena. Para obtener más información, consulta Setting granular access to AWS services through IAM (Configuración del acceso detallado a los servicios de AWS a través de IAM).
El bucket de S3 no existe. O bien, el rol de IAM que se utiliza para consultar los datos carece de los permisos de S3 requeridos.
Se muestra el siguiente error:
«Unable to verify/create output bucket».
Para resolver el error anterior, consulta ¿Cómo puedo solucionar el error «Unable to verify/create output bucket» en Amazon Athena?
Si el bucket no existe, agrega el bucket de S3 válido. En la consola de Amazon QuickSight, selecciona Amazon S3 en la lista de servicios de AWS. A continuación, selecciona el bucket de S3 que se utiliza para la ubicación de los resultados de la consulta.
No tienes asignadas las SCP necesarias (Organizations)
Pídele al administrador de AWS Organizations que revise la configuración de SCP para verificar los permisos que se te asignaron. Si eres administrador de Organizations, consulta Creación, actualización y eliminación de políticas de control de servicios.
Tu usuario o grupo de QuickSight carece de los permisos de Lake Formation
En el caso de las cuentas de Athena que utilizan Lake Formation, es posible que se reciba el siguiente error:
«An error has been thrown from the AWS Athena client. Insufficient permissions to execute the query. Insufficient Lake Formation permission(s)».
A fin de conceder permisos de Lake Formation para QuickSight, debes ser administrador de Lake Formation.
Sigue estos pasos:
-
Busca el ARN de usuario o grupo de QuickSight.
-
Ejecuta uno de los siguientes comandos de la AWS CLI:
aws quicksight describe-user --user-name user_name --aws-account-id account_id --namespace defaultAlternativa:
aws quicksight describe-group --group-name group_name --aws-account-id account_id --namespace defaultNota: En los comandos anteriores, sustituye user_name por tu nombre de usuario, group_name por el nombre de tu grupo y account_id por el ID de tu cuenta.
-
Abre la consola de Lake Formation.
-
Elige Tablas.
-
Elige Acciones y, a continuación, Permisos.
-
En la lista de entidades principales, elige Conceder.
-
En Usuarios y grupos de SAML y Amazon QuickSight, introduce el ARN de usuario o grupo de QuickSight. Por ejemplo, arn:aws:quicksight:region:accountId:user/namespace/username.
-
Selecciona el origen de datos correcto y, a continuación, elige Todas las tablas. Los permisos de la tabla son Seleccionar y Describir.
-
Elige Conceder.
Después de conceder los permisos, vuelve a la consola de QuickSight para intentar crear el conjunto de datos de nuevo.
Información relacionada
Insufficient permissions when using Athena with Amazon QuickSight (Permisos insuficientes al usar Athena con Amazon QuickSight)
Introducing Amazon QuickSight fine-grained access control over Amazon S3 and Amazon Athena (Presentación del control de acceso detallado de Amazon QuickSight en Amazon S3 y Amazon Athena)
Turn on fine-grained permissions for Amazon QuickSight authors in AWS Lake Formation (Activación de los permisos detallados para los autores de Amazon QuickSight en AWS Lake Formation)
- Temas
- Analytics
- Etiquetas
- AWS Lake FormationAmazon Quick Sight
- Idioma
- Español
Vídeos relacionados


Contenido relevante
preguntada hace un año
preguntada hace un año
preguntada hace 10 meses