Quiero utilizar datos de un bucket Amazon Simple Storage Service (Amazon S3) de otra cuenta para crear un conjunto de datos en Amazon QuickSight.
Descripción corta
Sigue estos pasos para crear un acceso entre cuentas desde Amazon QuickSight (cuenta A) a un bucket cifrado de Amazon S3 de otra cuenta (cuenta B):
- Actualiza tu política de bucket de S3 en la cuenta B (donde se encuentra el bucket de S3).
- Agrega el bucket de S3 como recurso al que pueda acceder el rol de servicio de QuickSight (cuenta A).
- Permite que el rol de servicio de QuickSight acceda a la clave de AWS Key Management Service (AWS KMS) para el bucket de S3.
Nota: En este artículo se supone que el bucket de S3 está cifrado. También se recomienda cifrar el bucket de S3 con una clave de AWS KMS. Para obtener más información sobre cómo activar el cifrado predeterminado para Amazon S3, consulta Configuración del cifrado predeterminado.
Resolución
Actualización de la política de bucket de S3 en la cuenta B
Para configurar el acceso entre cuentas de QuickSight a Amazon S3, sigue estos pasos:
-
Actualiza la política de bucket de tu bucket de S3 en la cuenta B. Por ejemplo:
{ "Version": "2012-10-17",
"Id": "BucketPolicy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<Account A>:role/service-role/aws-quicksight-service-role-v0"
},
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::cross-account-qstest-bucket",
"arn:aws:s3:::cross-account-qstest-bucket/*"
]
}
]
}
Nota: Si el rol aws-quicksight-s3-consumers-role-v0 existe en la cuenta A, asegúrate de usar este rol en su lugar. Sustituye aws-quicksight-service-role-v0 por aws-quicksight-s3-consumers-role-v0 para evitar problemas de conexión con Amazon S3.
-
Agrega el rol de servicio QuickSight de la cuenta A a la lista de usuarios que pueden acceder a la clave de AWS KMS del bucket de S3:
aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quickSight_role_arn --operations Decrypt
Nota: Sustituye aws_kms_key_arn por el ARN de la clave de AWS KMS y quicksight_role_arn por el ARN del rol de QuickSight.
Para obtener el ARN de la clave de AWS KMS:
- Abre la consola de Amazon S3.
- Ve al bucket de S3 que contiene el archivo de datos.
- Selecciona la pestaña Propiedades. El ARN de la clave de AWS KMS se encuentra en Cifrado predeterminado.
Para obtener el ARN del rol de servicio de QuickSight:
- Abre la consola de AWS Identity Access Management (IAM) en la cuenta A.
- En el panel de navegación, elige Roles.
- Busca aws-quicksight-service-role.
- Selecciona el rol de servicio de QuickSight y copia el ARN.
Nota: Si el rol aws-quicksight-s3-consumers-role-v0 existe en la cuenta A, asegúrate de utilizar este rol en su lugar. De lo contrario, es posible que recibas un error al intentar conectarte a Amazon S3.
Adición del bucket de S3 como recurso al que pueda acceder el rol de servicio de QuickSight
Para permitir que el rol de servicio de QuickSight acceda al bucket de S3 de la cuenta B, sigue estos pasos:
- Abre la consola de Amazon QuickSight.
- Selecciona Administrar QuickSight.
- Selecciona Seguridad y permisos.
- Selecciona Agregar o eliminar.
- Selecciona Detalles.
- Elige Seleccionar buckets de S3.
- Elige la pestaña Buckets de S3 a los que puedes acceder en AWS para comprobar que tu bucket de S3 aparezca en la lista de acceso de QuickSight.
- (Opcional) Si tu bucket de S3 no aparece en la lista, agrégalo en Usar otro bucket.
- Selecciona Finalizar.
Permitir que el rol de servicio de QuickSight acceda a la clave de AWS KMS para el bucket de S3
Agrega la siguiente política de IAM insertada al rol de servicio de QuickSight de la cuenta A:
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStmt3",
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": ""arn:aws:kms:us-east-1:<account ID of your S3 bucket>:key/<KEYID>"
}
]
}
Nota: La política insertada anterior permite que el rol de servicio de QuickSight acceda a la clave de AWS KMS de la cuenta B. Sustituye ExampleStmt3 por el ID de tu instrucción.
Importante: Si el rol aws-quicksight-s3-consumers-role-v0 existe en la cuenta A, debes asociar la política de AWS KMS al rol. La política de AWS KMS descifra los datos del bucket de S3. Si, en cambio, asocias la política de rol actualizada al rol de servicio de QuickSight, es posible que aparezca un error de permisos. Para obtener información sobre cómo resolver el error de permisos, consulta ¿Cómo soluciono los errores de permisos de recursos de AWS en Amazon QuickSight?
Otras consideraciones
Cuando configures el acceso entre cuentas desde QuickSight a un bucket de S3 de otra cuenta, ten en cuenta lo siguiente:
Información relacionada
Editar claves
I can't connect to Amazon S3 (No puedo conectarme a Amazon S3)
Troubleshooting Amazon Quick Sight (Solución de problemas de Amazon QuickSight)
Visualización de una política de claves (consola)