

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.

# Autorisations de diffusion dans QLDB
<a name="streams.perms"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Avant de créer un flux Amazon QLDB, vous devez fournir à QLDB des autorisations d'écriture sur la ressource Amazon Kinesis Data Streams que vous avez spécifiée. Si vous utilisez un client géré AWS KMS key pour le chiffrement côté serveur de votre flux Kinesis, vous devez également autoriser QLDB à utiliser la clé de chiffrement symétrique que vous avez spécifiée. Kinesis Data Streams ne prend pas en [charge les clés KMS asymétriques](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).

Pour fournir à votre flux QLDB les autorisations nécessaires, vous pouvez faire en sorte que QLDB assume un rôle de service IAM avec les politiques d'autorisation appropriées. Un rôle de service est un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*. 

**Note**  
Pour transmettre un rôle à QLDB lorsque vous demandez un flux de journal, vous devez disposer des autorisations nécessaires pour effectuer l'action `iam:PassRole` sur la ressource de rôle IAM. Cela s'ajoute à l'`qldb:StreamJournalToKinesis`autorisation sur la sous-ressource de flux QLDB.  
Pour savoir comment contrôler l'accès à QLDB à l'aide d'IAM, consultez. [Comment Amazon QLDB fonctionne avec IAM](security_iam_service-with-iam.md) Pour un exemple de politique QLDB, consultez. [Exemples de politiques basées sur l'identité pour Amazon QLDB](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-stream-to-kinesis)

Dans cet exemple, vous créez un rôle qui permet à QLDB d'écrire des enregistrements de données dans un flux de données Kinesis en votre nom. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*.

Si vous diffusez un journal QLDB dans Compte AWS votre journal pour la première fois, vous devez d'abord créer un rôle IAM avec les politiques appropriées en procédant comme suit. Vous pouvez également [utiliser la console QLDB](streams.create.md#streams.create.con) pour créer automatiquement le rôle pour vous. Sinon, vous pouvez choisir un rôle que vous avez créé précédemment.

**Topics**
+ [Création d’une stratégie d’autorisations](#streams.perms.create-policy)
+ [Créer un rôle IAM](#streams.perms.create-role)

## Création d’une stratégie d’autorisations
<a name="streams.perms.create-policy"></a>

Procédez comme suit pour créer une politique d'autorisation pour un flux QLDB. Cet exemple montre une politique Kinesis Data Streams qui accorde à QLDB l'autorisation d'écrire des enregistrements de données dans le flux de données Kinesis que vous avez spécifié. Le cas échéant, l'exemple montre également une politique de clé qui permet à QLDB d'utiliser votre clé KMS de chiffrement symétrique.

Pour plus d'informations sur les politiques de Kinesis Data Streams, [consultez la section Contrôle de l'accès aux ressources Amazon Kinesis Data Streams à l'aide de l'IAM et des autorisations pour utiliser](https://docs.aws.amazon.com/streams/latest/dev/controlling-access.html) [les clés KMS générées par les utilisateurs](https://docs.aws.amazon.com/streams/latest/dev/permissions-user-key-KMS.html) dans le manuel Amazon Kinesis *Data Streams* Developer Guide. Pour en savoir plus sur les politiques AWS KMS clés, consultez la section [Utilisation des politiques clés AWS KMS dans](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) le *Guide du AWS Key Management Service développeur*.

**Note**  
Votre flux de données Kinesis et votre clé KMS doivent tous deux se trouver dans le même Région AWS compte que votre registre QLDB.

**Pour utiliser l’éditeur de politique JSON afin de créer une politique**

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 la colonne de navigation de gauche, sélectionnez **Politiques**.

   Si vous choisissez **Politiques** pour la première fois, la page **Bienvenue dans les politiques gérées** s'affiche. Sélectionnez **Mise en route**.

1. En haut de la page, sélectionnez **Créer une politique**.

1. Choisissez l’onglet **JSON**.

1. Entrez un document de stratégie JSON.
   + Si vous utilisez une clé KMS gérée par le client pour le chiffrement côté serveur de votre flux Kinesis, utilisez l'exemple de document de politique suivant. Pour utiliser cette politique, remplacez*us-east-1*, *123456789012**kinesis-stream-name*, et *1234abcd-12ab-34cd-56ef-1234567890ab* dans l'exemple par vos propres informations.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             },
             {
                 "Sid": "QLDBStreamKMSPermission",
                 "Action": [ "kms:GenerateDataKey" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
             }
         ]
     }
     ```
   + Sinon, utilisez l'exemple de document de politique suivant. Pour utiliser cette politique, remplacez *us-east-1**123456789012*, et *kinesis-stream-name* dans l'exemple par vos propres informations.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             }
         ]
     }
     ```

1. Choisissez **Examiner une politique**.
**Note**  
Vous pouvez basculer à tout moment entre les onglets **Éditeur visuel** et **JSON**. Toutefois, si vous apportez des modifications ou sélectionnez **Examiner une politique** dans l'onglet **Éditeur visuel**, IAM peut restructurer votre politique pour optimiser son affichage dans l'éditeur visuel. Pour de plus amples informations, consulte [Restructuration d'une politique](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) dans le *Guide de l'utilisateur IAM*.

1. Dans la page **Examiner une politique**, entrez un **nom** et éventuellement une **description** pour la politique que vous êtes en train de créer. Vérifiez le **récapitulatif** de la politique pour voir les autorisations accordées par votre politique. Sélectionnez ensuite **Créer une politique** pour enregistrer votre travail.

## Créer un rôle IAM
<a name="streams.perms.create-role"></a>

Après avoir créé une politique d'autorisation pour votre flux QLDB, vous pouvez créer un rôle IAM et y associer votre politique.

**Pour créer le rôle de service pour QLDB (console 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 volet de navigation de la console IAM, sélectionnez **Roles** (Rôles), puis **Create role** (Créer un rôle).

1. Pour **Trusted entity** (Entité de confiance), choisissez **Service AWS**.

1. Pour **Service ou cas d'utilisation**, choisissez **QLDB**, puis choisissez le cas d'utilisation **QLDB**.

1. Choisissez **Suivant**.

1. Cochez la case à côté de la politique que vous avez créée lors des étapes précédentes.

1. (Facultatif) Définissez une [limite d'autorisations](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Il s’agit d’une fonctionnalité avancée disponible pour les fonctions de service, mais pas pour les rôles liés à un service.

   1. Ouvrez la section **Définir une limite des autorisations** et choisissez **Utiliser une limite des autorisations pour contrôler le nombre maximum d’autorisations de rôle**.

      IAM inclut une liste des politiques AWS gérées et gérées par le client dans votre compte.

   1. Sélectionnez la politique à utiliser comme limite d'autorisations.

1. Choisissez **Suivant**.

1. Entrez un nom de rôle ou un suffixe de nom de rôle pour vous aider à identifier l'objectif du rôle.
**Important**  
Lorsque vous nommez un rôle, notez ce qui suit :  
Les noms de rôles doivent être uniques au sein du Compte AWS vôtre et ne peuvent pas être rendus uniques au cas par cas.  
Par exemple, ne créez pas deux rôles nommés **PRODROLE** et **prodrole**. Lorsqu’un nom de rôle est utilisé dans une politique ou dans le cadre d’un ARN, le nom de rôle est sensible à la casse. Cependant, lorsqu’un nom de rôle apparaît aux clients dans la console, par exemple lors de la procédure d’ouverture de session, le nom de rôle est insensible à la casse.
Vous ne pouvez pas modifier le nom du rôle après sa création, car d’autres entités pourraient y faire référence.

1. (Facultatif) Pour **Description**, saisissez la description du rôle.

1. (Facultatif) Pour modifier les cas d’utilisation et les autorisations du rôle, dans les sections **Étape 1 : sélectionner les entités de confiance** ou **Étape 2 : ajouter des autorisations**, sélectionnez **Modifier**.

1. (Facultatif) Pour identifier, organiser ou rechercher le rôle, ajoutez des identifications sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balises dans IAM, consultez la section [Balises pour les Gestion des identités et des accès AWS ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le Guide de l'*utilisateur d'IAM*.

1. Passez en revue les informations du rôle, puis choisissez **Create role** (Créer un rôle).

Le document JSON suivant est un exemple de politique de confiance qui permet à QLDB d'assumer un rôle IAM auquel des autorisations spécifiques sont associées.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

**Note**  
Cet exemple de politique de confiance montre comment vous pouvez utiliser les touches `aws:SourceArn` contextuelles et de condition `aws:SourceAccount` globale pour éviter le problème de *confusion des adjoints*. Grâce à cette politique de confiance, QLDB peut assumer le rôle de n'importe quel flux QLDB dans le compte uniquement pour le registre. `123456789012` `myExampleLedger`  
Pour de plus amples informations, veuillez consulter [Prévention du problème de l’adjoint confus entre services](cross-service-confused-deputy-prevention.md).

Après avoir créé votre rôle IAM, revenez à la console QLDB et actualisez la page **Créer un flux QLDB afin qu'elle puisse trouver votre nouveau** rôle.