Configuration des autorisations du rôle d'exécution Lambda - 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 du rôle d'exécution Lambda

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

Pour couvrir toutes les autorisations requises, vous pouvez associer la politique de gestion des AWSLambdaMSKExecutionrôles à votre rôle d'exécution. Vous pouvez également ajouter chaque autorisation manuellement.

Autorisations de base

Votre rôle d'exécution de fonction Lambda doit disposer des autorisations requises suivantes pour créer et stocker des journaux dans CloudWatch Logs.

Autorisations d'accès au cluster

Pour que Lambda puisse accéder à votre cluster Amazon MSK en votre nom, votre fonction Lambda doit disposer des autorisations suivantes dans son rôle d’exécution :

Il vous suffit d'ajouter l'un des deux options Kafka : DescribeCluster ou Kafka : DescribeCluster V2. Pour les clusters Amazon MSK provisionnés, l'une ou l'autre des autorisations fonctionne. Pour les clusters Amazon MSK sans serveur, vous devez utiliser kafka : V2. DescribeCluster

Note

Lambda prévoit à terme de supprimer l'DescribeClusterautorisation Kafka : de la politique de gestion des AWSLambdaMSKExecutionrôles. Si vous utilisez cette politique, migrez toutes les applications utilisant kafka : DescribeCluster pour utiliser kafka : DescribeCluster V2 à la place.

Autorisations VPC

Si votre cluster Amazon MSK se trouve dans un sous-réseau privé de votre VPC, votre fonction Lambda doit disposer d'autorisations supplémentaires pour accéder à vos ressources Amazon VPC. Il s'agit notamment de votre VPC, de vos sous-réseaux, de vos groupes de sécurité et de vos interfaces réseau. Le rôle d'exécution de votre fonction doit disposer des autorisations suivantes :

Autorisations facultatives

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

  • Accédez à votre code 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é AWS KMS gérée par le client si vous souhaitez chiffrer vos critères de filtrage. Cela permet de garder secrètes vos règles de filtrage des messages.

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

    • Pour le registre des AWS Glue schémas : les besoins glue:GetRegistry et glue:GetSchemaVersion les autorisations de votre fonction. Ils permettent à votre fonction de rechercher et d'utiliser les règles de format des messages qui y sont stockées AWS Glue.

    • Pour le registre de schéma Confluent avec BASIC_AUTH ou CLIENT_CERTIFICATE_TLS_AUTH : votre fonction a besoin d'une secretsmanager:GetSecretValue autorisation 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.

Elles correspondent aux autorisations requises suivantes :

En outre, si vous souhaitez envoyer des enregistrements d'appels ayant échoué vers une destination en cas d'échec, vous aurez besoin des autorisations suivantes en fonction du type de destination :

Résolution des erreurs d'authentification et d'autorisation courantes

Si l'une des autorisations requises pour utiliser les données du cluster Amazon MSK est manquante, Lambda affiche l'un des messages d'erreur suivants dans le mappage des sources d'événements ci-dessous. LastProcessingResult Pour plus d'informations sur chaque méthode d'authentification prise en charge, consultezConfiguration des méthodes d'authentification du cluster dans Lambda.

Le cluster n’a pas pu autoriser Lambda

Pour SASL/SCRAM ou mTLS, cette erreur indique que l'utilisateur fourni ne possède pas toutes les autorisations requises de la liste de contrôle d'accès (ACL) Kafka suivantes :

  • DescribeConfigs Cluster

  • Décrire un groupe

  • Lire le groupe

  • Décrire la rubrique

  • Lire la rubrique

Pour le contrôle d’accès IAM, le rôle d’exécution de fonction ne dispose pas d’une ou de plusieurs autorisations requises pour accéder au groupe ou à la rubrique. Consultez la liste des autorisations requises sur cette page.

Lorsque vous créez une politique Kafka ACLs ou IAM avec les autorisations de cluster Kafka requises, spécifiez le sujet et le groupe en tant que ressources. Le nom de la rubrique doit correspondre à la rubrique dans le mappage des sources d’événements. Le nom du groupe doit correspondre à l’UUID du mappage des sources d’événements.

Une fois que vous avez ajouté les autorisations requises au rôle d’exécution, il peut y avoir un délai de plusieurs minutes avant que les modifications ne prennent effet.

Échec de l’authentification SASL

Pour SASL/SCRAM, cet échec indique que le nom d’utilisateur et le mot de passe fournis ne sont pas valides.

Pour le contrôle d’accès IAM, le rôle d’exécution est manquant kafka-cluster:Connect autorisations pour le cluster. Ajoutez cette autorisation au rôle et spécifiez l’Amazon Resource Name (ARN) du cluster en tant que ressource.

Cette erreur peut se produire de façon intermittente. Le cluster rejette les connexions une fois que le nombre de connexions TCP dépasse le Quota de service Amazon MSK. Lambda fait marche arrière et tente de nouveau jusqu’à ce qu’une connexion soit réussie. Une fois que Lambda se connecte au cluster et interroge les enregistrements, le dernier résultat de traitement passe à OK.

Le serveur n’a pas réussi à authentifier Lambda

Cette erreur indique que les courtiers Amazon MSK Kafka n’ont pas réussi à s’authentifier auprès de Lambda. Cette erreur se produit dans les conditions suivantes :

  • Vous n’avez pas fourni de certificat client pour l’authentification mTLS.

  • Vous avez fourni un certificat client, mais les courtiers ne sont pas configurés pour utiliser les mTLS.

  • Les courtiers ne font pas confiance à un certificat client.

Le certificat ou la clé privée fournis n’est pas valide

Cette erreur indique que le consommateur Amazon MSK n’a pas pu utiliser le certificat ou la clé privée fournis. Assurez-vous que le certificat et la clé utilisent le format PEM et que le chiffrement par clé privée utilise un PBES1 algorithme. Pour plus d'informations, consultez Configuration du secret mTLS.