Lambda function should not be accessible over the public internet


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


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


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.

  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.

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