Amazon S3
Amazon S3 est un système de stockage hautement évolutif proposé par Amazon Web Services.

Si vous passez d’un fournisseur de stockage cloud à un autre, contactez votre gestionnaire du succès des clients Braze pour obtenir de l’aide sur la configuration et la validation de votre nouvelle intégration.
L’intégration de Braze et d’Amazon S3 propose deux stratégies d’intégration :
- Tirez parti de Currents, qui vous permet d’y stocker des données jusqu’à ce que vous souhaitiez les connecter à d’autres plateformes, outils et emplacements.
- Utilisez les exportations de données du tableau de bord (telles que les exportations CSV et les rapports d’engagement).
Prérequis
| Condition | Description |
|---|---|
| Compte Amazon S3 | Vous avez besoin d’un compte Amazon S3 pour profiter de ce partenariat. |
| Compartiment S3 dédié | Avant d’intégrer Amazon S3, vous devez créer un compartiment S3 pour votre application. Si vous disposez déjà d’un compartiment S3, nous vous recommandons tout de même d’en créer un nouveau spécifiquement pour Braze afin de pouvoir limiter les autorisations. Consultez les instructions suivantes pour savoir comment créer un nouveau compartiment. |
| Currents | Pour exporter des données vers Amazon S3, vous devez avoir configuré Braze Currents pour votre compte. Currents n’est pas nécessaire si vous configurez uniquement l’archivage des messages. |
Création d’un nouveau compartiment S3
Pour créer un compartiment pour votre application, procédez comme suit :
- Ouvrez la console Amazon S3 et suivez les instructions pour Sign in (vous connecter) ou Create an Account with AWS (créer un compte AWS).
- Une fois connecté, sélectionnez S3 dans la catégorie Storage & Content Delivery.
- Sélectionnez Create Bucket sur l’écran suivant.
- Lorsque vous y êtes invité, créez votre compartiment et sélectionnez une région AWS.
Braze ne vous permet pas de choisir ni de configurer une région dans le tableau de bord. La région AWS est déterminée par l’endroit où vous créez le compartiment dans la console AWS. L’intégration envoie les données au nom du compartiment que vous fournissez, et AWS achemine automatiquement les requêtes vers la région du compartiment. Si votre connecteur tente de se connecter à une région différente de celle souhaitée (par exemple, eu-west-1 au lieu de eu-central-1), créez ou utilisez un compartiment S3 dans la région souhaitée sur AWS. Aucune modification n’est nécessaire du côté de Braze.

Intégration
Braze propose deux stratégies d’intégration différentes avec Amazon S3 : l’une pour Braze Currents et l’autre pour toutes les exportations de données du tableau de bord (comme les exportations CSV ou les rapports d’engagement). Ces deux intégrations prennent en charge deux méthodes d’authentification ou d’autorisation :
Méthode d’authentification par clé secrète AWS
Cette méthode d’authentification génère une clé secrète et un ID de clé d’accès qui permettent à Braze de s’authentifier en tant qu’utilisateur de votre compte AWS afin d’écrire des données dans votre compartiment.
Étape 1 : Créer un utilisateur

Si vous configurez uniquement l’archivage des messages, suivez les étapes de l’onglet Dashboard Data Export.
Pour obtenir votre ID de clé d’accès et votre clé d’accès secrète, créez un utilisateur IAM et un groupe d’administrateurs dans AWS.
Étape 2 : Obtenir les identifiants
Après avoir créé un nouvel utilisateur, sélectionnez Show User Security Credentials pour afficher votre ID de clé d’accès et votre clé d’accès secrète. Notez ensuite ces identifiants quelque part ou sélectionnez le bouton Download Credentials, car vous devrez les saisir plus tard dans le tableau de bord de Braze.

Étape 3 : Créer une politique
Accédez à Policies > Get Started > Create Policy pour ajouter des autorisations à votre utilisateur. Sélectionnez ensuite Create Your Own Policy. Cette politique accorde des autorisations limitées : Braze peut ainsi accéder uniquement aux compartiments spécifiés.


Currents et l’exportation des données du tableau de bord nécessitent des politiques différentes. L’autorisation s3:GetObject est nécessaire pour permettre au backend de Braze de gérer les erreurs.
Indiquez le nom de politique de votre choix, puis saisissez l’extrait de code suivant dans la section Policy Document. Veillez à remplacer INSERTBUCKETNAME par le nom de votre compartiment. Sans ces autorisations, l’intégration échoue à la vérification des identifiants et ne sera pas créée.

Si vous configurez uniquement l’archivage des messages, utilisez l’extrait de code de l’onglet 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"]
}
]
}
Étape 4 : Associer la politique
Après avoir créé la nouvelle politique, accédez à Users et sélectionnez votre utilisateur. Dans l’onglet Permissions, sélectionnez Attach Policy, puis choisissez la politique que vous venez de créer. Vous êtes maintenant prêt à associer vos identifiants AWS à votre compte Braze.

Étape 5 : Associer Braze à AWS

Si vous configurez uniquement l’archivage des messages, suivez les étapes de l’onglet Dashboard Data Export.
Dans Braze, accédez à Intégrations partenaires > Currents.
Sélectionnez ensuite Créer un nouveau Current, puis Exportation de données Amazon S3.
Donnez un nom à votre Current. Dans la section Identifiants, assurez-vous que Clé d’accès secrète AWS est sélectionné, puis saisissez votre ID d’accès S3, votre clé d’accès secrète AWS et le nom de votre compartiment AWS S3 dans les champs prévus à cet effet.
Indiquez une adresse e-mail de contact pour les notifications d’erreurs d’intégration. Braze envoie des notifications à cette adresse si l’intégration rencontre des erreurs, telles que des problèmes d’identifiants ou de connectivité. Pour vous assurer que les bonnes personnes reçoivent les alertes, utilisez une liste de distribution ou une adresse e-mail de groupe.


Maintenez à jour votre ID de clé d’accès AWS et votre clé d’accès secrète. Si les identifiants de votre connecteur expirent, celui-ci cesse d’envoyer des événements. Si cette situation persiste pendant plus de 5 jours, les événements du connecteur sont abandonnés et les données sont définitivement perdues.
Vous pouvez également ajouter les personnalisations suivantes selon vos besoins :
- Chemin du dossier :
currentspar défaut. Si ce dossier n’existe pas, Braze le crée automatiquement pour vous. - Chiffrement AES-256 côté serveur des données au repos : désactivé par défaut ; inclut l’en-tête
x-amz-server-side-encryption.
Sélectionnez Lancer Current pour continuer.
Une notification vous indique si vos identifiants ont bien été validés. AWS S3 est maintenant configuré pour Braze Currents.
Dans Braze, accédez à Intégrations partenaires > Partenaires technologiques et sélectionnez Amazon S3.
Sur la page Identifiants AWS, assurez-vous que Clé d’accès secrète AWS est sélectionné, puis saisissez votre ID d’accès AWS, votre clé d’accès secrète AWS et le nom de votre compartiment AWS S3 dans les champs prévus à cet effet. Lors de la saisie de votre clé secrète, sélectionnez d’abord Tester les identifiants pour vérifier qu’ils fonctionnent, puis sélectionnez Enregistrer une fois le test réussi.


Vous pouvez à tout moment obtenir de nouveaux identifiants en accédant à votre utilisateur et en sélectionnant Create Access Key dans l’onglet Security Credentials de la console AWS.
Une notification vous indique si vos identifiants ont bien été validés. AWS S3 est maintenant intégré à votre compte Braze.
Méthode d’authentification par ARN de rôle AWS
Cette méthode d’authentification génère un Amazon Resource Name (ARN) de rôle qui permet au compte Amazon de Braze de s’authentifier en tant que membre du rôle que vous avez créé pour écrire des données dans votre compartiment.
Étape 1 : Créer une politique
Pour commencer, connectez-vous à la console de gestion AWS en tant qu’administrateur du compte. Accédez à la section IAM de la console AWS, sélectionnez Policies dans la barre de navigation, puis Create Policy.


Currents et l’exportation des données du tableau de bord nécessitent des politiques différentes. s3:GetObject est requis pour permettre au backend de Braze de gérer les erreurs.
Ouvrez l’onglet JSON et saisissez l’extrait de code suivant dans la section Policy Document. Veillez à remplacer INSERTBUCKETNAME par le nom de votre compartiment. Sélectionnez Review Policy lorsque vous avez terminé.

Si vous configurez uniquement l’archivage des messages, utilisez l’extrait de code de l’onglet Exportation des données du tableau de bord.
{
"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/*"]
}
]
}
Ensuite, donnez un nom et une description à la politique, puis sélectionnez Create Policy.


Étape 2 : Créer un rôle
Dans la même section IAM de la console, sélectionnez Roles > Create Role.

Récupérez l’ID de votre compte Braze et l’ID externe depuis votre compte Braze :
- Currents : Dans Braze, accédez à Intégrations partenaires > Currents. Sélectionnez ensuite Créer un nouveau Current, puis Exportation de données Amazon S3. Vous y trouverez les identifiants nécessaires pour créer votre rôle.
- Exportation des données du tableau de bord : Dans Braze, accédez à Intégrations partenaires > Partenaires technologiques et sélectionnez Amazon S3. Vous y trouverez les identifiants nécessaires pour créer votre rôle. (Créez vos rôles ici si vous configurez uniquement l’archivage des messages.)
De retour dans la console AWS, sélectionnez Another AWS Account comme type de sélecteur d’entité de confiance. Indiquez l’ID de votre compte Braze, cochez la case Require external ID et saisissez l’ID externe de Braze. Sélectionnez Next lorsque vous avez terminé.

Étape 3 : Associer la politique
Ensuite, associez au rôle la politique que vous avez créée précédemment. Recherchez la politique dans la barre de recherche, puis cochez la case à côté de celle-ci pour l’associer. Sélectionnez Next lorsque vous avez terminé.

Donnez un nom et une description au rôle, puis sélectionnez Create Role.

Votre nouveau rôle apparaît désormais dans la liste.
Étape 4 : Associer à Braze AWS
Dans la console AWS, recherchez votre nouveau rôle dans la liste. Sélectionnez son nom pour en afficher les détails.

Notez la valeur Role ARN en haut de la page de résumé du rôle.

Revenez à votre compte Braze et copiez l’ARN du rôle dans le champ prévu à cet effet.

Si vous configurez uniquement l’archivage des messages, suivez les étapes de l’onglet Exportation des données du tableau de bord.
Dans Braze, accédez à Intégrations partenaires > Currents. Sélectionnez ensuite Créer un nouveau Current, puis Exportation de données Amazon S3.

Donnez un nom à votre Current. Ensuite, dans la section Identifiants, assurez-vous que ARN de rôle AWS est sélectionné, puis indiquez l’ARN de votre rôle et le nom de votre compartiment AWS S3 dans les champs prévus.
Indiquez une adresse e-mail de contact pour les notifications d’erreurs d’intégration. Braze envoie des notifications à cette adresse si l’intégration rencontre des erreurs, telles que des problèmes d’identifiants ou de connectivité. Pour vous assurer que les bonnes personnes reçoivent les alertes, utilisez une liste de distribution ou une adresse e-mail de groupe.
Vous pouvez également ajouter les personnalisations suivantes selon vos besoins :
- Chemin du dossier (par défaut :
currents) - Chiffrement AES-256 côté serveur au repos (désactivé par défaut) : inclut l’en-tête
x-amz-server-side-encryption
Sélectionnez Lancer Current pour continuer. Une notification vous indique si vos identifiants ont bien été validés. AWS S3 est désormais configuré pour Braze Currents.

Si vous recevez l’erreur « S3 credentials are invalid », cela peut être dû à une intégration trop rapide après la création d’un rôle dans AWS. Patientez, puis réessayez. Si le message mentionne l’accès PutObject ou le chiffrement côté serveur pour les exportations de données du tableau de bord, consultez Résolution des problèmes d’identifiants S3.
Dans Braze, accédez à la page Partenaires technologiques sous Intégrations et sélectionnez Amazon S3.

Sur la page Identifiants AWS, assurez-vous que le bouton radio ARN de rôle AWS est sélectionné, puis saisissez l’ARN de votre rôle et le nom de votre compartiment AWS S3 dans les champs prévus. Sélectionnez d’abord Tester les identifiants pour vérifier que vos identifiants fonctionnent correctement, puis Enregistrer si le test réussit.

Vous pouvez à tout moment récupérer de nouveaux identifiants en accédant à votre utilisateur et en sélectionnant Create Access Key dans l’onglet Security Credentials de la console AWS.
Une notification vous indique si vos identifiants ont bien été validés. AWS S3 est désormais intégré à votre compte Braze.
Considérations de sécurité pour la méthode par ARN de rôle
Lorsque vous sélectionnez Another AWS Account et saisissez l’ID du compte Braze à l’étape 2, AWS crée une politique de confiance dont le Principal est la racine du compte AWS de Braze (arn:aws:iam::<BRAZE_ACCOUNT_ID>:root). Si votre équipe de sécurité examine cette politique de confiance, tenez compte des points suivants :
- Braze utilise un utilisateur IAM partagé pour assumer votre rôle.
- L’ID externe est obligatoire. Conservez la condition
sts:ExternalIddans votre politique de confiance, y compris lorsque vous limitez le principal à un utilisateur IAM spécifique. - Vous pouvez limiter le principal à un utilisateur IAM spécifique. Si votre politique de sécurité n’autorise pas à faire confiance à la racine d’un compte, vous pouvez remplacer le
Principalpar l’ARN de l’utilisateur IAM de Braze. Pour obtenir cet ARN pour votre région, contactez l’assistance Braze. - L’utilisateur IAM de Braze peut changer. Le principal est généralement stable, mais Braze pourrait le modifier à l’avenir. Si vous limitez votre politique de confiance à un utilisateur IAM spécifique et que cet utilisateur change, Braze ne pourra plus assumer votre rôle tant que vous n’aurez pas mis à jour la politique de confiance.
- Les principaux diffèrent selon le produit. Currents et les exportations de données du tableau de bord utilisent le même utilisateur IAM de Braze. L’ingestion de données cloud utilise un principal différent dans un autre compte AWS : configurez donc sa politique de confiance séparément.
Mise à jour des identifiants Amazon S3 pour Currents
Vous pouvez mettre à jour les identifiants Amazon S3 sur un connecteur Braze Currents existant sans interrompre l’intégration ni perdre les données déjà exportées vers votre compartiment.
Pour actualiser les identifiants — ou pour basculer entre AWS Secret Access Key et AWS Role ARN — terminez les étapes IAM et AWS décrites plus haut dans cet article pour la méthode choisie (politiques, utilisateur ou rôle, et identifiants selon les besoins).
Lorsque vous avez terminé de préparer les identifiants dans AWS, accédez à Partner Integrations > Currents dans Braze, localisez votre connecteur Amazon S3 dans la liste, sélectionnez Edit, mettez à jour les Credentials, puis sélectionnez Update Current. Braze valide les identifiants que vous saisissez ; votre connecteur continue de fonctionner et les données déjà présentes dans votre compartiment restent disponibles. Pour en savoir plus, consultez la section Mise à jour de Currents dans Configurer Currents.
Changer de compartiment pour l’archivage des messages
L’archivage des messages continue de fonctionner pendant que vous passez à un nouveau compartiment S3 ou à un nouveau rôle IAM. Braze n’enregistre vos nouveaux paramètres qu’après la réussite du test des identifiants, afin que l’archivage pointe toujours vers une destination opérationnelle.
Le changement ne prend pas effet immédiatement. Pendant un court moment après l’enregistrement, Braze peut encore utiliser vos paramètres précédents :
- Votre compartiment précédent peut encore recevoir certains messages archivés, par exemple ceux issus d’envois déjà en cours.
- Votre rôle IAM précédent (si vous utilisez l’authentification basée sur les rôles et que vous avez modifié l’ARN du rôle) peut encore être utilisé pour écrire dans votre nouveau compartiment.
Ne supprimez pas l’accès à votre compartiment ou à votre rôle précédent tant que de nouvelles archives n’arrivent pas dans votre nouveau compartiment depuis plusieurs minutes, afin de confirmer que la migration est terminée. Si vous modifiez l’ARN du rôle, assurez-vous que le rôle précédent peut également écrire dans le nouveau compartiment jusqu’à ce moment-là. Sinon, les messages archivés pendant le changement risquent de ne pas être enregistrés, et aucune nouvelle tentative ne sera effectuée.
Comment Currents charge les fichiers dans S3
Currents ferme chaque fichier Avro lorsqu’il atteint le seuil d’écriture Avro, puis charge le fichier finalisé dans votre compartiment à l’aide du chargement partitionné Amazon S3, par parties de 5 MB. Ce chargement partitionné est indépendant du seuil d’écriture et se termine généralement quelques secondes après la fermeture du fichier.
Amazon S3 n’expose pas un chargement partitionné en cours sous forme d’objet. Un fichier Currents n’est visible par ListObjectsV2 et GetObject qu’une fois le chargement terminé. Les processus en aval qui lisent votre compartiment via les API S3 standard ne voient donc jamais de fichiers partiellement chargés.
Comportement des exportations
Les utilisateurs qui ont intégré une solution de stockage de données cloud et qui exportent des API, des rapports du tableau de bord ou des rapports CSV constatent ce qui suit :
- Aucune exportation d’API ne renvoie d’URL de téléchargement dans le corps de la réponse : les fichiers doivent être récupérés via le stockage de données.
- Tous les rapports du tableau de bord et les rapports CSV sont envoyés par e-mail à l’utilisateur pour téléchargement (aucune autorisation de stockage requise) et sauvegardés dans le stockage de données.
Erreur Unable to connect to S3, please validate that your credentials are correct
Si cette erreur s’affiche lors du téléchargement d’une exportation CSV, ouvrez l’intégration Amazon S3 sur la page Partenaires technologiques et sélectionnez Tester les identifiants. Le résultat indique ce qui a échoué lors de la validation : par exemple, il se peut que la clé ne dispose pas de l’autorisation GetObject, ce qui empêche Braze de générer des liens de téléchargement.
Mettez à jour votre politique IAM afin que l’utilisateur ou le rôle de l’intégration puisse appeler s3:GetObject sur le compartiment S3 et le chemin d’objet configurés dans votre intégration Braze. Pour d’autres problèmes d’exportation, consultez la section Résolution des problèmes d’exportation.

Exigence relative au format JSON : Pour les exportations JSON, Braze utilise le format JSONL (JSON délimité par des sauts de ligne), dans lequel chaque ligne contient un objet JSON distinct. Ce format diffère du JSON standard, qui se compose d’un seul tableau ou objet JSON. Chaque ligne du fichier exporté est un objet JSON valide, mais le fichier dans son ensemble n’est pas un document JSON valide unique. Lors du traitement de ces fichiers, analysez chaque ligne individuellement comme un objet JSON distinct plutôt que d’essayer d’analyser l’ensemble du fichier comme un document JSON unique.
Les exportations Currents utilisent le format Apache Avro (fichiers .avro), et non JSON. Cette exigence relative au format JSON s’applique aux exportations de données du tableau de bord et aux exportations d’API.
Plusieurs connecteurs
Si vous prévoyez de créer plusieurs connecteurs Currents pour envoyer des données vers votre compartiment S3, vous pouvez utiliser les mêmes identifiants, mais vous devez indiquer un chemin de dossier différent pour chacun. Vous pouvez les créer dans le même espace de travail, ou les répartir entre plusieurs espaces de travail. Vous avez également la possibilité de créer une politique pour chaque intégration, ou une seule politique qui couvre les deux intégrations.
Si vous prévoyez d’utiliser le même compartiment S3 pour Currents et pour les exportations de données, vous devez créer deux politiques distinctes, car chaque intégration nécessite des autorisations différentes.
Résolution des problèmes
Erreur : le compte n’a pas l’accès PutObject
Cette erreur peut apparaître lorsque vous enregistrez des identifiants Amazon S3 pour les exportations de données du tableau de bord. Elle peut provenir de permissions incorrectes ou des paramètres de chiffrement côté serveur.
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.
Pour résoudre ce problème, vérifiez les points suivants.
Politique de compartiment incorrecte
Vérifiez que vous avez créé une politique avec les permissions décrites dans Intégration d’Amazon S3. Utilisez la politique Dashboard Data Export correspondant à votre méthode d’authentification.
Chiffrement côté serveur
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
Ce message d’erreur peut vous être transmis par le support de Braze ou figurer dans vos journaux AWS. Dans ce cas, votre compartiment S3 utilise le chiffrement AWS Key Management Service (SSE-KMS). Braze ne prend pas en charge SSE-KMS pour Currents ni pour les exportations de données du tableau de bord. Pour résoudre ce problème, désactivez SSE-KMS sur votre compartiment S3.

Braze prend en charge le chiffrement côté serveur avec des clés gérées par S3 (SSE-S3). Ce mode est compatible avec Currents et avec les exportations de données du tableau de bord.
Vérifier les permissions supplémentaires
Assurez-vous de disposer des permissions nécessaires, notamment s3:GetBucketLocation et s3:PutObject.