Lambda function should not be accessible over the public internet

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

Description

Identify when a Lambda function can be invoked by anyone, either directly or through a Lambda function URL.

Rationale

Giving anonymous users the ability to invoke Amazon Lambda functions can lead to data loss, data exposure, and unexpected AWS billing charges.

Remediation

From the console

Follow the Using resource-based policies for AWS lambda docs to update your AWS lambda function permissions.

From the command line

  1. Run remove-permission with your function name and statement ID.

remove-permission.sh

  aws lambda remove-permission
    --function-name your-function-name
    --statement-id ab-12ab34c5-6a78-9b0c-123d-a123b456c789
  
  1. Run add-permission with your function name, statement ID, principal for the trusted account, and action.

add-permission.sh

  aws lambda add-permission
    --function-name your-function-name
    --statement-id ab-12ab34c5-6a78-9b0c-123d-a123b456c789
    --principal 0123456780123
    --action lambda:InvokeFunction
  
PREVIEWING: may/unit-testing