View a markdown version of this page

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 AWSLambdaMSKExecutionRole gérée 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 AWSLambdaMSKExecutionRole gérée à votre rôle d'exécution.

  • Laissez la console Lambda générer les autorisations pour vous. Lorsque vous créez un mappage de sources d'événements Amazon MSK dans la console, Lambda évalue votre rôle d'exécution et vous alerte 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 On-Failure Destination ou AWS Glue Schema Registry.

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 AWSLambdaMSKExecutionRole gérée.

CloudWatch Consigne les autorisations

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 vous 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 de l'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 créant un mappage de sources d'événements entre comptes a besoin de Kafka :. ListVpcConnections

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

  • Décrivez votre secret Secrets Manager, si vous utilisez l' SASL/SCRAM authentification Authentification TLS mutuelle mTLS. Avec cette autorisation, votre fonction peut récupérer les informations d'identification ou les certificats nécessaires pour sécuriser les connexions.

  • Accédez à votre clé gérée par le AWS KMS client, si votre AWS Secrets Manager secret est chiffré avec 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 AWS Glue Schema Registry : 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 le username/password ou les certificats nécessaires pour accéder au registre des schémas Confluent.

    • Pour les certificats CA privés : votre fonction a besoin de secretsmanager : GetSecretValue autorisation pour le secret contenant le certificat. Avec cette autorisation, votre fonction peut 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 aux messages de sondage depuis la rubrique, 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 vers 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 de 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.