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.
Configuración de los destinos de S3 para las consultas programadas
Configure Amazon S3 como destino para almacenar los resultados de las consultas programadas como archivos JSON para su retención y análisis a largo plazo.
Cuando se utiliza Amazon S3 como destino, los resultados de las consultas se almacenan como archivos JSON en el bucket y el prefijo especificados. Esta opción es ideal para archivar los resultados, realizar análisis por lotes o integrarlos con otros AWS servicios que procesan datos de S3.
Puede enviar los resultados de la consulta a un depósito de Amazon S3 de la misma AWS cuenta que la consulta programada o a un depósito de una AWS cuenta diferente. Si lo desea, también puede cifrar los resultados de las consultas mediante una AWS KMS clave administrada por el cliente (SSE-KMS).
Entregar los resultados a un bucket de Amazon S3 de la misma cuenta
Cuando el bucket de Amazon S3 de destino se encuentra en la misma AWS cuenta que la consulta programada, puede buscar y seleccionar el bucket directamente desde la consola.
Para configurar un destino de Amazon S3 con la misma cuenta (consola)
-
En la sección Publicar los resultados de la consulta en S3, para el bucket de S3, selecciona Esta cuenta.
-
En el caso del URI de Amazon S3, introduzca el bucket y el prefijo de Amazon S3 en los que se almacenarán los resultados (por ejemplo
s3://my-bucket/query-results/) o seleccione Browse Amazon S3 para navegar y seleccionar una ubicación de Amazon S3 existente. -
(Opcional) Para cifrar los resultados con una AWS KMS clave gestionada por el cliente, introduzca el ARN de la clave en AWS KMS el campo ARN de la clave KMS. La clave debe estar en la misma AWS región que el bucket de Amazon S3 de destino. Si no especificas una AWS KMS clave, se aplicará la configuración de cifrado predeterminada del depósito.
-
En la sección Función de IAM para publicar los resultados de las consultas en Amazon S3, seleccione Crear automáticamente una nueva función con los permisos predeterminados para configurar automáticamente los permisos necesarios, o elija Usar una función existente para seleccionar una función de IAM existente con las políticas necesarias.
La función de IAM de entrega de destino requiere los siguientes permisos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Entregar los resultados a un bucket de Amazon S3 de otra cuenta
Puede enviar los resultados de las consultas programadas a un bucket de Amazon S3 de otra AWS cuenta. Cuando utilice un bucket multicuenta, debe proporcionar el URI de Amazon S3 y el ID de cuenta de la cuenta propietaria del bucket.
Para configurar un destino de Amazon S3 multicuenta (consola)
-
En la sección Publicar los resultados de la consulta en S3, para el bucket de S3, seleccione Otra cuenta e introduzca el ID de cuenta de la cuenta propietaria del bucket.
-
Para el URI de Amazon S3, introduzca el URI completo de Amazon S3 del bucket de destino y el prefijo en la otra cuenta (por ejemplo,
s3://cross-account-bucket/query-results/). -
(Opcional) Para cifrar los resultados con una AWS KMS clave gestionada por el cliente, introduzca el ARN de la clave en AWS KMS el campo ARN de la clave KMS. La clave debe estar en la misma AWS región que el bucket de Amazon S3 de destino.
-
En la sección Función de IAM para publicar los resultados de las consultas en Amazon S3, seleccione Crear automáticamente una nueva función con los permisos predeterminados para configurar automáticamente los permisos necesarios, o elija Usar una función existente para seleccionar una función de IAM existente con las políticas necesarias.
La entrega entre cuentas requiere permisos de ambas partes. La función de IAM de entrega de destino en la cuenta de origen requiere los siguientes permisos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }
La política de bucket de Amazon S3 de la cuenta de destino debe conceder permiso al rol de IAM de la cuenta de origen para escribir objetos:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRolePutObject", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*" } ] }
Cifrar los resultados con una clave administrada por el cliente AWS KMS
Si lo desea, puede especificar una AWS KMS clave administrada por el cliente para cifrar los resultados de las consultas enviados a Amazon S3 mediante SSE-KMS. La AWS KMS clave puede estar en la misma cuenta que la consulta programada o en una cuenta diferente.
Al especificar una AWS KMS clave, la consulta programada usa esa clave para cifrar los resultados mediante SSE-KMS. Si no especificas una AWS KMS clave, se aplica la configuración de cifrado predeterminada del depósito. Si el depósito está configurado con el cifrado SSE-KMS predeterminado mediante una clave administrada por el cliente, la función de IAM de entrega de destino aún debe tener kms:GenerateDataKey permiso sobre esa clave.
La función de IAM de entrega de destino requiere el kms:GenerateDataKey permiso de la clave. AWS KMS El siguiente ejemplo muestra los permisos necesarios para un destino de Amazon S3 con una AWS KMS clave gestionada por el cliente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } }, { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }
Cuando la AWS KMS clave está en una cuenta diferente a la de la función de IAM de entrega de destino, la política AWS KMS clave de la cuenta propietaria de la clave debe conceder explícitamente el acceso a la función:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRoleToEncrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }
nota
Cuando la AWS KMS clave y la función de IAM de entrega de destino están en la misma cuenta, la política de identidad de IAM por sí sola es suficiente si la política AWS KMS clave incluye la declaración raíz predeterminada «Habilitar las políticas de IAM». Solo se requiere una concesión explícita de la política AWS KMS clave si la política clave no se delega en IAM.
La función de IAM para publicar los resultados de las consultas en Amazon S3 debe configurarse de forma independiente de la función de IAM para la ejecución programada de las consultas. Esta separación permite un control de acceso detallado, en el que la función de ejecución puede ejecutar consultas, mientras que la función de Amazon S3 se encarga específicamente de la entrega de resultados. Ambas funciones deben incluir una política de confianza que permita que el servicio de CloudWatch registros (logs.amazonaws.com) asuma la función.