Comment puis-je invoquer une fonction Lambda via un flux Kinesis inter-comptes ?

Lecture de 3 minute(s)
0

Je souhaite invoquer une fonction AWS Lambda via un flux Amazon Kinesis qui se trouve dans un autre compte AWS.

Résolution

Amazon Kinesis Data Streams accepte les politiques basées sur les ressources. Cela vous permet de traiter les données ingérées dans un flux depuis un compte avec une fonction AWS Lambda sur un autre compte.

Suivez les étapes ci-dessous pour créer la fonction Lambda, puis configurez-la pour accéder au flux de données Kinesis.

Création d’un rôle d’exécution Lambda

  1. Accédez à la console IAM et choisissez l’onglet Rôles.
  2. Choisissez Créer un rôle.
  3. Pour AWS Service, choisissez Type d’entité approuvée. Pour Service, choisissez Lambda.
  4. Dans la table Politiques d’autorisations, sélectionnez la politique IAM gérée AWSLambdaKinesisExecutionRole.
  5. Donnez un nom au rôle et choisissez Créer un rôle.

Remarque : la politique IAM gérée AWSLambdaKinesisExecutionRole possède les autorisations d’invocation Kinesis Data Streams et Lambda requises. Elle donne également accès à toutes les ressources Kinesis Data Streams potentielles auxquelles vous pourriez avoir accès.

Création de la fonction Lambda

Créez une fonction AWS Lambda capable de traiter les enregistrements d’un flux de données Amazon Kinesis.

Pour Rôle d’exécution, choisissez le rôle que vous avez créé.

Remarque : cette politique dispose des autorisations d’invocation Kinesis Data Streams et Lambda requises. Elle donne également accès à toutes les ressources Kinesis Data Streams potentielles auxquelles vous pourriez avoir accès.
Ajoutez le rôle d’exécution au propriétaire de la ressource Kinesis Data Streams pour configurer la politique de ressources.

Configuration de Kinesis Data Stream

  1. Accédez à la console Amazon Kinesis Data Streams et choisissez un flux de données.
  2. Choisissez l’onglet Partage de flux de données.
  3. Cliquez sur le bouton Créer une politique pour démarrer l’éditeur visuel de politique.
  4. Choisissez le consommateur dans l’onglet Diffusion améliorée pour partager un consommateur enregistré dans un flux de données.
  5. Choisissez Créer une politique. Vous pouvez également écrire directement la politique JSON.
  6. Dans le champ Principal, entrez le rôle d’exécution Lambda inter-comptes que vous avez créé. Assurez-vous d’inclure l’action Kinesis:DescribeStream.
    Pour plus d’informations sur les exemples de politiques de ressources pour Kinesis Data Streams, consultez la section Exemples de politiques basées sur les ressources pour Kinesis Data Streams.
  7. Choisissez Créer une politique. Vous pouvez également utiliser PutResourcePolicy pour associer la politique à votre ressource.

Si vous utilisez le chiffrement côté serveur avec une clé gérée par AWS et que vous souhaitez partager l’accès via une politique de ressources, vous devez utiliser une clé gérée par le client (clé AWS KMS). Pour plus d’informations, consultez la page Qu’est-ce que le chiffrement côté serveur pour Kinesis Data Streams ?Vous devez également autoriser vos entités principales de partage à accéder à la clé KMS via l’accès intercompte KMS. Pour plus d’informations, consultez la page Autoriser des utilisateurs d’autres comptes à utiliser une clé KMS.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 mois