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.
Configurar 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.
Al utilizar 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 bucket de Amazon S3 de la misma AWS cuenta que la consulta programada o a un bucket de una AWS cuenta diferente. Si lo desea, también puede cifrar los resultados de las consultas con una AWS KMS clave gestionada 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 está 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, seleccione Esta cuenta.
-
En el caso del URI de Amazon S3, introduzca el bucket de Amazon S3 y el prefijo donde se almacenarán los resultados (por ejemplo,
s3://my-bucket/query-results/) o seleccione Explorar 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 AWS KMS clave en el campo ARN de la clave de KMS. La clave debe estar en la misma AWS región que el bucket de Amazon S3 de destino. Si no especifica ninguna AWS KMS clave, se aplicará la configuración de cifrado predeterminada del bucket.
-
En la sección Función de IAM para publicar los resultados de las consultas en Amazon S3, elija Auto-create una nueva función con los permisos predeterminados para configurar automáticamente los permisos necesarios, o seleccione 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 en 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 la URI de Amazon S3 y el identificador de cuenta de la cuenta propietaria del bucket.
Para configurar un destino multicuenta de Amazon S3 (consola)
-
En la sección Publicar los resultados de la consulta en S3, para el bucket de S3, seleccione Otra cuenta e introduzca como entrada el ID 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 de 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 AWS KMS clave en el campo ARN de la clave de 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, elija Auto-create una nueva función con los permisos predeterminados para configurar automáticamente los permisos necesarios, o seleccione Usar una función existente para seleccionar una función de IAM existente con las políticas necesarias.
Cross-account la entrega requiere permisos por 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 buzones 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 un cliente gestionado AWS KMS clave
Si lo desea, puede especificar una AWS KMS clave gestionada por el cliente para cifrar con ella los resultados de las consultas que se envíen a Amazon S3. SSE-KMS La AWS KMS clave puede estar en la misma cuenta que la consulta programada o en una cuenta diferente.
Cuando especificas 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 bucket. Si el bucket está configurado con el SSE-KMS cifrado predeterminado mediante una clave gestionada por el cliente, la función de IAM de entrega de destino debe seguir teniendo kms:GenerateDataKey permiso sobre esa clave.
La función de IAM de entrega en destino requiere kms:GenerateDataKey permiso sobre la AWS KMS clave. 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 del rol de IAM de entrega en destino, la política de AWS KMS claves de la cuenta propietaria de la clave debe conceder explícitamente el acceso al rol:
{ "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 sentencia raíz predeterminada «Habilitar las políticas de IAM». La concesión explícita de una política de AWS KMS claves solo es necesaria si la política de claves no se delega en IAM.
La función de IAM para publicar los resultados de las consultas en Amazon S3 debe configurarse por separado de la función de IAM para la ejecución programada de las consultas. Esta separación permite un control de acceso detallado, ya que el rol de ejecución puede ejecutar consultas mientras que el rol de Amazon S3 se encarga específicamente de la entrega de los resultados. Ambas funciones deben incluir una política de confianza que permita al servicio CloudWatch Logs (logs.amazonaws.com) asumir la función.