Skip to content

Amazon S3

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

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 dashboard (como las exportaciones CSV y los informes de interacción).

Requisitos previos

Crear un nuevo contenedor de S3

Para crear un contenedor para tu aplicación, haz lo siguiente:

  1. Abre la consola de Amazon S3 y sigue las instrucciones para Sign in o Create an Account with AWS.
  2. Tras iniciar sesión, selecciona S3 en la categoría Storage & Content Delivery.
  3. Selecciona Create Bucket en la siguiente pantalla.
  4. 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 dashboard. La región de AWS se fija en el lugar donde creas el contenedor en la consola de AWS. La integración envía datos al nombre de contenedor que proporcionas, y AWS enruta automáticamente las solicitudes a la región del contenedor. Si tu conector intenta conectarse a una región diferente a la que deseas (por ejemplo, eu-west-1 en lugar de eu-central-1), crea o utiliza un contenedor de S3 en la región deseada en AWS. No hay nada que cambiar en el lado de Braze.

Integración

Braze tiene dos estrategias diferentes de integración con Amazon S3: una para Braze Currents y otra para todas las exportaciones de datos del dashboard (como exportaciones CSV o informes de interacción). Ambas integraciones admiten dos métodos diferentes de autenticación o autorización:

Método de autenticación de clave secreta de AWS

Este método de autenticación genera una clave secreta y un ID de clave de acceso que permite a Braze autenticarse como usuario en tu cuenta de AWS para escribir datos en tu contenedor.

Paso 1: Crear usuario

Para recuperar tu ID de clave de acceso y tu clave de acceso secreta, crea un usuario IAM y un grupo de administradores en AWS.

Paso 2: Obtener credenciales

Tras crear un nuevo usuario, selecciona Show User Security Credentials para revelar tu ID de clave de acceso y tu clave de acceso secreta. A continuación, anota estas credenciales en algún sitio o selecciona el botón Download Credentials, ya que tendrás que introducirlas en el dashboard de Braze más adelante.

Paso 3: Crear 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 otorga permisos limitados, de modo que Braze solo puede acceder a los contenedores especificados.

Especifica un nombre de política de tu elección e introduce el siguiente fragmento de código en la sección Policy Document. Asegúrate de sustituir INSERTBUCKETNAME por el nombre de tu contenedor. Sin estos permisos, la integración no superará la comprobación de credenciales y no se creará.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "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/*"]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "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 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 selecciona la nueva política que has creado. Ahora estás listo para vincular tus credenciales de AWS a tu cuenta de Braze.

Paso 5: Vincular Braze a AWS

En Braze, ve a Partner Integrations > Currents.

A continuación, selecciona Create New Current y luego Amazon S3 Data Export.

Ponle nombre a tu Current. En la sección Credentials, asegúrate de que está seleccionada AWS Secret Access Key y, a continuación, introduce tu ID de acceso a S3, la clave de acceso secreta de AWS y el nombre de contenedor de AWS S3 en los campos designados.

También puedes añadir las siguientes personalizaciones en función de tus necesidades:

  • Ruta de la carpeta: De forma predeterminada, currents. Si esta carpeta no existe, Braze la crea automáticamente.
  • Encriptación AES-256 del lado del servidor, en reposo: Está predeterminada en OFF e incluye el encabezado x-amz-server-side-encryption.

Selecciona Launch Current para continuar.

Una notificación te informa de si tus credenciales se han validado correctamente. AWS S3 ya está configurado para Braze Currents.

En Braze, ve a Partner Integrations > Technology Partners y selecciona Amazon S3.

En la página de AWS Credentials, asegúrate de que está seleccionada AWS Secret Access Key y, a continuación, introduce tu ID de acceso a AWS, la clave de acceso secreta de AWS y el nombre de contenedor de AWS S3 en los campos designados. Cuando introduzcas tu clave secreta, selecciona primero Test Credentials para asegurarte de que tus credenciales funcionan y, a continuación, selecciona Save cuando lo consigas.

Una notificación te informa de si tus credenciales se han validado correctamente. AWS S3 ya está integrado en tu cuenta de Braze.

Método de autenticación ARN del 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 política

Para comenzar, inicia sesión en la consola de administración de AWS como administrador de cuenta. Ve a la sección IAM de la consola de AWS, selecciona Policies en la barra de navegación y selecciona Create Policy.

Abre la pestaña JSON e introduce el siguiente fragmento de código en la sección Policy Document. Asegúrate de sustituir INSERTBUCKETNAME por el nombre de tu contenedor. Selecciona Review Policy cuando hayas terminado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "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/*"]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "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, dale un nombre y una descripción a la política y selecciona Create Policy.

Paso 2: Crear rol

Dentro de la misma sección IAM de la consola, selecciona Roles > Create Role.

Recupera el ID de tu cuenta de Braze y el ID externo de tu cuenta de Braze:

  • Currents: En Braze, ve a Partner Integrations > Currents. A continuación, selecciona Create New Current y luego Amazon S3 Data Export. Aquí encontrarás los identificadores necesarios para crear tu rol.
  • Exportación de datos del dashboard: En Braze, ve a Partner Integrations > Technology Partners y selecciona Amazon S3. Aquí encontrarás los identificadores necesarios para crear tu rol. (Crea aquí tus roles si solo vas a configurar el archivado 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. Selecciona Next cuando hayas terminado.

La página S3 "Create Role". Esta página tiene campos para el nombre del rol, la descripción del rol, las entidades de confianza, las políticas y el límite de permisos.

Paso 3: Adjuntar política

A continuación, adjunta al rol la política que creaste anteriormente. Busca la política en la barra de búsqueda y coloca una marca de verificación junto a la política para adjuntarla. Selecciona Next cuando hayas terminado.

ARN del rol

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

ARN del rol

Ahora verás tu rol recién creado en la lista.

Paso 4: Vincular a Braze AWS

En la consola de AWS, busca en la lista el rol que acabas de crear. Selecciona el nombre para abrir los detalles de ese rol.

Toma nota del Role ARN 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.

En Braze, ve a Partner Integrations > Currents. A continuación, selecciona Create New Current y selecciona Amazon S3 Data Export.

Dale un nombre a tu Current. A continuación, en la sección Credentials, asegúrate de que está seleccionado AWS Role ARN y proporciona tu ARN de rol y el nombre de contenedor de AWS S3 en los campos designados.

También puedes añadir las siguientes personalizaciones en función de tus necesidades:

  • Ruta de la carpeta (predeterminada a currents)
  • Encriptación AES-256 del lado del servidor, en reposo (predeterminada en OFF) - Incluye el encabezado x-amz-server-side-encryption

Selecciona Launch Current para continuar. Una notificación indica si tus credenciales se han validado correctamente. AWS S3 ya está configurado para Braze Currents.

En Braze, ve a la página de Technology Partners en Integrations y selecciona Amazon S3.

En la página de AWS Credentials, asegúrate de que el botón de opción AWS Role ARN está seleccionado y, a continuación, introduce el ARN de tu rol y el nombre de contenedor de AWS S3 en los campos designados. Selecciona primero Test Credentials para confirmar que tus credenciales funcionan correctamente y, a continuación, selecciona Save cuando lo consigas.

Una notificación te informa de si tus credenciales se han validado correctamente. AWS S3 ya está integrado en tu cuenta de Braze.

Comportamiento de la exportación

Los usuarios que han integrado una solución de almacenamiento en la nube y exportan API, informes del dashboard o informes CSV experimentan lo siguiente:

  • Todas las exportaciones de la API no devuelven una URL de descarga en el cuerpo de la respuesta y deben recuperarse a través del almacenamiento de datos.
  • Todos los informes del dashboard y los informes CSV se envían al correo electrónico del usuario para su descarga (sin necesidad de permisos de almacenamiento) y se guardan 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 de Technology Partners y selecciona Test Credentials. El resultado explica qué falló en la validación; por ejemplo, la clave podría no tener el permiso GetObject, lo que impide que Braze genere enlaces de descarga.

Actualiza tu política 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 más problemas de exportación, consulta Solución de problemas de exportación.

Conectores múltiples

Si pretendes crear más de un conector de Currents para enviarlo a tu contenedor de S3, puedes utilizar 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 dentro de varios espacios de trabajo. También tienes la opción de crear una única política para cada integración, o crear una política que cubra ambas integraciones.

Si piensas utilizar el mismo contenedor de S3 tanto para Currents como para la exportación de datos, deberás crear dos políticas distintas, ya que cada integración requiere permisos diferentes.

Solución de problemas

Error: la cuenta no tiene acceso a PutObject

Si ves el siguiente error al guardar las credenciales de Amazon S3 para las exportaciones de datos del dashboard, puede deberse a permisos incorrectos o a la configuración de encriptación del lado del servidor.

1
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, verifica las siguientes áreas.

Política de contenedor incorrecta

Confirma que creaste una política con los permisos correctos como se describe en Integración de Amazon S3 (utiliza la política de Dashboard Data Export para tu método de autenticación).

Encriptación del lado del servidor

1
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 de soporte de Braze o en tus registros de AWS, tu contenedor de S3 está configurado con encriptación de AWS Key Management Service (SSE-KMS). Braze no admite SSE-KMS para Currents ni para las exportaciones de datos del dashboard. Para resolver esto, desactiva SSE-KMS en tu contenedor de S3.

Verificar permisos adicionales

Asegúrate de que tienes los permisos necesarios, incluyendo s3:GetBucketLocation y s3:PutObject.

New Stuff!