AWS Security Hub enthält einen Suchtyp, der dem Folgenden ähnelt:
„[Lambda.1] Richtlinien für Lambda-Funktionen sollten den öffentlichen Zugriff verbieten“
Wie kann ich diesen Erkennungstyp korrigieren?
Kurzbeschreibung
Diese Steuerantwort schlägt fehl, wenn die AWS Lambda-Funktion:
- Öffentlich zugänglich ist.
- Von Amazon Simple Storage Service (Amazon S3) aufgerufen wird und die Richtlinie keine Bedingung für AWS:SourceAccount enthält.
Lösung
Führen Sie einen der folgenden Schritte aus:
Aktualisieren Sie die Richtlinie, um die Berechtigungen für den öffentlichen Zugriff zu entfernen.
-oder-
Fügen Sie der Richtlinie die Bedingung AWS:SourceAccount hinzu.
Hinweis:
Folgen Sie den Anweisungen, um die ressourcenbasierte Richtlinie einer Funktion mithilfe der Lambda-Konsole anzuzeigen. Abhängig von Ihrem Anwendungsfall können Sie Berechtigungen für die Lambda-Funktion entfernen oder aktualisieren.
Um Berechtigungen aus der Lambda-Funktion zu entfernen, führen Sie den AWS-CLI-Befehl remove-permission aus, der dem Folgenden ähnelt:
$ aws lambda remove-permission --function-name <function-name> --statement-id <statement-id>
Um Berechtigungen für die Lambda-Funktion zu aktualisieren, regeln Sie den AWS-CLI-Befehl add-permission wie folgt:
$ aws lambda add-permission --function <function-name> --statement-id <new-statement-id> --action lambda:InvokeFunction --principal s3.amazonaws.com --source-account <account-id> --source-arn <bucket-arn>
Um sicherzustellen, dass die Berechtigungen entfernt oder aktualisiert wurden, wiederholen Sie die Anweisungen, um die ressourcenbasierte Richtlinie einer Funktion mithilfe der Lambda-Konsole anzuzeigen.
Die ressourcenbasierte Richtlinie sollte jetzt aktualisiert werden.
Hinweis: Wenn die Richtlinie nur eine Anweisung enthielt, ist die Richtlinie leer.
Weitere Informationen finden Sie unter Kontrollen der bewährten Methoden für AWS Foundational Security.
Relevante Informationen
lambda-function-public-access-prohibited