Configuration des autorisations Lambda pour les mappages de sources d'événements Amazon MSK - AWS Lambda

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.

Configuration des autorisations Lambda pour les mappages de sources d'événements Amazon MSK

Pour accéder au cluster Amazon MSK, votre fonction et votre mappage des sources d’événements ont besoin d’autorisations pour effectuer diverses actions de l’API Amazon MSK. Ajoutez ces autorisations au rôle d’exécution de votre fonction. Si vos utilisateurs ont besoin de l’accès, ajoutez les autorisations requises à la stratégie d’identité de l’utilisateur ou du rôle correspondant.

La politique de gestion des AWSLambdaMSKExecutionrôles contient les autorisations minimales requises pour les mappages de sources d'événements Amazon MSK Lambda. Pour simplifier le processus d'autorisation, vous pouvez :

  • Associez la politique de gestion des AWSLambdaMSKExecutionrôles à votre rôle d'exécution.

  • Laissez la console Lambda générer les autorisations pour vous. Lorsque vous créez un mappage de source d'événement Amazon MSK dans la console, Lambda évalue votre rôle d'exécution et vous avertit si des autorisations sont manquantes. Choisissez Générer des autorisations pour mettre à jour automatiquement votre rôle d'exécution. Cela ne fonctionne pas si vous avez créé ou modifié manuellement vos politiques de rôle d'exécution, ou si les politiques sont associées à plusieurs rôles. Notez que des autorisations supplémentaires peuvent toujours être requises dans votre rôle d'exécution lorsque vous utilisez des fonctionnalités avancées telles que la destination en cas d'échec ou le registre des AWS Glue schémas.

Autorisations requises

Votre rôle d'exécution de fonction Lambda doit disposer des autorisations requises suivantes pour les mappages de sources d'événements Amazon MSK. Ces autorisations sont incluses dans la politique de gestion des AWSLambdaMSKExecutionrôles.

CloudWatch Autorisations de journalisation

Les autorisations suivantes permettent à Lambda de créer et de stocker des journaux dans Amazon CloudWatch Logs.

Autorisations du cluster MSK

Les autorisations suivantes permettent à Lambda d'accéder à votre cluster Amazon MSK en votre nom :

Nous recommandons d'utiliser kafka : DescribeCluster V2 au lieu de kafka :. DescribeCluster L'autorisation v2 fonctionne à la fois avec les clusters Amazon MSK provisionnés et sans serveur. Vous n'avez besoin que d'une de ces autorisations dans votre politique.

Autorisations VPC

Les autorisations suivantes permettent à Lambda de créer et de gérer des interfaces réseau lors de la connexion à votre cluster Amazon MSK :

Autorisations facultatives

Votre fonction Lambda peut également nécessiter ces autorisations pour :

  • Accédez à des clusters Amazon MSK multicomptes. Pour les mappages de sources d'événements entre comptes, vous avez besoin de kafka : DescribeVpcConnection dans le rôle d'exécution. Un directeur IAM qui crée un mappage de sources d'événements entre comptes a besoin de Kafka :. ListVpcConnections

  • Accédez à votre secret SCRAM si vous utilisez l’authentification SASL/SCRAM. Cela permet à votre fonction d’utiliser un nom d’utilisateur et un mot de passe pour se connecter à Kafka.

  • Décrivez le secret de votre Secrets Manager, si vous utilisez l' SASL/SCRAM authentification mTLS. Cela permet à votre fonction de récupérer les informations d’identification ou les certificats nécessaires pour des connexions sécurisées.

  • Accédez à votre clé gérée par le AWS KMS client, si votre AWS Secrets Manager secret est chiffré à l'aide d'une clé gérée par le AWS KMS client.

  • Accédez aux secrets de votre registre de schémas, si vous utilisez un registre de schémas avec authentification :

    • Pour le registre des AWS Glue schémas : les besoins glue:GetRegistry et glue:GetSchemaVersion les autorisations de votre fonction. Elles permettent à votre fonction de rechercher et d’utiliser les règles de format de message stockées dans AWS Glue.

    • Pour le registre de schémas Confluent avec BASIC_AUTH ou CLIENT_CERTIFICATE_TLS_AUTH : votre fonction a besoin de l’autorisation secretsmanager:GetSecretValue pour accéder au secret contenant les informations d’authentification. Cela permet à votre fonction de récupérer les username/password certificats nécessaires pour accéder au registre des schémas Confluent.

    • Pour les certificats CA privés : votre fonction a besoin de l'GetSecretValue autorisation secretsmanager : pour le secret contenant le certificat. Cela permet à votre fonction de vérifier l’identité des registres de schémas qui utilisent des certificats personnalisés.

  • Accédez aux groupes de consommateurs du cluster Kafka et interrogez les messages depuis le sujet, si vous utilisez l'authentification IAM pour le mappage des sources d'événements.

Cela correspond aux autorisations requises suivantes :

En outre, si vous souhaitez envoyer des enregistrements d’invocations ayant échoué vers une destination en cas d’échec, vous devez disposer des autorisations suivantes en fonction du type de destination :

  • Pour les destinations Amazon SQS : sqs : SendMessage - Permet d'envoyer des messages à une file d'attente Amazon SQS

  • Pour les destinations Amazon SNS : sns:Publish : permet de publier des messages sur une rubrique Amazon SNS

  • Pour les destinations du compartiment Amazon S3 : s3 : PutObject et s3 : ListBucket - Permet d'écrire et de répertorier des objets dans un compartiment Amazon S3

Pour résoudre les erreurs d’authentification et d’autorisation, consultez Résolution des erreurs de mappage des sources d’événements Kafka.