Amazon S3
Amazon S3 es un sistema de almacenamiento altamente escalable ofrecido por Amazon Web Services.

Si vas a cambiar de proveedor de almacenamiento en el cloud, ponte en contacto con tu CSM de Braze para que te ayude a configurar y validar tu nueva integración.
La integración de Braze y Amazon S3 presenta dos estrategias de integración:
- Aprovecha Currents, que te permite almacenar datos allí hasta que quieras conectarlos a otras plataformas, herramientas y ubicaciones.
- Utiliza las exportaciones de datos del panel (como las exportaciones CSV y los informes de participación).
Requisitos previos
| Requisito | Descripción |
|---|---|
| Cuenta de Amazon S3 | Necesitas una cuenta de Amazon S3 para aprovechar esta asociación. |
| Contenedor de S3 dedicado | Antes de integrar con Amazon S3, debes crear un contenedor de S3 para tu aplicación. Si ya tienes un contenedor de S3, te recomendamos crear un nuevo contenedor específicamente para Braze, de modo que puedas limitar los permisos. Consulta las siguientes instrucciones sobre cómo crear un nuevo contenedor. |
| Currents | Para exportar datos de vuelta a Amazon S3, necesitas tener Braze Currents configurado para tu cuenta. Currents no es necesario si solo vas a configurar el archivado de mensajes. |
Crear un nuevo contenedor de S3
Para crear un contenedor para tu aplicación, haz lo siguiente:
- Abre la consola de Amazon S3 y sigue las instrucciones para iniciar sesión o crear una cuenta en AWS.
- Después de iniciar sesión, selecciona S3 en la categoría Storage & Content Delivery.
- Selecciona Create Bucket en la siguiente pantalla.
- Cuando se te solicite, crea tu contenedor y selecciona una región de AWS.
Braze no te permite elegir ni configurar una región en el panel. La región de AWS queda determinada por el lugar donde crees el contenedor en la consola de AWS. La integración envía los datos al nombre de contenedor que proporciones, y AWS enruta automáticamente las solicitudes a la región del contenedor. Si tu conector intenta conectarse a una región distinta de la que quieres (por ejemplo, eu-west-1 en lugar de eu-central-1), crea o usa un contenedor de S3 en la región que desees en AWS. No hay nada que cambiar del lado de Braze.

Integración
Braze tiene dos estrategias de integración diferentes con Amazon S3: una para Braze Currents y otra para todas las exportaciones de datos del panel (como las exportaciones CSV o los informes de participación). Ambas integraciones admiten dos métodos diferentes de autenticación o autorización:
Método de autenticación con clave secreta de AWS
Este método de autenticación genera una clave secreta y un ID de clave de acceso que permiten a Braze autenticarse como usuario en tu cuenta de AWS para escribir datos en tu contenedor.
Paso 1: Crear un usuario

Si solo vas a configurar el archivo de mensajes, sigue los pasos de la pestaña Dashboard Data Export.
Para obtener tu ID de clave de acceso y tu clave de acceso secreta, crea un usuario de IAM y un grupo de administradores en AWS.
Paso 2: Obtener las credenciales
Después de crear un nuevo usuario, selecciona Show User Security Credentials para ver tu ID de clave de acceso y tu clave de acceso secreta. A continuación, anota estas credenciales en algún lugar o selecciona el botón Download Credentials, ya que tendrás que introducirlas más adelante en el panel de Braze.

Paso 3: Crear una política
Ve a Policies > Get Started > Create Policy para añadir permisos a tu usuario. A continuación, selecciona Create Your Own Policy. Esto concede permisos limitados, de modo que Braze solo pueda acceder a los contenedores especificados.


Se necesitan políticas diferentes para Currents y para la exportación de datos del panel. s3:GetObject es necesario para que el backend de Braze pueda gestionar los errores.
Especifica el nombre de política que prefieras e introduce el siguiente fragmento de código en la sección Policy Document. Asegúrate de reemplazar INSERTBUCKETNAME por el nombre de tu contenedor. Sin estos permisos, la integración no superará la comprobación de credenciales y no se creará.

Si solo vas a configurar el archivo de mensajes, utiliza el fragmento de código de la pestaña Dashboard Data Export.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME*", "arn:aws:s3:::INSERTBUCKETNAME/", "arn:aws:s3:::INSERTBUCKETNAME"]
}
]
}
Paso 4: Adjuntar la política
Después de crear una nueva política, ve a Users y selecciona tu usuario específico. En la pestaña Permissions, selecciona Attach Policy y elige la nueva política que creaste. Ahora ya puedes vincular tus credenciales de AWS a tu cuenta de Braze.

Paso 5: Vincular Braze con AWS

Si solo vas a configurar el archivo de mensajes, sigue los pasos de la pestaña Dashboard Data Export.
En Braze, ve a Integraciones de socios > Currents.
A continuación, selecciona Crear nuevo Current y luego Exportación de datos de Amazon S3.
Ponle un nombre a tu Current. En la sección Credenciales, asegúrate de que esté seleccionada la opción Clave de acceso secreta de AWS y, a continuación, introduce tu ID de acceso de S3, tu clave de acceso secreta de AWS y el nombre de tu contenedor de AWS S3 en los campos correspondientes.
Proporciona un correo electrónico de contacto para las notificaciones de errores de integración. Braze envía notificaciones a esta dirección si la integración encuentra errores, como problemas con las credenciales o de conectividad. Para ayudar a garantizar que las personas adecuadas reciban las alertas, utiliza una lista de distribución o una dirección de correo electrónico de grupo.


Mantén actualizados tu ID de clave de acceso de AWS y tu clave de acceso secreta. Si las credenciales de tu conector caducan, el conector dejará de enviar eventos. Si esta situación persiste durante más de 5 días, se descartarán los eventos del conector y los datos se perderán de forma permanente.
También puedes añadir las siguientes personalizaciones según tus necesidades:
- Ruta de la carpeta: El valor predeterminado es
currents. Si esta carpeta no existe, Braze la creará automáticamente por ti. - Cifrado AES-256 del lado del servidor en reposo: Está desactivado de forma predeterminada e incluye el encabezado
x-amz-server-side-encryption.
Selecciona Lanzar Current para continuar.
Una notificación te indicará si tus credenciales se han validado correctamente. AWS S3 ya está configurado para Braze Currents.
En Braze, ve a Integraciones de socios > Socios tecnológicos y selecciona Amazon S3.
En la página Credenciales de AWS, asegúrate de que esté seleccionada la opción Clave de acceso secreta de AWS y, a continuación, introduce tu ID de acceso de AWS, tu clave de acceso secreta de AWS y el nombre de tu contenedor de AWS S3 en los campos correspondientes. Al introducir tu clave secreta, selecciona primero Probar credenciales para asegurarte de que tus credenciales funcionan y, después, selecciona Guardar cuando la prueba sea correcta.


Siempre puedes obtener nuevas credenciales yendo a tu usuario y seleccionando Create Access Key en la pestaña Security Credentials de la consola de AWS.
Una notificación te indicará si tus credenciales se han validado correctamente. AWS S3 ya está integrado en tu cuenta de Braze.
Método de autenticación con ARN de rol de AWS
Este método de autenticación genera un nombre de recurso de Amazon (ARN) de rol que permite a la cuenta de Amazon de Braze autenticarse como miembro del rol que creaste para escribir datos en tu contenedor.
Paso 1: Crear la política
Para empezar, inicia sesión en la consola de administración de AWS como administrador de la cuenta. Ve a la sección IAM de la consola de AWS, selecciona Policies en la barra de navegación y, a continuación, selecciona Create Policy.


Se necesitan políticas diferentes para Currents y para la exportación de datos del panel. s3:GetObject es necesario para que el backend de Braze pueda gestionar los errores.
Abre la pestaña JSON e introduce el siguiente fragmento de código en la sección Policy Document. Asegúrate de reemplazar INSERTBUCKETNAME por el nombre de tu contenedor. Cuando termines, selecciona Review Policy.

Si solo vas a configurar el archivo de mensajes, utiliza el fragmento de código de la pestaña Dashboard Data Export.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject","s3:DeleteObject"],
"Resource": ["arn:aws:s3:::INSERTBUCKETNAME/*"]
}
]
}
A continuación, asigna un nombre y una descripción a la política y selecciona Create Policy.


Paso 2: Crear el rol
En la misma sección IAM de la consola, selecciona Roles > Create Role.

Obtén el ID de tu cuenta de Braze y el ID externo desde tu cuenta de Braze:
- Currents: En Braze, ve a Integraciones de socios > Currents. A continuación, selecciona Crear nueva Current y luego Exportación de datos de Amazon S3. Aquí encontrarás los identificadores necesarios para crear tu rol.
- Exportación de datos del panel: En Braze, ve a Integraciones de socios > Socios tecnológicos y selecciona Amazon S3. Aquí encontrarás los identificadores necesarios para crear tu rol. (Crea tus roles aquí si solo vas a configurar el archivo de mensajes).
De vuelta en la consola de AWS, selecciona Another AWS Account como tipo de selector de entidad de confianza. Proporciona el ID de tu cuenta de Braze, marca la casilla Require external ID e introduce el ID externo de Braze. Cuando termines, selecciona Next.

Paso 3: Adjuntar la política
A continuación, adjunta al rol la política que creaste antes. Busca la política en la barra de búsqueda y marca la casilla junto a ella para adjuntarla. Cuando termines, selecciona Next.

Asigna un nombre y una descripción al rol y selecciona Create Role.

Ahora verás el rol recién creado en la lista.
Paso 4: Vincular con Braze AWS
En la consola de AWS, busca el rol recién creado en la lista. Selecciona el nombre para abrir los detalles de ese rol.

Anota el Role ARN que aparece en la parte superior de la página de resumen del rol.

Vuelve a tu cuenta de Braze y copia el ARN del rol en el campo correspondiente.

Si solo vas a configurar el archivo de mensajes, sigue los pasos de la pestaña Dashboard Data Export.
En Braze, ve a Integraciones de socios > Currents. A continuación, selecciona Crear nueva Current y luego Exportación de datos de Amazon S3.

Asigna un nombre a tu Current. Luego, en la sección Credenciales, asegúrate de que ARN de rol de AWS esté seleccionado y proporciona el ARN de tu rol y el nombre de tu contenedor de AWS S3 en los campos designados.
Proporciona un correo electrónico de contacto para las notificaciones de errores de integración. Braze envía notificaciones a esta dirección si la integración encuentra errores, como problemas con las credenciales o de conectividad. Para ayudar a garantizar que las personas adecuadas reciban las alertas, utiliza una lista de distribución o una dirección de correo electrónico de grupo.
También puedes añadir las siguientes personalizaciones según tus necesidades:
- Ruta de la carpeta (el valor predeterminado es
currents) - Cifrado AES-256 en reposo del lado del servidor (el valor predeterminado es desactivado): incluye el encabezado
x-amz-server-side-encryption
Selecciona Lanzar Current para continuar. Una notificación te indicará si tus credenciales se validaron correctamente. AWS S3 ya está configurado para Braze Currents.

Si recibes el error “S3 credentials are invalid”, es posible que se deba a que realizaste la integración demasiado rápido después de crear un rol en AWS. Espera e inténtalo de nuevo. Si el mensaje menciona el acceso PutObject o el cifrado del lado del servidor en las exportaciones de datos del panel, consulta Solución de problemas de errores de credenciales de S3.
En Braze, ve a la página Socios tecnológicos en Integraciones y selecciona Amazon S3.

En la página Credenciales de AWS, asegúrate de que el botón de opción ARN de rol de AWS esté seleccionado y, a continuación, introduce el ARN de tu rol y el nombre de tu contenedor de AWS S3 en los campos designados. Selecciona primero Probar credenciales para confirmar que tus credenciales funcionan correctamente y, si la prueba es correcta, selecciona Guardar.

Siempre puedes obtener nuevas credenciales yendo a tu usuario y seleccionando Create Access Key en la pestaña Security Credentials de la consola de AWS.
Una notificación te informará si tus credenciales se validaron correctamente. AWS S3 ya está integrado en tu cuenta de Braze.
Consideraciones de seguridad para el método de ARN de rol
Cuando seleccionas Another AWS Account e introduces el ID de la cuenta de Braze en el Paso 2, AWS crea una política de confianza cuyo Principal es la raíz de la cuenta de AWS de Braze (arn:aws:iam::<BRAZE_ACCOUNT_ID>:root). Si tu equipo de seguridad revisa esta política de confianza, ten en cuenta lo siguiente:
- Braze utiliza un usuario de IAM compartido para asumir tu rol.
- El ID externo es obligatorio. Mantén la condición
sts:ExternalIden tu política de confianza, también cuando limites el principal a un usuario de IAM específico. - Puedes limitar el principal a un usuario de IAM específico. Si tu política de seguridad no permite confiar en la raíz de una cuenta, puedes reemplazar el
Principalpor el ARN del usuario de IAM de Braze. Para obtener ese ARN para tu región, ponte en contacto con el soporte de Braze. - El usuario de IAM de Braze puede cambiar. El principal suele ser estable, pero Braze podría cambiarlo en el futuro. Si limitas tu política de confianza a un usuario de IAM específico y ese usuario cambia, Braze no podrá asumir tu rol hasta que actualices la política de confianza.
- Los principales varían según el producto. Currents y las exportaciones de datos del panel utilizan el mismo usuario de IAM de Braze. La ingesta de datos en la nube utiliza un principal diferente en otra cuenta de AWS, así que configura su política de confianza por separado.
Actualización de credenciales de Amazon S3 para Currents
Puedes actualizar las credenciales de Amazon S3 en un conector de Braze Currents existente sin detener la integración ni perder los datos ya exportados a tu contenedor.
Para actualizar las credenciales, o para cambiar entre AWS Secret Access Key y AWS Role ARN, completa los pasos de IAM y AWS para el método elegido descritos anteriormente en este artículo (políticas, usuario o rol, e identificadores según sea necesario).
Cuando hayas terminado de preparar las credenciales en AWS, ve a Partner Integrations > Currents en Braze, localiza tu conector de Amazon S3 en la lista, selecciona Edit, actualiza las Credentials y selecciona Update Current. Braze valida las credenciales que introduces; tu conector sigue funcionando y los datos que ya están en tu contenedor permanecen disponibles. Para más información, consulta Actualización de Currents en Configurar Currents.
Cambiar el contenedor de archivado de mensajes
El archivado de mensajes sigue funcionando mientras cambias a un nuevo contenedor de S3 o a un nuevo rol de IAM. Braze guarda tu nueva configuración solo después de que se supere la prueba de credenciales, de modo que el archivado siempre apunta a un destino que funciona.
El cambio no surte efecto de inmediato. Durante un breve periodo después de guardar, es posible que Braze siga usando tu configuración anterior:
- Es posible que tu contenedor anterior siga recibiendo algunos mensajes archivados, por ejemplo, de envíos que ya estaban en curso.
- Es posible que tu rol de IAM anterior (si usas autenticación basada en roles y cambiaste el ARN del rol) se siga usando para escribir en tu nuevo contenedor.
No retires el acceso a tu contenedor o rol anterior hasta que lleguen nuevos archivos a tu nuevo contenedor durante varios minutos, para confirmar que la migración se ha completado. Si cambias el ARN del rol, asegúrate de que el rol anterior también pueda escribir en el nuevo contenedor hasta entonces. De lo contrario, es posible que los mensajes archivados durante el cambio no se guarden, y no se volverá a intentar archivarlos.
Cómo Currents sube archivos a S3
Currents cierra cada archivo Avro cuando alcanza el umbral de escritura de Avro y, a continuación, sube el archivo completo a tu contenedor mediante la carga multiparte de Amazon S3 en partes de 5 MB. La carga multiparte es independiente del umbral de escritura y suele finalizar en cuestión de segundos después de cerrarse el archivo.
Amazon S3 no expone como objeto una carga multiparte en curso. Un archivo de Currents solo se vuelve visible para ListObjectsV2 y GetObject una vez completada la carga, por lo que los procesos posteriores que leen tu contenedor a través de las API estándar de S3 no ven archivos subidos parcialmente.
Comportamiento de exportación
Los usuarios que han integrado una solución de almacenamiento de datos en el cloud y exportan API, informes del panel o informes CSV experimentan lo siguiente:
- Ninguna exportación de API devuelve una URL de descarga en el cuerpo de la respuesta, por lo que deben recuperarse a través del almacenamiento de datos.
- Todos los informes del panel y los informes CSV se envían al correo electrónico del usuario para su descarga (no se requieren permisos de almacenamiento) y se guardan como copia de seguridad en el almacenamiento de datos.
Error Unable to connect to S3, please validate that your credentials are correct
Si ves este error al descargar una exportación CSV, abre la integración de Amazon S3 en la página Socios tecnológicos y selecciona Probar credenciales. El resultado explica qué falló en la validación; por ejemplo, puede que a la clave le falte el permiso GetObject, lo que impide que Braze genere enlaces de descarga.
Actualiza tu política de IAM para que el usuario o rol de la integración pueda llamar a s3:GetObject en el contenedor de S3 y la ruta de objetos configurados en tu integración de Braze. Para otros problemas de exportación, consulta Solución de problemas de exportación.

Requisito de formato JSON: Para las exportaciones JSON, Braze utiliza el formato JSONL (JSON delimitado por saltos de línea), en el que cada línea contiene un objeto JSON independiente. Este formato es distinto del JSON estándar, que es una única matriz u objeto JSON. Cada línea del archivo exportado es un objeto JSON válido, pero el archivo en su conjunto no es un único documento JSON válido. Al procesar estos archivos, analiza cada línea por separado como un objeto JSON independiente, en lugar de intentar analizar el archivo completo como un único documento JSON.
Las exportaciones de Currents utilizan el formato Apache Avro (archivos .avro), no JSON. Este requisito de formato JSON se aplica a las exportaciones de datos del panel y a las exportaciones de API.
Varios conectores
Si quieres crear más de un conector de Currents para enviar datos a tu contenedor de S3, puedes usar las mismas credenciales, pero debes especificar una ruta de carpeta diferente para cada uno. Puedes crearlos en el mismo espacio de trabajo, o dividirlos y crearlos en varios espacios de trabajo. También tienes la opción de crear una política para cada integración, o crear una sola política que cubra ambas integraciones.
Si piensas usar el mismo contenedor de S3 tanto para Currents como para las exportaciones de datos, necesitas crear dos políticas independientes, ya que cada integración requiere permisos diferentes.
Solución de problemas
Error: La cuenta no tiene acceso PutObject
Si ves el siguiente error al guardar las credenciales de Amazon S3 para las exportaciones de datos del panel, puede deberse a permisos incorrectos o a la configuración del cifrado del lado del servidor.
S3 Credentials are invalid because this account does not have 'PutObject access'. Please check the permissions and ensure that this key has access to 'PutObject' in the 'CUSTOMER-BUCKET-HERE' bucket.
Para resolver este problema, revisa los siguientes aspectos.
Política del contenedor incorrecta
Confirma que creaste una política con los permisos correctos, tal como se describe en Integración de Amazon S3 (usa la política Dashboard Data Export para tu método de autenticación).
Cifrado del lado del servidor
User: arn:aws:sts::XXX:assumed-role/braze-iam-role/braze is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:XXX because no identity-based policy allows the kms:GenerateDataKey action
Si recibes este mensaje de error del soporte de Braze o en tus registros de AWS, tu contenedor de S3 está configurado con cifrado de AWS Key Management Service (SSE-KMS). Braze no admite SSE-KMS para Currents ni para las exportaciones de datos del panel. Para resolverlo, desactiva SSE-KMS en tu contenedor de S3.

Braze admite el cifrado del lado del servidor con claves administradas por S3 (SSE-S3), que es compatible tanto con Currents como con las exportaciones de datos del panel.
Comprueba los permisos adicionales
Asegúrate de tener los permisos necesarios, incluidos s3:GetBucketLocation y s3:PutObject.