

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3
<a name="db2-s3-integration"></a>

Vous pouvez transférer les fichiers entre votre instance de base de données Amazon RDS for Db2 et un compartiment Amazon Simple Storage Service (Amazon S3) contenant les procédures stockées Amazon RDS. Pour de plus amples informations, veuillez consulter [Référence des procédures stockées Amazon RDS for Db2](db2-stored-procedures.md).

**Note**  
Votre instance de base de données et votre compartiment Amazon S3 doivent se trouver dans la même Région AWS.

Pour que RDS for Db2 s’intègre à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3 où réside RDS for Db2. Si vous n’avez pas de compartiment S3 à l’heure actuelle, [créez-en un](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket-overview.html).

**Topics**
+ [Étape 1 : créer une politique IAM](#db2-creating-iam-policy)
+ [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role)
+ [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](#db2-adding-iam-role)

## Étape 1 : créer une politique IAM
<a name="db2-creating-iam-policy"></a>

Au cours de cette étape, vous créez une politique Gestion des identités et des accès AWS (IAM) avec les autorisations requises pour transférer des fichiers de votre compartiment Amazon S3 vers votre instance de base de données RDS. Cette étape suppose également que vous avez déjà créé un compartiment S3. Pour plus d’informations, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.

Avant de créer la politique, notez les informations suivantes :
+ ARN (Amazon Resource Name) de votre compartiment
+ L'ARN de votre clé AWS Key Management Service (AWS KMS), si votre bucket utilise SSE-KMS SSE-S3 le chiffrement.

La politique IAM que vous créez doit contenir les informations suivantes. *\$1amzn-s3-demo-bucket\$1*Remplacez-le par le nom de votre compartiment S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowS3BucketAccess",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload",
                "s3:ListBucket",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                "arn:aws:s3:::${amzn-s3-demo-bucket}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Vous pouvez créer une politique IAM en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI). 

### Console
<a name="creating-iam-policy-console"></a>

**Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**, puis choisissez **JSON**.

1. Ajoutez des actions par service. Pour transférer les fichiers d’un compartiment Amazon S3 vers Amazon RDS, vous devez sélectionner les autorisations du compartiment et les autorisations d’objets.

1. Développer les **Ressources**. Vous devez spécifier les ressources de votre compartiment et de votre objet.

1. Choisissez **Suivant**.

1. Pour **Nom de la politique**, attribuez un nom à cette politique. 

1. (Facultatif) Pour **Description**, saisissez une description pour cette stratégie.

1. Choisissez **Create Policy** (Créer une politique).

### AWS CLI
<a name="creating-iam-policy-cli"></a>

**Pour créer une politique IAM afin d’autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1.  Créez un fichier JSON contenant le document de politique JSON suivant. *\$1amzn-s3-demo-bucket\$1*Remplacez-le par le nom de votre compartiment S3.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowS3BucketAccess",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt",
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:AbortMultipartUpload",
                   "s3:ListBucket",
                   "s3:GetObjectVersion",
                   "s3:ListMultipartUploadParts",
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                   "arn:aws:s3:::${amzn-s3-demo-bucket}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListAllMyBuckets"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1name* et *iam\$1policy\$1file\$1name* par le nom de votre politique IAM et le nom du fichier JSON que vous avez créé à l'étape 1. 

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-policy \
       --policy-name iam_policy_name \
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Action": [
               "kms:GenerateDataKey",
               "kms:Decrypt",
               "s3:PutObject",
               "s3:GetObject",
               "s3:AbortMultipartUpload",
               "s3:ListBucket",
               "s3:DeleteObject",
               "s3:GetObjectVersion",
               "s3:ListMultipartUploadParts"
             ],
             "Resource": [
               "arn:aws:s3:::s3_bucket_name/*",
               "arn:aws:s3:::s3_bucket_name"
             ]
           }
         ]
       }'
   ```

   Pour Windows :

   ```
   aws iam create-policy ^
       --policy-name iam_policy_name ^
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
               "Action": [
                 "s3:PutObject",
                 "s3:GetObject",
                 "s3:AbortMultipartUpload",
                 "s3:ListBucket",
                 "s3:DeleteObject",
                 "s3:GetObjectVersion",
                 "s3:ListMultipartUploadParts"
               ],
               "Resource": [
                 "arn:aws:s3:::s3_bucket_name/*",
                 "arn:aws:s3:::s3_bucket_name"
               ]
           }
         ]
       }'
   ```

1. Après avoir créé la politique, notez son ARN. Vous en aurez besoin pour [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role).

Pour plus d’informations sur la création d’une politique IAM, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le Guide de l’utilisateur IAM.

## Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM
<a name="db2-creating-iam-role"></a>

Cette étape suppose que vous avez créé la politique IAM dans [Étape 1 : créer une politique IAM](#db2-creating-iam-policy). Au cours de cette étape, vous créez un rôle IAM pour votre instance de base de données RDS for Db2, puis attachez votre politique IAM au rôle. 

Vous pouvez créer un rôle IAM pour votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

### Console
<a name="creating-iam-role-console"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Pour **Type d’entité de confiance**, choisissez **Service AWS**.

1. Pour **Service ou cas d’utilisation**, sélectionnez **RDS**, puis sélectionnez **RDS ****– ****Ajouter un rôle à la base de données**.

1. Choisissez **Suivant**.

1. Pour **Politiques d’autorisations**, recherchez et sélectionnez le nom de la politique IAM que vous avez créée.

1. Choisissez **Suivant**.

1. Pour **Role name** (Nom du rôle), saisissez un nom de rôle.

1. (Facultatif) Pour **Description**, saisissez une description pour le nouveau rôle.

1. Choisissez **Créer un rôle**.

### AWS CLI
<a name="creating-iam-role-cli"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Créez un fichier JSON contenant le document de politique JSON suivant :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "rds.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html). Dans l'exemple suivant, remplacez *iam\$1role\$1name* et *iam\$1assume\$1role\$1policy\$1file\$1name* par le nom de votre rôle IAM et le nom du fichier JSON que vous avez créé à l'étape 1.

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-role \
       --role-name iam_role_name \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

   Pour Windows :

   ```
   aws iam create-role ^
       --role-name iam_role_name ^
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

1. Une fois le rôle créé, notez son ARN. Vous en aurez besoin pour [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](#db2-adding-iam-role).

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1arn* par l'ARN de la politique IAM que vous avez créée dans[Étape 1 : créer une politique IAM](#db2-creating-iam-policy). *iam\$1role\$1name*Remplacez-le par le nom du rôle IAM que vous venez de créer.

   Pour Linux, macOS ou Unix :

   ```
   aws iam attach-role-policy \
      --policy-arn iam_policy_arn \
      --role-name iam_role_name
   ```

   Pour Windows :

   ```
   aws iam attach-role-policy ^
      --policy-arn iam_policy_arn ^
      --role-name iam_role_name
   ```

Pour plus d’informations, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.

## Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2
<a name="db2-adding-iam-role"></a>

Dans cette étape, vous ajoutez votre rôle IAM à votre instance de base de données RDS for Db2. Notez les critères suivants :
+ Vous devez avoir accès à un rôle IAM auquel est associée la politique d’autorisations Amazon S3 requise. 
+ Vous ne pouvez associer qu’un seul rôle IAM à la fois avec votre instance de base de données RDS for Db2.
+ Votre instance de base de données RDS for Db2 doit être dans l’état **Disponible**.

Vous pouvez ajouter un rôle IAM à votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

### Console
<a name="db2-adding-iam-role-console"></a>

**Ajout d’un rôle IAM à votre instance de base de données RDS for Db2**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez le nom de votre instance de base de données RDS for Db2.

1. Dans l’onglet **Connectivity & security** (Connectivité & sécurité), faites défiler l’écran jusqu’à l’onglet **Manage IAM roles** (Gérer les rôles IAM) au bas de la page.

1. Pour **Ajouter des rôles IAM à cette instance**, choisissez le rôle que vous avez créé dans[Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role).

1. Pour **Fonction**, choisissez **S3\$1INTEGRATION**.

1. Choisissez **Ajouter un rôle**.  
![\[La fonctionnalité S3_INTEGRATION a été ajoutée au rôle IAM pour une instance de base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-s3-integration-role.png)

### AWS CLI
<a name="db2-adding-iam-role-cli"></a>

Pour ajouter un rôle IAM à votre instance de base de données RDS for Db2, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html). Dans l'exemple suivant, remplacez *region**db\$1instance\$1name*, et *iam\$1role\$1arn* par le nom de l' Région AWS endroit où se trouve votre instance de base de données, le nom de votre instance de base de données et l'ARN du rôle IAM que vous avez créé dans[Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role). 

Pour Linux, macOS ou Unix :

```
aws rds add-role-to-db-instance \
    --region $region \
    --db-instance-identifier $db_instance_name \
    --feature-name S3_INTEGRATION \
    --role-arn $iam_role_arn \
```

Pour Windows :

```
aws rds add-role-to-db-instance ^
    --region $region \
    --db-instance-identifier db_instance_name ^
    --feature-name S3_INTEGRATION ^
    --role-arn iam_role_arn ^
```

Pour confirmer que le rôle a bien été ajouté à votre instance de base de données RDS for Db2, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). Dans l'exemple suivant, remplacez *db\$1instance\$1name* par le nom de votre instance de base de données. 

Pour Linux, macOS ou Unix :

```
aws rds describe-db-instances \
    --filters "Name=db-instance-id,Values=db_instance_name" \
    --query 'DBInstances[].AssociatedRoles'
```

Pour Windows :

```
aws rds describe-db-instances ^
    --filters "Name=db-instance-id,Values=db_instance_name" ^
    --query 'DBInstances[].AssociatedRoles'
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

```
[
    [
        {
            "RoleArn": "arn:aws:iam::0123456789012:role/rds-db2-s3-role",
            "FeatureName": "S3_INTEGRATION",
            "Status": "ACTIVE"
        }
    ]
]
```