AWS Lambda 아마존을 위한 구성 WorkMail - Amazon WorkMail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Lambda 아마존을 위한 구성 WorkMail

인바운드 및 아웃바운드 이메일 흐름 규칙에서 Run Lambda 작업을 사용하여 규칙과 일치하는 이메일 메시지를 처리를 위해 함수에 전달합니다. AWS Lambda

Amazon에서 Lambda 실행 작업을 수행하려면 다음 구성 중에서 선택하십시오. WorkMail

동기식 Lambda 실행 구성

흐름 규칙과 일치하는 이메일 메시지는 전송되기 전에 처리를 위해 Lambda 함수로 전달됩니다. 이 구성을 사용하여 이메일 콘텐츠를 수정할 수 있습니다. 또한 다양한 사용 사례에 맞게 인바운드 또는 아웃바운드 이메일 흐름을 제어할 수 있습니다. 예를 들어, Lambda 함수에 전달된 규칙은 민감한 이메일 메시지의 전송을 차단하거나 첨부 파일을 제거하거나 고지 사항을 추가할 수 있습니다.

비동기식 Lambda 실행 구성

흐름 규칙과 일치하는 이메일 메시지는 전송되는 동안 처리를 위해 Lambda 함수로 전달됩니다. 이 구성은 이메일 전송에 영향을 주지 않으며 인바운드 또는 아웃바운드 이메일 메시지에 대한 지표 수집과 같은 작업에 사용됩니다.

동기식 구성을 선택하든 비동기식 구성을 선택하든 상관없이 Lambda 함수에 전달된 이벤트 객체에는 인바운드 또는 아웃바운드 이메일 이벤트에 대한 메타데이터가 포함됩니다. 메타데이터의 메시지 ID를 사용하여 이메일 메시지의 전체 콘텐츠에 액세스할 수도 있습니다. 자세한 내용은 를 사용하여 메시지 콘텐츠 검색 AWS Lambda 단원을 참조하십시오. 이메일 이벤트에 대한 자세한 내용은 Lambda 이벤트 데이터 다음을 참조하십시오.

인바운드 및 아웃바운드 이메일 흐름 규칙에 대한 자세한 내용은 이메일 흐름 관리 단원을 참조하십시오. Lambda에 대한 자세한 내용은 AWS Lambda 개발자 안내서를 참조하세요.

참고

현재 Lambda 이메일 흐름 규칙은 구성 중인 Amazon 조직과 AWS 계정 동일한 AWS 리전에 있는 Lambda 함수만 참조합니다. WorkMail

AWS Lambda 아마존용 시작하기 WorkMail

WorkMailAmazon에서 사용을 시작하려면 에서 WorkMail AWS Serverless Application Repository Hello World Lambda 함수를 사용자 AWS Lambda 계정으로 배포하는 것이 좋습니다. 이 함수에는 필요한 모든 리소스와 사용자를 위해 구성된 권한이 있습니다. 더 많은 예를 보려면 의 리포지토리를 참조하십시오. amazon-workmail-lambda-templates GitHub

Lambda 함수를 직접 생성하기로 선택한 경우 () 를 사용하여 AWS Command Line Interface 권한을 구성해야 합니다.AWS CLI다음 예제 명령에서 사용하려면 다음을 수행합니다.

  • MY_FUNCTION_NAME을 Lambda 함수의 이름으로 바꿉니다.

  • Amazon WorkMail AWS 지역으로 REGION 대체하십시오. 사용 가능한 Amazon WorkMail 지역에는 us-east-1 (미국 동부 (버지니아 북부)), us-west-2 (미국 서부 (오레곤)), eu-west-1 (유럽 (아일랜드)) 가 포함됩니다.

  • AWS_ACCOUNT_ID를 12자리 AWS 계정 ID로 바꿉니다.

  • Amazon WorkMail 조직 WORKMAIL_ORGANIZATION_ID ID로 바꾸십시오. 조직 페이지의 조직 카드에서 찾을 수 있습니다.

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

사용에 대한 자세한 내용은 사용 AWS Command Line Interface 설명서를 참조하십시오. AWS CLI

동기식 Lambda 실행 규칙 구성

동기식 Lambda 실행 규칙을 구성하려면 Lambda 실행 작업이 포함된 이메일 흐름 규칙을 생성하고 동기식 실행 확인란을 선택합니다. 메일 흐름 규칙 생성에 대한 자세한 내용은 이메일 흐름 규칙 생성 단원을 참조하십시오.

동기 규칙 생성을 완료하려면 Lambda Amazon 리소스 이름 ARN () 을 추가하고 다음 옵션을 구성합니다.

폴백 작업

Lambda 함수 실행에 실패할 경우 Amazon이 WorkMail 적용하는 작업입니다. 이 작업은 플래그가 설정되지 않은 경우 Lambda 응답에서 생략된 모든 수신자에게도 적용됩니다. allRecipients 폴백 작업은 다른 Lambda 작업이 될 수 없습니다.

규칙 제한 시간(분)

WorkMail Amazon에서 함수를 호출하지 못할 경우 Lambda 함수를 재시도하는 기간입니다. 폴백 작업은 이 기간이 끝날 때 적용됩니다.

참고

동기식 Lambda 실행 규칙은 * 대상 조건만 지원합니다.

Lambda 이벤트 데이터

Lambda 함수는 다음 이벤트 데이터를 사용하여 트리거됩니다. 데이터 표시는 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 }

JSON이벤트에는 다음 데이터가 포함됩니다.

summaryVersion

LambdaEventData의 버전 번호입니다. LambdaEventData에서 이전 버전과 호환되지 않는 변경을 한 경우에만 업데이트됩니다.

envelope

다음 필드가 포함된 이메일 메시지의 엔벌로프입니다.

mailFrom

보낸 사람 주소 - 일반적으로 이메일 메시지를 보낸 사용자의 이메일 주소입니다. 사용자가 다른 사용자 또는 다른 사용자를 대신하여 이메일 메시지를 보낸 경우 mailFrom필드는 실제 발신자의 이메일 주소가 아니라 이메일 메시지를 대신 보낸 사용자의 이메일 주소를 반환합니다.

recipients

모든 수신자 이메일 주소의 목록입니다. WorkMail Amazon은 To, CC 또는 To를 구분하지 않습니다 BCC.

참고

인바운드 이메일 흐름 규칙의 경우 이 목록에는 규칙을 생성한 Amazon WorkMail 조직의 모든 도메인에 있는 수신자가 포함됩니다. Lambda 함수는 발신자의 SMTP 각 대화에 대해 개별적으로 호출되며, 수신자 필드에 해당 대화의 수신자가 나열됩니다. SMTP 외부 도메인의 수신자는 포함되지 않습니다.

sender

다른 사용자를 대신하여 이메일 메시지를 전송한 사용자의 이메일 주소입니다. 이 필드는 다른 사용자를 대신하여 이메일 메시지를 전송할 때만 설정됩니다.

subject

이메일 제목줄입니다. 256자 제한을 초과할 경우 잘립니다.

messageId

Amazon WorkMail Message Flow를 사용할 때 이메일 메시지의 전체 콘텐츠에 액세스하는 데 사용되는 고유 SDK ID입니다.

invocationId

고유한 Lambda 호출의 ID입니다. Lambda 함수가 같은 함수에 대해 두 번 이상 호출되는 경우에도 이 ID는 동일하게 유지됩니다. LambdaEventData 재시도를 감지하고 중복을 방지하는 데 사용합니다.

flowDirection

이메일 흐름의 방향 (또는 INBOUND) 을 나타냅니다. OUTBOUND

truncated

제목 행 길이가 아니라 페이로드 크기에 적용됩니다. true인 경우 페이로드 크기가 128KB 제한을 초과하면 제한을 충족하기 위해 수신자 목록이 잘립니다.

동기식 Lambda 실행 응답 스키마

동기식 Run Lambda 작업이 포함된 이메일 흐름 규칙이 인바운드 또는 아웃바운드 이메일 메시지와 일치하면 Amazon은 구성된 Lambda 함수를 WorkMail 호출하고 응답을 기다린 후 이메일 메시지에 조치를 취합니다. Lambda 함수는 작업, 작업 유형, 적용 가능한 파라미터 및 작업이 적용되는 수신자를 나열하는 미리 정의된 스키마에 따라 응답을 반환합니다.

다음 예는 동기식 Lambda 실행 응답을 보여줍니다. 응답은 Lambda 함수에 사용되는 프로그래밍 언어에 따라 다릅니다.

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

응답에는 JSON 다음 데이터가 포함됩니다.

작업

수신자에 대해 수행할 작업입니다.

type

작업 유형입니다. 비동기식 Lambda 실행 작업에 대해 작업 유형이 반환되지 않습니다.

인바운드 규칙 작업 유형에는 BOUNCE,, BYPASS_ SPAM _ DROPDEFAULTCHECK, MOVEJUNK_TO_가 포함됩니다. 자세한 내용은 인바운드 이메일 규칙 작업 단원을 참조하십시오.

아웃바운드 규칙 작업 유형에는,, 등이 BOUNCE있습니다. DROPDEFAULT 자세한 내용은 아웃바운드 이메일 규칙 작업 단원을 참조하십시오.

파라미터

추가 작업 파라미터입니다. 키 bounceMessage및 값 문자열이 있는 JSON 객체로서 BOUNCE작업 유형에 지원됩니다. 이 반송 메일 메시지는 반송 이메일 메시지를 생성하는 데 사용됩니다.

recipients

작업을 수행해야 하는 이메일 주소의 목록입니다. 원래 수신자 목록에 포함되지 않은 경우에도 새 수신자를 응답에 추가할 수 있습니다. 액션에 true인 경우 allRecipients이 필드는 필수가 아닙니다.

참고

인바운드 이메일에 대해 Lambda 작업이 호출되면 조직의 새 수신자만 추가할 수 있습니다. 새 수신자가 응답에 로 추가됩니다. BCC

allRecipients

true인 경우 Lambda 응답에서 다른 특정 작업이 적용되지 않는 모든 수신자에게 작업을 적용합니다.

동기식 Lambda 실행 작업 제한

Amazon이 동기식 Lambda 실행 작업에 대해 Lambda WorkMail 함수를 호출할 때는 다음과 같은 제한이 적용됩니다.

  • Lambda 함수는 15초 내에 응답하거나 실패한 호출로 처리되어야 합니다.

    참고

    시스템은 사용자가 지정한 규칙 제한 시간 간격 동안 간접 호출을 재시도합니다.

  • 최대 256KB의 Lambda 함수 응답이 허용됩니다.

  • 응답에는 최대 10개의 고유 작업이 허용됩니다. 10개 이상의 작업에는 구성된 폴백 작업이 적용됩니다.

  • 아웃바운드 Lambda 함수에는 최대 500명의 수신자가 허용됩니다.

  • 규칙 제한 시간의 최대값은 240분입니다. 최소값인 0으로 구성된 경우 Amazon에서 폴백 작업을 WorkMail 적용하기 전에 재시도할 필요가 없습니다.

동기식 Lambda 실행 작업 실패

Amazon이 오류, 잘못된 응답 또는 Lambda 시간 초과로 인해 Lambda 함수를 호출할 WorkMail 수 없는 경우 WorkMail Amazon은 지수 백오프를 사용하여 호출을 재시도합니다. 지수 백오프는 규칙 제한 시간이 완료될 때까지 처리 속도를 줄입니다. 그런 다음 이메일 메시지의 모든 수신자에게 폴백 작업이 적용 됩니다. 자세한 내용은 동기식 Lambda 실행 규칙 구성 단원을 참조하십시오.

동기식 Lambda 실행 응답 예

다음 예에서는 일반적인 동기식 Lambda 실행 응답의 구조를 보여줍니다.

예 : 이메일 메시지에서 지정된 수신자 제거

다음 예에서는 이메일 메시지에서 수신자를 제거하기 위한 동기식 Lambda 실행 응답의 구조를 보여줍니다.

{ "actions": [ { "action": { "type": "DEFAULT" }, "allRecipients": true }, { "action": { "type": "DROP" }, "recipients": [ "drop-recipient@example.com" ] } ] }
예 : 사용자 지정 이메일 메시지가 포함된 반송 메일

다음 예에서는 사용자 지정 이메일 메시지로 반송하기 위한 동기식 Lambda 실행 응답의 구조를 보여줍니다.

{ "actions" : [ { "action" : { "type": 'BOUNCE', "parameters": { "bounceMessage" : "Email in breach of company policy." } }, "allRecipients": true } ] }
예 : 이메일 메시지에 수신자 추가

다음 예에서는 이메일 메시지에 수신자를 추가하기 위한 동기식 Lambda 실행 응답의 구조를 보여줍니다. 이렇게 해도 이메일 메시지의 받는 사람 또는 CC 필드는 업데이트되지 않습니다.

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

Lambda 실행 작업을 위한 Lambda 함수를 생성할 때 사용할 추가 코드 예제는 Amazon Lambda 템플릿을 참조하십시오. WorkMail

Amazon에서 Lambda를 사용하는 방법에 대한 추가 정보 WorkMail

Lambda 함수를 트리거하는 이메일 메시지의 전체 콘텐츠에도 액세스할 수 있습니다. 자세한 내용은 를 사용하여 메시지 콘텐츠 검색 AWS Lambda 단원을 참조하십시오.