> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metronome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Staging S3

Certaines destinations sans ressources de staging intégrées nécessitent un bucket de staging pour charger efficacement les données.

### Prérequis

* Par défaut, l'authentification S3 utilise un accès basé sur les rôles. Vous aurez besoin de la politique d'approbation préremplie avec l'identifiant du service de synchronisation des données pour accorder l'accès. Elle doit ressembler à l'objet JSON suivant avec un identifiant de compte de service approprié :

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["sts:AssumeRoleWithWebIdentity"],
      "Principal": {
        "Federated": "accounts.google.com"
      },
      "Condition": {
        "StringEquals": {
          "accounts.google.com:sub": "<some_service_account_identifier>"
        }
      }
    }
  ]
}
```

### Créer un bucket de staging

1. Accédez à la page du service **S3**.
2. Cliquez sur **Create bucket**.
3. Saisissez un **Bucket name** et modifiez les paramètres par défaut selon vos besoins. Remarque : **Object Ownership** peut être réglé sur « **ACLs disabled** » et **Block Public Access settings for this bucket** peut être réglé sur « **Block all public access** » comme recommandé par AWS. Notez le nom du bucket et la région AWS.
4. Cliquez sur **Create bucket**.

### Créer la politique

5. Accédez à la page du service **IAM**, cliquez sur l'onglet de navigation **Policies**, puis cliquez sur **Create policy**.
6. Cliquez sur l'onglet JSON et collez la politique suivante, en veillant à remplacer `BUCKET_NAME` par le nom du bucket choisi ci-dessus.
   1. **Remarque** : la première politique s'applique à `BUCKET_NAME` tandis que la deuxième politique s'applique uniquement au contenu du bucket — `BUCKET_NAME/*` — une distinction importante.

```json JSON policy theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::BUCKET_NAME"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::BUCKET_NAME/*"
    }
  ]
}
```

7. Cliquez jusqu'à l'étape **Review**, choisissez un **nom** pour la politique, par exemple, `transfer-service-policy` (qui sera référencé à l'étape suivante), ajoutez une description et cliquez sur **Create policy**.

### Créer le rôle

1. Accédez à la page du service **IAM**.
2. Accédez à l'onglet de navigation **Roles** et cliquez sur **Create role**.
3. Sélectionnez **Custom trust policy** et collez la politique d'approbation fournie pour autoriser l'accès AssumeRole au nouveau rôle. Cliquez sur **Next**.
4. Ajoutez la politique d'autorisations créée ci-dessus et cliquez sur **Next**.
5. Saisissez un **Role name**, par exemple, `transfer-role`, et cliquez sur **Create role**.
6. Une fois créé avec succès, recherchez le rôle créé dans la liste des rôles, cliquez sur le nom du rôle et notez la valeur **ARN**.

### C'est terminé !

Utilisez ce bucket de staging S3 configuré lors de la connexion de votre source ou destination de données préférée.
