Verwendung von Codesignatur zur Überprüfung der Codeintegrität mit Lambda
Die Codesignatur hilft sicherzustellen, dass nur vertrauenswürdiger Code in Ihren Lambda-Funktionen bereitgestellt wird. Mit AWS Signer können Sie digital signierte Code-Pakete für Ihre Funktionen erstellen. Wenn Sie einer Funktion eine Code-Signaturkonfiguration hinzufügen, überprüft Lambda, ob alle neuen Codebereitstellungen von einer vertrauenswürdigen Quelle signiert sind. Da die Validierungsprüfungen von Codesignatur zum Zeitpunkt der Bereitstellung ausgeführt werden, gibt es keine Auswirkungen auf die Ausführung der Funktion.
Wichtig
Codesignatur-Konfigurationen verhindern nur neue Bereitstellungen von unsigniertem Code. Wenn Sie einer vorhandenen Funktion mit unsigniertem Code eine Codesignatur-Konfiguration hinzufügen, wird dieser Code so lange ausgeführt, bis Sie ein neues Codepaket bereitstellen.
Wenn Sie die Codesignatur für eine Funktion aktivieren, müssen alle Ebenen, die Sie der Funktion hinzufügen, auch von einem zulässigen Signaturprofil signiert werden.
Für die Verwendung von AWS Signer oder Codesignatur für AWS Lambda fallen keine zusätzlichen Gebühren an.
Signaturvalidierung
Lambda führt die folgenden Validierungsprüfungen durch, wenn Sie ein signiertes Codepaket für Ihre Funktion bereitstellen:
-
Integrität: Überprüft, dass das Codepaket seit seiner Unterzeichnung nicht geändert wurde. Lambda vergleicht den Hash des Pakets mit dem Hash aus der Signatur.
-
Ablauf: Bestätigt, dass die Signatur des Codepakets nicht abgelaufen ist.
-
Diskrepanz: Bestätigt, dass das Codepaket mit einem der zulässigen Signaturprofil signiert ist.
-
Widerruf: Bestätigt, dass die Signatur des Codepakets nicht widerrufen wurde.
Wenn Sie eine Codesignatur-Konfiguration erstellen, können Sie mit dem Parameter UntrustedArtifactOnDeployment angeben, wie Lambda reagieren soll, wenn die Ablauf-, Diskrepanz- oder Widerrufprüfungen fehlschlagen. Sie können eine der folgenden Aktionen auswählen:
-
Warn: Dies ist die Standardeinstellung. Lambda ermöglicht die Bereitstellung des Codepakets, gibt jedoch eine Warnung aus. Lambda gibt eine neue Amazon-CloudWatch-Metrik (SignatureValidationErrors) aus und speichert die Warnung auch im CloudTrail-Protokoll. -
Enforce– Lambda gibt eine Warnung aus (wie bei derWarn-Aktion) und blockiert die Bereitstellung des Codepakets.