2017-08-18 34 views
1

https://github.com/arithmetric/aws-lambda-ses-forwarderのスペルを完全に守っていますが、止まっています。 Google検索の量やオプション付きで遊ぶことのどれもが助けられていません。クライアントが契約を終了しようとしています。私たちはこのエラーに長続きしませんでした。AWS Lambda + S3 + SES + Gmailフォワーディング: 'copyObject()がエラーを返しました:'

私は自分のドメインを確認しました。確認されたアドレスから指定されたS3バケットまでどこからでも電子メールを受け取ることができます。 "functionArn":xxx ... "" functionArn ":" arn:aws:lambda:us-west-2:マイアカウントID:関数:fnForwardEmailToGmail "を変更しました。しかし、受信した電子メールが転送されることはありませんし、私は「SES Eメール受信」を使用して機能をテストするとき、私はエラー以下得る。

START RequestId: 7f2cd5ed-83ea-11e7-913f-55748388c69f Version: $LATEST 
2017-08-18T07:54:44.467Z 7f2cd5ed-83ea-11e7-913f-55748388c69f { level: 'info', 
    message: 'Fetching email at s3://MY-S3-BUCKET/MY-PREFIX/o3vrnil0e2ic28fgfdstrm7dfhrc2v0clambda4nbp0g1' } 
2017-08-18T07:54:46.068Z 7f2cd5ed-83ea-11e7-913f-55748388c69f { level: 'error', 
    message: 'copyObject() returned error:', 
    error: 
    { [AccessDenied: Access Denied] 
    message: 'Access Denied', 
    code: 'AccessDenied', 
    region: null, 
    time: Fri Aug 18 2017 07:54:46 GMT+0000 (UTC), 
    requestId: 'A6285517D1AF2B9D', 
    extendedRequestId: 'dfH3csS5kHLsYN4ZgIWVliYmuVb1OgCVl6KdUSdZdqwX2T+JdkfZwIyPa5KEgYFiJfZmrwXjXDI=', 
    cfId: undefined, 
    statusCode: 403, 
    retryable: false, 
    retryDelay: 32.49475641641766 }, 
    stack: 'AccessDenied: Access Denied 
    at Request.extractError (/var/task/node_modules/aws-sdk/lib/services/s3.js:473:35) 
    at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:105:20) 
    at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:77:10) 
    at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:615:14) 
    at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10) 
    at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12) 
    at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10 
    at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9) 
    at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:617:12) 
    at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:115:18)' } 
2017-08-18T07:54:46.127Z 7f2cd5ed-83ea-11e7-913f-55748388c69f {"errorMessage":"Error: Could not make readable copy of email."} 
END RequestId: 7f2cd5ed-83ea-11e7-913f-55748388c69f 
REPORT RequestId: 7f2cd5ed-83ea-11e7-913f-55748388c69f Duration: 1993.85 ms Billed Duration: 2000 ms Memory Size: 128 MB Max Memory Used: 32 MB 

LAMBDA役割機能方針

{ 
    "Version": "2016-03-04", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
      "logs:CreateLogGroup", 
      "logs:CreateLogStream", 
      "logs:PutLogEvents" 
      ], 
      "Resource": "arn:aws:logs:*:*:*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": "ses:SendRawEmail", 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
      "s3:GetObject", 
      "s3:PutObject" 
      ], 
      "Resource": "arn:aws:s3:::MY-S3-BUCKET/*" 
     } 
    ] 
} 

は、私は私のLAMBDAロールに追加しました2つの管理役割「AmazonS3FullAccess」および「AmazonSESFullAccess」

S3バケットポリシー

私が間違っているつもりです
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
     "Sid": "GiveSESPermissionToWriteEmail", 
     "Effect": "Allow", 
     "Principal": { 
      "Service": "ses.amazonaws.com" 
     }, 
     "Action": "s3:PutObject", 
     "Resource": "arn:aws:s3:::MY-S3-BUCKET/*", 
     "Condition": { 
      "StringEquals": { 
       "aws:Referer": "MY-ACCOUNT-ID" 
      } 
     } 
     } 
    ] 
} 

? Plsヘルプ!

答えて

0

そのcopyObject()はS3でファイルをコピーしているようです。役割にS3権限を追加する必要があります。

0

私は同じ問題を抱えていました。 https://github.com/arithmetric/aws-lambda-ses-forwarder#set-upのGitHub設定手順を確認した後、S3のIAMポリシーに権限が設定されていないことに気付きました。

S3 service should have "Limited: Read, Write" access level.

ポリシーを変更し、最後に「/ *」が付いていることを確認する必要があります。下記の例を参照してください。

"Resource": "arn:aws:s3:::S3-BUCKET-NAME/*" 
関連する問題