

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.

# Contrôle de l'accès aux ressources Amazon Kinesis Data Streams à l'aide d'IAM
<a name="controlling-access"></a>

Gestion des identités et des accès AWS (IAM) vous permet d'effectuer les opérations suivantes :
+ Créez des utilisateurs et des groupes sous votre AWS compte
+ Attribuez des informations de sécurité uniques à chaque utilisateur de votre AWS compte
+ Contrôlez les autorisations de chaque utilisateur pour effectuer des tâches à l'aide AWS des ressources
+ Autoriser les utilisateurs d'un autre AWS compte à partager vos AWS ressources
+ Créez des rôles pour votre AWS compte et définissez les utilisateurs ou les services qui peuvent les assumer
+ Utilisez les identités existantes pour que votre entreprise accorde des autorisations pour effectuer des tâches à l'aide de AWS ressources

Grâce à l'utilisation d'IAM avec Kinesis Data Streams, vous pouvez contrôler si les utilisateurs de votre organisation peuvent exécuter une tâche à l'aide d'actions d'API Kinesis Data Streams particulières et s'ils peuvent utiliser les ressources AWS spécifiques.

Si vous développez une application à l'aide de la bibliothèque client Kinesis (KCL), votre politique doit inclure des autorisations pour Amazon DynamoDB et Amazon ; CloudWatch la KCL utilise DynamoDB pour suivre les informations d'état de l'application et pour envoyer des métriques KCL en votre nom. CloudWatch CloudWatch Pour plus d'informations sur la KCL, consultez [Développez les consommateurs de KCL 1.x](developing-consumers-with-kcl.md).

Pour plus d’informations sur IAM, consultez les ressources suivantes :
+ [Gestion des identités et des accès AWS (JE SUIS)](https://aws.amazon.com/iam/)
+ [Commencer à utiliser IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [Guide de l’utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

Pour plus d'informations sur IAM et Amazon DynamoDB, consultez [Utiliser IAM pour contrôler l'accès aux ressources Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/UsingIAMWithDDB.html) (français non garanti) dans le *Guide du développeur Amazon DynamoDB* (français non garanti). 

Pour plus d'informations sur IAM et Amazon CloudWatch, consultez la section [Contrôle de l'accès des utilisateurs à votre AWS compte](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingIAM.html) dans le *guide de l' CloudWatch utilisateur Amazon*.

**Topics**
+ [Syntaxe d’une politique](#policy-syntax)
+ [Actions pour Kinesis Data Streams](#kinesis-using-iam-actions)
+ [Amazon Resource Names (ARNs) pour Kinesis Data Streams](#kinesis-using-iam-arn-format)
+ [Exemples de politiques pour Kinesis Data Streams](#kinesis-using-iam-examples)
+ [Partagez votre flux de données avec un autre compte](#sharing-data-streams)
+ [Configurer une AWS Lambda fonction pour lire depuis Kinesis Data Streams dans un autre compte](#sharing-data-streams-example)
+ [Partagez l'accès à l'aide de politiques basées sur les ressources](resource-based-policy-examples.md)

## Syntaxe d’une politique
<a name="policy-syntax"></a>

Une politique IAM est un document JSON qui se compose d’une ou de plusieurs déclarations. Chaque déclaration est structurée comme suit :

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Une déclaration se compose de différents éléments :
+ **Effect :** *effect* peut avoir la valeur `Allow` ou `Deny`. Comme, par défaut, les utilisateurs IAM n'ont pas la permission d'utiliser les ressources et les actions d'API, toutes les demandes sont refusées. Une autorisation explicite remplace l'autorisation par défaut. Un refus explicite remplace toute autorisation.
+ **Action** : *action* désigne l’action d’API spécifique pour laquelle vous accordez ou refusez l’autorisation.
+ **Resource** : la ressource affectée par l’action. Pour spécifier une ressource dans la déclaration, vous devez utiliser son Amazon Resource Name (ARN).
+ **Condition** : les conditions sont facultatives. Elles permettent de contrôler à quel moment votre stratégie sera effective.

Lorsque vous créez et gérez des politiques IAM, vous pouvez utiliser le [générateur de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) et le [simulateur de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).

## Actions pour Kinesis Data Streams
<a name="kinesis-using-iam-actions"></a>

Dans une déclaration de politique IAM, vous pouvez spécifier une action d’API à partir de n’importe quel service prenant en charge IAM. Pour Kinesis Data Streams, utilisez le préfixe suivant avec le nom de l'action d'API : `kinesis:`. Par exemple : `kinesis:CreateStream`, `kinesis:ListStreams` et `kinesis:DescribeStreamSummary`.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

```
"Action": ["kinesis:action1", "kinesis:action2"]
```

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques. Par exemple, vous pouvez spécifier toutes les actions dont le nom commence par le mot « Get » comme suit :

```
"Action": "kinesis:Get*"
```

Pour spécifier toutes les opérations Kinesis Data Streams, utilisez le caractère générique \$1 comme suit :

```
"Action": "kinesis:*"
```

Pour obtenir la liste complète des actions Kinesis Data Streams, veuillez consulter la [Référence d'API Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/APIReference/).

## Amazon Resource Names (ARNs) pour Kinesis Data Streams
<a name="kinesis-using-iam-arn-format"></a>

Chaque déclaration de politique IAM s'applique aux ressources que vous spécifiez à l'aide de leur. ARNs

Utilisez le format de ressource ARN suivant pour les flux de données Kinesis :

```
arn:aws:kinesis:region:account-id:stream/stream-name
```

Par exemple :

```
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
```

## Exemples de politiques pour Kinesis Data Streams
<a name="kinesis-using-iam-examples"></a>

Les exemples de politiques suivants montrent comment vous pouvez contrôler l'accès utilisateur à vos flux de données Kinesis.

------
#### [ Example 1: Allow users to get data from a stream ]

**Example**  
 Cette stratégie permet à un utilisateur ou un groupe d'effectuer les opérations `DescribeStreamSummary`, `GetShardIterator` et `GetRecords` sur le flux spécifié, et `ListStreams` sur n'importe quel flux. Cette stratégie peut être appliquée aux utilisateurs qui doivent pouvoir extraire des données d'un flux spécifique.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:Get*",
                "kinesis:DescribeStreamSummary"
            ],
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:ListStreams"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------
#### [ Example 2: Allow users to add data to any stream in the account ]

**Example**  
Cette stratégie permet à un utilisateur ou un groupe d'utiliser l'opération `PutRecord` avec tous les flux du compte. Cette stratégie peut être appliquée aux utilisateurs qui doivent pouvoir ajouter des enregistrements à tous les flux d'un compte.    
****  

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

------
#### [ Example 3: Allow any Kinesis Data Streams action on a specific stream ]

**Example**  
Cette politique permet à un utilisateur ou un groupe d'utiliser une opération Kinesis Data Streams sur le flux spécifié. Cette stratégie peut être appliquée aux utilisateurs qui doivent disposer d'un contrôle administratif sur un flux spécifique.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        }
    ]
}
```

------
#### [ Example 4: Allow any Kinesis Data Streams action on any stream ]

**Example**  
Cette politique permet à un utilisateur ou un groupe d'utiliser une opération Kinesis Data Streams sur un flux d'un compte. Etant donné que cette stratégie accorde un accès complet à tous vos flux, vous devez la limiter aux administrateurs.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
                "arn:aws:kinesis:*:111122223333:stream/*"
            ]
        }
    ]
}
```

------

## Partagez votre flux de données avec un autre compte
<a name="sharing-data-streams"></a>

**Note**  
 La bibliothèque Kinesis Producer ne prend actuellement pas en charge la spécification d'un ARN de flux lors de l'écriture dans un flux de données. Utilisez le AWS SDK si vous souhaitez écrire dans un flux de données entre comptes. 

Associez une [politique basée sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) à votre flux de données pour accorder l'accès à un autre compte, à un autre utilisateur IAM ou à un autre rôle IAM. Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource, telle qu'un flux de données. Ces politiques accordent au [principal spécifié](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) l'autorisation d'effectuer des actions spécifiques sur cette ressource et définissent sous quelles conditions cela s'applique. Une politique peut comporter plusieurs instructions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou AWS des services. Vous pouvez configurer des politiques dans la console Kinesis Data Streams, dabs l'API ou dans le SDK. 

Notez que le partage de l'accès aux consommateurs enregistrés, tel que [diffusion améliorée](https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html), nécessite une politique à la fois sur l'ARN du flux de données et sur l'ARN du consommateur. 

### Activer l'accès entre comptes
<a name="sharing-data-streams-enabling"></a>

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. L’ajout d’un principal intercompte à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource se trouvent dans des AWS comptes distincts, vous devez également utiliser une politique basée sur l'identité pour accorder au principal l'accès à la ressource. Toutefois, si une politique basée sur des ressources accorde l’accès à un principal dans le même compte, aucune autre politique basée sur l’identité n’est requise. 

Pour plus d'informations sur l'utilisation des politiques basées sur une ressource pour l'accès inter-compte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).

Les administrateurs de flux de données peuvent utiliser des Gestion des identités et des accès AWS politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel *principal* peut effectuer *des actions* sur quelles *ressources* et dans quelles *conditions*. L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de stratégie portent généralement le même nom que l'opération AWS d'API associée. 

Actions Kinesis Data Streams pouvant être partagées :


| Action | Niveau d'accès | 
| --- | --- | 
| [DescribeStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamConsumer.html) | Consommateur | 
| [DescribeStreamSummary](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html) | Flux de données | 
| [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) | Flux de données | 
| [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html) | Flux de données | 
| [ListShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) | Flux de données | 
| [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) | Flux de données | 
| [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) | Flux de données | 
| [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) | Consommateur | 

Vous trouverez ci-dessous des exemples d'utilisation d'une politique basée sur les ressources pour accorder l'accès intercompte à votre flux de données ou à votre consommateur enregistré. 

Pour effectuer une action entre comptes, vous devez spécifier l'ARN du flux pour l'accès au flux de données et l'ARN du consommateur pour l'accès du consommateur enregistré. 

### Exemples de politiques basées sur les ressources pour les flux de données Kinesis
<a name="kinesis-stream-sharing-iam-examples"></a>

Le partage d'un consommateur enregistré implique à la fois une politique de flux de données et une politique des consommateurs en raison des actions nécessaires. 

**Note**  
Vous trouverez ci-dessous des exemples de valeurs valides pour le `Principal`:  
`{"AWS": "123456789012"}`
Utilisateur IAM – `{"AWS": "arn:aws:iam::123456789012:user/user-name"}`
Rôle IAM – `{"AWS":["arn:aws:iam::123456789012:role/role-name"]}`
Principaux multiples (peut être une combinaison de compte, d'utilisateur, de rôle) – `{"AWS":["123456789012", "123456789013", "arn:aws:iam::123456789012:user/user-name"]}`

------
#### [ Example 1: Write access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_write_policy_ID",
    "Statement": [
        {
            "Sid": "writestatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 2: Read access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "sharedthroughputreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [                
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:GetRecords",
                "kinesis:GetShardIterator"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 3: Share enhanced fan-out read access to a registered consumer ]

**Example**  
Déclaration de politique de flux de données :     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "consumerreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```
Déclaration de politique des consommateurs :    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_efo_read_policy_ID",
    "Statement": [
        {
            "Sid": "eforeadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamConsumer",
                "kinesis:SubscribeToShard"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC/consumer/consumerDEF:1674696300"
        }
    ]
}
```
Le caractère générique (\$1) n'est pas pris en charge pour les actions ou le champ principal afin de maintenir le principe du moindre privilège. 

------

### Gérez la politique de votre flux de données de manière programmatique
<a name="sharing-data-streams-managing-policy"></a>

En outre AWS Management Console, Kinesis Data Streams dispose de trois API pour gérer votre politique en matière de flux de données : 
+ [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)
+ [GetResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetResourcePolicy.html)
+ [DeleteResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteResourcePolicy.html)

Utilisez `PutResourePolicy` pour attacher ou remplacer une politique pour un flux de données ou un consommateur. Utilisez `GetResourcePolicy` pour vérifier et afficher une politique pour le flux de données ou le consommateur spécifié. Utilisez `DeleteResourcePolicy` pour supprimer une politique pour le flux de données ou le consommateur spécifié. 

### Limites de la politique
<a name="sharing-data-streams-validating"></a>

Les politiques relatives aux ressources de Kinesis Data Streams comportent les restrictions suivantes : 
+ Les caractères génériques (\$1) ne sont pas pris en charge pour empêcher l'octroi d'un accès étendu par le biais des politiques de ressources directement associées à un flux de données ou à un consommateur enregistré. En outre, examinez attentivement les politiques suivantes pour vous assurer qu'elles n'accordent pas un accès étendu :
  + Politiques basées sur l'identité associées aux AWS principaux associés (par exemple, les rôles IAM)
  + Politiques basées sur les ressources associées aux AWS ressources associées (par exemple, clés AWS Key Management Service KMS)
+ AWS Les directeurs de service ne sont pas pris en charge pour les directeurs d'école afin d'éviter toute [confusion](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) potentielle entre les adjoints. 
+ Les principaux fédérés ne sont pas pris en charge. 
+  IDs Les utilisateurs canoniques ne sont pas pris en charge. 
+ La taille de la politique ne peut pas dépasser 20 Ko. 

### Partage de l'accès aux données chiffrées
<a name="sharing-access-to-encrypted-data-1"></a>

Si vous avez activé le chiffrement côté serveur pour un flux de données avec une clé KMS AWS gérée et que vous souhaitez partager l'accès via une politique de ressources, vous devez passer à l'utilisation d'une clé gérée par le client (CMK). Pour de plus amples informations, veuillez consulter [Qu'est-ce que le chiffrement côté serveur pour Kinesis Data Streams ?](what-is-sse.md). En outre, vous devez autoriser vos entités principales de partage à accéder à votre clé CMK, en utilisant les fonctionnalités de partage entre comptes KMS. Assurez-vous de modifier également les politiques IAM pour les entités principales de partage. Pour plus d’informations, consultez [Autorisation des utilisateurs d’autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

## Configurer une AWS Lambda fonction pour lire depuis Kinesis Data Streams dans un autre compte
<a name="sharing-data-streams-example"></a>

Pour un exemple de configuration d'une fonction Lambda pour qu'elle puisse lire à partir de Kinesis Data Streams dans un autre compte, consultez [Partage de l'accès grâce à des fonctions multi-comptes AWS Lambda](resource-based-policy-examples.md#Resource-based-policy-examples-lambda). 

# Partagez l'accès à l'aide de politiques basées sur les ressources
<a name="resource-based-policy-examples"></a>

**Note**  
La mise à jour d'une politique existante basée sur les ressources implique le remplacement de la politique existante. Assurez-vous donc d'inclure toutes les informations nécessaires dans votre nouvelle politique. 

## Partage de l'accès grâce à des fonctions multi-comptes AWS Lambda
<a name="Resource-based-policy-examples-lambda"></a>

**Opérateur Lambda**

1. Accédez à la [console IAM](https://console.aws.amazon.com/iam/) pour créer un rôle IAM qui sera utilisé comme rôle d'[exécution Lambda pour votre fonction](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). AWS Lambda Ajoutez la politique IAM gérée `AWSLambdaKinesisExecutionRole` qui dispose des autorisations d'invocation Kinesis Data Streams et Lambda requises. Cette politique accorde également l'accès à toutes les ressources Kinesis Data Streams auxquelles vous pourriez avoir accès. 

1. Dans la [AWS Lambda console](https://console.aws.amazon.com/lambda/home), créez une AWS Lambda fonction [pour traiter les enregistrements d'un flux de données Kinesis Data Streams](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) et, lors de la configuration du rôle d'exécution, choisissez le rôle que vous avez créé à l'étape précédente. 

1. Fournissez le rôle d'exécution au propriétaire de la ressource Kinesis Data Streams pour configurer la politique de ressources. 

1. Terminez la configuration de la fonction Lambda. 

**Propriétaire de la ressource Kinesis Data Streams**

1. Obtenez le rôle d'exécution Lambda entre comptes qui appellera la fonction Lambda. 

1. Sur la console Amazon Kinesis Data Streams, choisissez le flux de données. Choisissez l'onglet **Partage de flux de données**, puis le bouton **Créer une politique de partage** pour démarrer l'éditeur visuel de politique. Pour partager un consommateur enregistré dans un flux de données, choisissez le consommateur, puis choisissez **Créer une politique de partage**. Vous pouvez également écrire la politique JSON directement. 

1. Spécifiez le rôle d'exécution Lambda entre comptes comme principal et les actions Kinesis Data Streams exactes auxquelles vous partagez l'accès. Veillez à inclure l'action `kinesis:DescribeStream`. Pour plus d'informations sur les exemples de politiques de ressources pour Kinesis Data Streams, consultez [Exemples de politiques basées sur les ressources pour les flux de données Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples).

1. Choisissez **Créer une politique** ou utilisez le [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)pour associer la politique à votre ressource. 

## Partagez l'accès avec les clients KCL ayant plusieurs comptes
<a name="Resource-based-policy-examples-kcl-consumers"></a>
+ Si vous utilisez KCL 1.x, assurez-vous d'utiliser KCL 1.15.0 ou une version ultérieure. 
+ Si vous utilisez KCL 2.x, assurez-vous d'utiliser KCL 2.5.3 ou une version ultérieure. 

**Opérateur KCL**

1. Indiquez l'utilisateur IAM ou le rôle IAM qui exécutera l'application KCL au propriétaire de la ressource. 

1. Demandez au propriétaire de la ressource l'ARN du flux de données ou du consommateur. 

1. Assurez-vous de spécifier l'ARN du flux fourni dans le cadre de votre configuration KCL. 
   + Pour KCL 1.x : utilisez le [KinesisClientLibConfiguration](https://github.com/awslabs/amazon-kinesis-client/blob/v1.x/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java#L738-L821)constructeur et fournissez l'ARN du flux. 
   + Pour KCL 2.x : vous pouvez uniquement fournir l'ARN du flux ou la bibliothèque [StreamTracker](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/processor/StreamTracker.java)cliente Kinesis. [ConfigsBuilder](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/ConfigsBuilder.java#L155-L176) Pour StreamTracker, fournissez l'ARN du flux et l'époque de création à partir de la table de location DynamoDB générée par la bibliothèque. Si vous souhaitez lire des informations provenant d'un consommateur enregistré partagé, comme Enhanced Fan-Out, utilisez StreamTracker et fournissez également l'ARN du consommateur.

**Propriétaire de la ressource Kinesis Data Streams**

1. Obtenez l'utilisateur IAM multi-comptes ou le rôle IAM qui exécutera l'application KCL. 

1. Sur la console Amazon Kinesis Data Streams, choisissez le flux de données. Choisissez l'onglet **Partage de flux de données**, puis le bouton **Créer une politique de partage** pour démarrer l'éditeur visuel de politique. Pour partager un consommateur enregistré dans un flux de données, choisissez le consommateur, puis choisissez **Créer une politique de partage**. Vous pouvez également écrire la politique JSON directement. 

1. Spécifiez l'utilisateur IAM ou le rôle IAM de l'application KCL entre comptes en tant que principal et les actions Kinesis Data Streams exactes auxquelles vous partagez l'accès. Pour plus d'informations sur les exemples de politiques de ressources pour Kinesis Data Streams, consultez [Exemples de politiques basées sur les ressources pour les flux de données Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples). 

1. Choisissez **Créer une politique** ou utilisez le [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)pour associer la politique à votre ressource. 

## Partage de l'accès aux données chiffrées
<a name="sharing-access-to-encrypted-data"></a>

Si vous avez activé le chiffrement côté serveur pour un flux de données avec une clé KMS AWS gérée et que vous souhaitez partager l'accès via une politique de ressources, vous devez passer à l'utilisation d'une clé gérée par le client (CMK). Pour de plus amples informations, veuillez consulter [Qu'est-ce que le chiffrement côté serveur pour Kinesis Data Streams ?](what-is-sse.md). En outre, vous devez autoriser vos entités principales de partage à accéder à votre clé CMK, en utilisant les fonctionnalités de partage entre comptes KMS. Assurez-vous de modifier également les politiques IAM pour les entités principales de partage. Pour plus d’informations, consultez [Autorisation des utilisateurs d’autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).