Quiero asegurarme de que mi política de bucket de Amazon Simple Storage Service (Amazon S3) permite el acceso desde Amazon Quick Suite.
Descripción breve
Si un bucket de Amazon S3 utiliza una política de denegación, esta anula cualquier permiso de S3 que especifiques en la consola de Quick Suite. Para permitir que Quick Suite acceda al bucket de S3, agrega el rol de servicio de Amazon QuickSight (aws-quicksight-service-role-v0) como excepción en tu política de denegación.
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 problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Sigue estos pasos:
-
Confirma que Quick Suite tenga permiso para acceder al bucket de S3.
-
Para obtener el ID único del rol aws-quicksight-service-role-v0, ejecuta el comando get-role de la AWS CLI:
aws iam get-role --role-name aws-quicksight-service-role-v0 --query 'Role.RoleId' --output json"AROAEXAMPLEID"
Nota: También puedes utilizar la llamada a la API GetRole de AWS Identity and Access Management (IAM). El ID es único para cada cuenta de Quick Suite.
-
(Opcional) Si deseas añadir una excepción para un usuario de IAM, ejecuta el comando get-user de la AWS CLI para buscar el ID único del usuario:
aws iam get-user --user-name example-username
Nota: Sustituye example-username por el nombre de usuario de IAM.
-
Abre la consola de Amazon S3.
-
Selecciona tu bucket de S3.
-
Selecciona la pestaña Permisos.
-
En Política de bucket, elige Editar.
-
Introduce una política de bucket similar al siguiente ejemplo:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::examplebucketname",
"arn:aws:s3:::examplebucketname/*"
],
"Condition": {
"StringNotLike": {
"aws:userid": [
"AROAEXAMPLEID:*",
"AIDAEXAMPLEUSERID"
]
}
}
}
]
}
Nota: Sustituye examplebucketname por el nombre del bucket de S3 y AROAEXAMPLEID por el ID único. Para añadir una excepción para un usuario de IAM, sustituye AIDAEXAMPLEUSERID por el ID único del usuario de IAM. La política de usuario de IAM también debe contener una instrucción Allow para el bucket de S3.
Si eliminas el rol de servicio de QuickSight y el usuario de IAM, se te bloqueará el acceso al bucket. Para resolver este problema, inicia sesión como usuario raíz de la cuenta de AWS y, a continuación, utiliza el comando delete-bucket-policy de la AWS CLI para eliminar la política de bucket.
Información relacionada
How to restrict Amazon S3 bucket access to a specific IAM role (Cómo restringir el acceso al bucket de Amazon S3 a un rol de IAM específico)