Configuration AWS Lambda pour Amazon WorkMail - Amazon WorkMail

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 AWS Lambda pour Amazon WorkMail

Utilisez l'action Exécuter Lambda dans les règles de flux de courrier entrant et sortant pour transmettre les messages électroniques conformes aux règles à une AWS Lambda fonction à des fins de traitement.

Choisissez parmi les configurations suivantes pour une action Run Lambda dans Amazon. WorkMail

Configuration Lambda d'exécution synchrone

Les messages électroniques qui correspondent à la règle de flux sont transmis à une fonction Lambda pour traitement avant d'être envoyés ou remis. Utilisez cette configuration pour modifier le contenu des e-mails. Vous pouvez également contrôler le flux de courrier entrant ou sortant pour différents cas d'utilisation. Par exemple, une règle transmise à une fonction Lambda peut bloquer la livraison de messages électroniques sensibles, supprimer des pièces jointes ou ajouter des avertissements.

Configuration d'exécution asynchrone de Lambda

Les messages électroniques qui correspondent à la règle de flux sont transmis à une fonction Lambda pour être traités lors de leur envoi ou de leur remise. Cette configuration n'affecte pas la livraison des e-mails, et est utilisée lors de tâches telles que la collecte de métriques pour les messages électroniques entrants ou sortants.

Que vous choisissiez une configuration synchrone ou asynchrone, l'objet d'événement transmis à votre fonction Lambda contient les métadonnées de l'événement d'e-mail entrant ou sortant. Vous pouvez également accéder au contenu complet du message électronique grâce à l'ID de message dans les métadonnées. Pour de plus amples informations, veuillez consulter Récupération du contenu d'un message avec AWS Lambda. Pour de plus amples informations sur les événements d’e-mails, veuillez consulter Données d'événements Lambda.

Pour plus d'informations sur les règles de flux de messagerie entrant et sortant, consultez Gestion des flux de messagerie. Pour plus d'informations sur Lambda, consultez le guide du développeur AWS Lambda .

Note

Actuellement, les règles de flux de messagerie Lambda font uniquement référence aux fonctions Lambda dans la même AWS région et en tant qu'organisation Amazon WorkMail en cours Compte AWS de configuration.

Commencer à utiliser AWS Lambda pour Amazon WorkMail

Pour commencer à utiliser AWS Lambda Amazon WorkMail, nous vous recommandons de déployer la fonction WorkMail Hello World Lambda depuis votre AWS Serverless Application Repository compte. La fonction dispose de toutes les ressources nécessaires et des autorisations configurées pour vous. Pour plus d'exemples, consultez le amazon-workmail-lambda-templatesréférentiel sur GitHub.

Si vous choisissez de créer votre propre fonction Lambda, vous devez configurer les autorisations à l'aide de AWS Command Line Interface ()AWS CLI. Dans l'exemple de commande suivant, procédez comme suit :

  • Remplacez MY_FUNCTION_NAME par le nom de votre fonction Lambda.

  • Remplacez REGION par votre WorkMail AWS région Amazon. Les WorkMail régions Amazon disponibles incluent us-east-1 (USA Est (Virginie du Nord)), us-west-2 (USA Ouest (Oregon)) et eu-west-1 (Europe (Irlande)).

  • AWS_ACCOUNT_IDRemplacez-le par votre Compte AWS identifiant à 12 chiffres.

  • WORKMAIL_ORGANIZATION_IDRemplacez-le par votre identifiant d' WorkMailorganisation Amazon. Vous le trouverez sur la carte de votre organisation sur la page Organizations.

aws --region REGION lambda add-permission --function-name MY_FUNCTION_NAME --statement-id AllowWorkMail --action "lambda:InvokeFunction" --principal workmail.REGION.amazonaws.com --source-arn arn:aws:workmail:REGION:AWS_ACCOUNT_ID:organization/WORKMAIL_ORGANIZATION_ID

Pour plus d'informations sur l'utilisation du AWS CLI, consultez le guide de AWS Command Line Interface l'utilisateur.

Configuration des règles Run Lambda synchrones

Pour configurer une règle d'exécution Lambda synchrone, créez une règle de flux de courrier électronique avec l'action Exécuter Lambda et cochez la case Exécuter de manière synchrone. Pour plus d'informations sur la création de règles de flux d’e-mails, veuillez consulter Création de règles de flux d'e-mails.

Pour terminer la création de la règle synchrone, ajoutez le ARN nom de ressource Lambda Amazon () et configurez les options suivantes.

Action de secours

L'action Amazon WorkMail s'applique si la fonction Lambda ne s'exécute pas. Cette action s'applique également à tous les destinataires omis dans la réponse Lambda si allRecipientsl'indicateur n'est pas défini. L'action Fallback ne peut pas être une autre action Lambda.

Temps d’expiration de la règle (en minutes)

Période pendant laquelle la fonction Lambda est réessayée si Amazon WorkMail ne parvient pas à l'invoquer. L'action de secours est utilisée à la fin de cette période.

Note

Les règles Synchrous Run Lambda ne prennent en charge que * la condition de destination.

Données d'événements Lambda

La fonction Lambda est déclenchée à l'aide des données d'événement suivantes. La présentation des données varie en fonction du langage de programmation utilisé pour la fonction Lambda.

{ "summaryVersion": "2018-10-10", "envelope": { "mailFrom" : { "address" : "from@example.com" }, "recipients" : [ { "address" : "recipient1@example.com" }, { "address" : "recipient2@example.com" } ] }, "sender" : { "address" : "sender@example.com" }, "subject" : "Hello From Amazon WorkMail!", "messageId": "00000000-0000-0000-0000-000000000000", "invocationId": "00000000000000000000000000000000", "flowDirection": "INBOUND", "truncated": false }

L'événement JSON inclut les données suivantes.

summaryVersion

Le numéro de version deLambdaEventData. Cela n'est mis à jour que lorsque vous apportez une modification rétrocompatible dansLambdaEventData.

envelope

L'enveloppe du message électronique, qui comprend les éléments suivants : champs.

mailFrom

L’adresse From (d’expédition), généralement l'adresse e-mail de l'utilisateur ayant envoyé le message. Si l'utilisateur a envoyé le message électronique en tant qu'autre utilisateur ou pour le compte d'un autre utilisateur, le mailFromchamp renvoie l'adresse e-mail de l'utilisateur au nom duquel le message électronique a été envoyé, et non l'adresse e-mail de l'expéditeur réel.

recipients

Liste de toutes les adresses e-mail des destinataires Amazon WorkMail ne fait pas de distinction entre To, CC ou BCC.

Note

Pour les règles relatives au flux d'e-mails entrants, cette liste inclut les destinataires de tous les domaines de l' WorkMailorganisation Amazon dans laquelle vous créez la règle. La fonction Lambda est invoquée séparément pour chaque SMTP conversation par l'expéditeur, et le champ des destinataires répertorie les destinataires de cette SMTP conversation. Les destinataires avec des domaines externes ne sont pas inclus.

sender

Adresse e-mail de l'utilisateur qui a envoyé l'e-mail au nom d'un autre utilisateur. Ce champ est défini uniquement lorsqu'un e-mail est envoyé au nom d'un autre utilisateur.

subject

Ligne d'objet de l'e-mail. Tronquée lorsqu'elle dépasse la limite de 256 caractères.

messageId

Un identifiant unique utilisé pour accéder au contenu complet de l'e-mail lors de l'utilisation d'Amazon WorkMail Message FlowSDK.

invocationId

L'ID d'un appel Lambda unique. Cet identifiant reste le même lorsqu'une fonction Lambda est appelée plusieurs fois pour la même fonction. LambdaEventData Permet de détecter les nouvelles tentatives et éviter la duplication.

flowDirection

Indique la direction du flux d'e-mails, INBOUNDsoit OUTBOUND.

truncated

S'applique à la charge utile, non à la longueur de la ligne d'objet. Lorsque la valeur est true, la taille de la charge utile dépasse la limite de 128 Ko. La liste des destinataires est donc tronquée pour respecter la limite.

Schéma de réponse Synchrous Run Lambda

Lorsqu'une règle de flux d'e-mails comportant une action Run Lambda synchrone correspond à un e-mail entrant ou sortant, Amazon WorkMail appelle la fonction Lambda configurée et attend la réponse avant de prendre des mesures sur le message électronique. La fonction Lambda renvoie une réponse selon un schéma prédéfini qui répertorie les actions, les types d'actions, les paramètres applicables et les destinataires auxquels l'action s'applique.

L'exemple suivant montre une réponse Run Lambda synchrone. Les réponses varient en fonction du langage de programmation utilisé pour la fonction Lambda.

{ "actions": [ { "action" : { "type": "string", "parameters": { various } }, "recipients": [list of strings], "allRecipients": boolean } ] }

La réponse JSON inclut les données suivantes.

action

L’action à entreprendre pour les destinataires.

type

Le type d'action. Les types d'action ne sont pas renvoyés pour les actions Run Lambda asynchrones.

Les types d'actions de règles entrantes incluent BOUNCEDROP, DEFAULT, BYPASS_ SPAM _ et CHECK MOVEJUNK_TO_. Pour de plus amples informations, veuillez consulter Actions de règle pour les e-mails entrants.

Les types d'actions des règles sortantes incluent BOUNCEDROP, et DEFAULT. Pour de plus amples informations, veuillez consulter Actions de règle pour les e-mails sortants.

parameters

Paramètres d'action supplémentaires. Supporté pour le type BOUNCEd'action en tant qu'JSONobjet avec la clé bounceMessageet la chaîne de valeur. L’option de message de retour à l’expéditeur est utilisée pour créer un e-mail revenant à l’expéditeur.

recipients

Liste des adresses e-mail concernées par l’action. Vous pouvez ajouter de nouveaux destinataires à la réponse, même s'ils n'étaient pas inclus dans la liste initiale. Ce champ n'est pas obligatoire s'allRecipientsil est vrai pour une action.

Note

Lorsqu'une action Lambda est appelée pour un e-mail entrant, vous ne pouvez ajouter que de nouveaux destinataires issus de votre organisation. Les nouveaux destinataires sont ajoutés à la réponse en tant que BCC.

allRecipients

Lorsque vrai, applique l'action à tous les destinataires qui ne sont pas soumis à une autre action spécifique dans la réponse Lambda.

Limites d'action Synchrous Run Lambda

Les limites suivantes s'appliquent lorsqu'Amazon WorkMail invoque des fonctions Lambda pour des actions Run Lambda synchrones :

  • Les fonctions Lambda doivent répondre dans les 15 secondes, sous peine d'être traitées comme des appels ayant échoué.

    Note

    Le système tente à nouveau l'appel pendant l'intervalle de délai d'expiration des règles que vous spécifiez.

  • Les réponses de la fonction Lambda jusqu'à 256 Ko sont autorisées.

  • Jusqu'à 10 actions différentes sont autorisées pour la réponse. S’il y en a plus de 10, elles seront soumises à l'action de secourspréalablement configurée.

  • Jusqu'à 500 destinataires sont autorisés pour les fonctions Lambda sortantes.

  • La valeur maximale du temps d’expiration de la règle est de 240 minutes. Si la valeur minimale de 0 est configurée, il n'y a aucune nouvelle tentative avant qu'Amazon n' WorkMail applique l'action de secours.

Défaillances de l'action Synchrone Run Lambda

Si Amazon ne WorkMail parvient pas à appeler votre fonction Lambda en raison d'une erreur, d'une réponse non valide ou d'un délai Lambda expiré, Amazon WorkMail tente à nouveau l'appel avec un retard exponentiel qui réduit le taux de traitement jusqu'à la fin du délai d'expiration de la règle. Ensuite, l'action de secours est appliquée à tous les destinataires de l’e-mail. Pour de plus amples informations, veuillez consulter Configuration des règles Run Lambda synchrones.

Exemple de réponses Run Lambda synchrones

Les exemples suivants illustrent la structure des réponses Run Lambda synchrones courantes.

Exemple : supprime certains destinataires précis d'un e-mail

L'exemple suivant illustre la structure d'une réponse synchrone Run Lambda pour supprimer des destinataires d'un message électronique.

{ "actions": [ { "action": { "type": "DEFAULT" }, "allRecipients": true }, { "action": { "type": "DROP" }, "recipients": [ "drop-recipient@example.com" ] } ] }
Exemple : Renvoyer un e-mail personnalisé à l’expéditeur

L'exemple suivant illustre la structure d'une réponse synchrone Run Lambda destinée à être renvoyée à un e-mail personnalisé.

{ "actions" : [ { "action" : { "type": 'BOUNCE', "parameters": { "bounceMessage" : "Email in breach of company policy." } }, "allRecipients": true } ] }
Exemple : Ajouter des destinataires à un e-mail

L'exemple suivant illustre la structure d'une réponse synchrone Run Lambda pour ajouter des destinataires au message électronique. Cela ne met pas à jour les champs To (À) ou CC de l’e-mail.

{ "actions": [ { "action": { "type": "DEFAULT" }, "recipients": [ "new-recipient@example.com" ] }, { "action": { "type": "DEFAULT" }, "allRecipients": true } ] }

Pour plus d'exemples de code à utiliser lors de la création de fonctions Lambda pour les actions Run Lambda, consultez les modèles Amazon Lambda. WorkMail

Plus d'informations sur l'utilisation de Lambda avec Amazon WorkMail

Vous pouvez également accéder au contenu complet du message électronique qui déclenche la fonction Lambda. Pour de plus amples informations, veuillez consulter Récupération du contenu d'un message avec AWS Lambda.