View a markdown version of this page

Verschlüsselung im Ruhezustand für Webfunktionen - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verschlüsselung im Ruhezustand für Webfunktionen

AWS Lambda verschlüsselt die Daten für Ihre Lambda Web Functions im Ruhezustand auf der Serverseite. Auf dieser Seite werden die verfügbaren Verschlüsselungsoptionen und die Konfiguration eines vom Kunden verwalteten Schlüssels erläutert.

Optionen für die Verschlüsselung im Ruhezustand

Die Verschlüsselung im Ruhezustand ist immer aktiviert. Lambda verschlüsselt Ihr Webfunktions-Code-Artefakt und Ihre Umgebungsvariablen auf der Serverseite, und Sie können diese Verschlüsselung nicht ausschalten. Standardmäßig verwendet Lambda eine AWS-eigener Schlüssel. Sie können stattdessen einen vom Kunden verwalteten Schlüssel konfigurieren.

Sie haben zwei Optionen für den AWS KMS Schlüssel, der Ihre Daten schützt:

AWS-eigener Schlüssel (Standard)

Standardmäßig verschlüsselt Lambda Ihre Daten mit einem. AWS-eigener Schlüssel AWS besitzt und verwaltet diesen Schlüssel. Sie können seine Verwendung nicht einsehen, verwalten oder überwachen. Wenn dieses Standardverhalten Ihren Anforderungen entspricht, ist keine zusätzliche Einrichtung erforderlich.

Kundenverwalteter Schlüssel

Sie können optional Ihren eigenen vom AWS KMS Kunden verwalteten Schlüssel konfigurieren. Verwenden Sie einen vom Kunden verwalteten Schlüssel, wenn Sie die Schlüsselrotation kontrollieren, die Schlüsselnutzung überprüfen CloudTrail, den Schlüsselzugriff mithilfe einer wichtigen Richtlinie verwalten oder die Compliance-Anforderungen des Unternehmens erfüllen müssen. Mit einem vom Kunden verwalteten Schlüssel können nur von Ihnen autorisierte Benutzer auf den verschlüsselten Code und die Umgebungsvariablen zugreifen. Für vom Kunden verwaltete Schlüssel fallen Gebühren AWS KMS an. Weitere Informationen finden Sie unter AWS Key Management Service Preise.

Verschlüsselung von Daten im Ruhezustand mithilfe eines vom Kunden verwalteten Schlüssels

In den folgenden Abschnitten wird erklärt, wie Web Functions einen vom Kunden verwalteten Schlüssel verwenden, wie der Schlüssel und seine Berechtigungen konfiguriert werden und wie der Zugriff darauf eingeschränkt werden kann.

Wie Web Functions einen vom Kunden verwalteten Schlüssel verwendet

Wenn Sie einen vom Kunden verwalteten Schlüssel angeben, verwendet Lambda die Umschlagverschlüsselung. Das bedeutet, dass Lambda die Daten der Revision mit einem Datenschlüssel verschlüsselt und Ihr KMS-Schlüssel diesen Datenschlüssel verschlüsselt. Lambda ruft den Datenschlüssel von Ihrem KMS-Schlüssel ab AWS KMS und entschlüsselt ihn mit diesem, wenn es die Daten lesen muss. Nur Prinzipale mit Zugriff auf den KMS-Schlüssel können auf den Code und die Umgebungsvariablen der Revision zugreifen.

Lambda verschlüsselt die folgenden Web Function-Ressourcen mit Ihrem vom Kunden verwalteten Schlüssel:

Ressource Was ist verschlüsselt
Revision Das aus Ihrem Amazon S3 S3-Bereitstellungspaket erstellte Codeartefakt und die Umgebungsvariablen der Revision.

Lambda verwendet keine AWS KMS Zuschüsse für Webfunktionen. Der Zugriff wird über die Schlüsselrichtlinie und die IAM-Berechtigungen des aufrufenden Prinzipals autorisiert.

Lambda ruft AWS KMS beim Erstellen und Starten von Revisionsressourcen auf und kann entschlüsseltes Material in aktiven Ausführungsumgebungen zwischenspeichern. Das Widerrufen des Schlüsselzugriffs ist kein sofortiger Mechanismus zur Eindämmung des Datenverkehrs, da bestehende Umgebungen zwischengespeichertes Material für einen unbestimmten Zeitraum weiterhin verwenden können.

Testen Sie nach einer Änderung der Schlüsselrichtlinie das erwartete Verhalten und überwachen Sie die Version und den Zustand der Endgeräte. Um den Notfall einzudämmen, beenden Sie die Weiterleitung des Datenverkehrs zu den betroffenen Versionen oder deaktivieren Sie den Endpunkt, anstatt sich nur auf die Sperrung von Schlüsseln zu verlassen.

Lambda legt den folgenden Verschlüsselungskontext für alle AWS KMS Operationen für Webfunktionen fest:

  • aws:lambda:WebFunctionRevisionArn— Der Amazon-Ressourcenname (ARN) der Web Function-Revision.

Sie können diesen Verschlüsselungskontext in wichtigen Richtlinien verwenden, um den Zugriff auf bestimmte Webfunktionen oder Revisionen einzuschränken. Weitere Informationen finden Sie unter Einschränkung des Zugriffs auf Ihren KMS-Schlüssel.

Konfiguration eines vom Kunden verwalteten Schlüssels

Der AWS KMS Schlüssel muss ein symmetrischer Verschlüsselungsschlüssel sein (SchlüsselspezifikationSYMMETRIC_DEFAULT, SchlüsselverwendungENCRYPT_DECRYPT). Sie können keine asymmetrischen Schlüssel verwenden.

Webfunktionen unterstützen Tasten für mehrere Regionen. Die Art des Schlüssels, den Sie benötigen, hängt von Ihrer Endpunktkonfiguration ab:

  • HomeRegion Endpunkt — Sie können einen Schlüssel für eine Region oder einen Schlüssel für mehrere Regionen verwenden.

  • MultiRegion oder PerRegion Endpunkt — Sie müssen einen Schlüssel für mehrere Regionen mit Replikaten in jedem, den der Endpunkt bedient AWS-Region , verwenden. Fehlt in einer Region ein Replikat des Schlüssels, schlägt die Replikation in diese Region fehl.

Informationen zum Erstellen von Schlüsseln für mehrere Regionen finden Sie unter Erstellen von Primärschlüsseln für mehrere Regionen im AWS Key Management Service Entwicklerhandbuch.

Da Schlüsselrichtlinien AWS KMS nicht zwischen verwandten Schlüsseln mit mehreren Regionen kopiert oder synchronisiert werden, müssen Sie jede Schlüsselrichtlinie separat konfigurieren. Konfigurieren Sie die Schlüsselrichtlinie für den Primärschlüssel und für jeden Replikatschlüssel. Die Richtlinie jedes Replikatschlüssels muss mindestens den Aufruf durch den Lambda-Serviceprinzipal ermöglichen. kms:Decrypt Diese Berechtigung ermöglicht Lambda, den Datenschlüssel in dieser Region zu entschlüsseln. Weitere Informationen finden Sie unter Autorisieren der Verwendung von Schlüsseln für mehrere Regionen im Entwicklerhandbuch.AWS Key Management Service

Anmerkung

Wenn Sie Replikatschlüssel für mehrere Regionen erstellen, kann es einige Sekunden bis einige Minuten dauern, bis sie in allen Regionen verfügbar sind. Vergewissern Sie sich, dass der Replikatschlüssel in jeder Zielregion verfügbar ist, bevor Sie die Revision oder den Endpunkt erstellen.

Konfiguration von Berechtigungen zur Verwendung eines vom Kunden verwalteten Schlüssels

Um eine Revision mit einem vom Kunden verwalteten Schlüssel zu erstellen, benötigen Sie die folgenden Berechtigungen für den AWS KMS Schlüssel:

  • kms:DescribeKey— Erforderlich, wenn Sie eine Webfunktion oder Revision mit dem Schlüssel erstellen.

  • kms:GenerateDataKey— Lambda ruft diese Operation auf, um den Datenschlüssel zu generieren, der das Codeartefakt und die Umgebungsvariablen der Revision verschlüsselt.

  • kms:Decrypt— Lambda ruft diese Operation auf, um zu überprüfen, ob der Schlüssel verwendet werden kann, wenn Sie die Revision erstellen. Prinzipale, die eine Revision lesen, benötigen GetWebFunctionRevision auch kms:Decrypt den Schlüssel, um die Umgebungsvariablen zu sehen.

Die Erstellungsanforderung schlägt fehl, wenn der Schlüssel fehlt, deaktiviert ist, kein symmetrischer Verschlüsselungsschlüssel ist oder der Zugriff mit den erforderlichen Berechtigungen nicht möglich ist.

Anmerkung

Sie benötigen kms:Encrypt keine Genehmigung. Lambda verwendet die Envelope-Verschlüsselung mitGenerateDataKey, die sowohl eine Klartext- als auch eine verschlüsselte Kopie des Datenschlüssels zurückgibt, ohne dass ein separater Verschlüsselungsaufruf erforderlich ist.

Die AWS KMS Schlüsselrichtlinie muss auch dem Lambda-Service Principal (lambda.amazonaws.com) den Aufruf kms:Decrypt ermöglichen. Lambda verwendet diese Berechtigung, um den Datenschlüssel zu entschlüsseln, wenn es Ausführungsumgebungen für die Revision startet. Der Service Principal benötigt nicht. kms:DescribeKey Der Principal, der die Webfunktion oder Revision erstellt, benötigt diese Berechtigung.

Beispiel für eine Schlüsselrichtlinie

Die folgende wichtige Richtlinie enthält die drei Anweisungen, die für Webfunktionen erforderlich sind, wobei jeweils die unter beschriebenen Bedingungen gelten. Einschränkung des Zugriffs auf Ihren KMS-Schlüssel Die erste Anweisung gewährt dem Lambda-Serviceprinzipal die Berechtigungen, die er benötigt, um Ausführungsumgebungen zu starten. Die zweite und dritte gewähren dem Prinzipal, der Revisionen erstellt, die Berechtigungen, die er zum Zeitpunkt der Erstellung benötigt.

kms:DescribeKeybefindet sich in einer separaten Anweisung, da es sich um einen Metadatenvorgang handelt, der keinen Verschlüsselungskontext enthält. Eine Bedingung für den Verschlüsselungskontext würde niemals mit einer DescribeKey Anfrage übereinstimmen, sodass diese Bedingung nur für die Anweisung gilt, die kms:GenerateDataKey und gewährtkms:Decrypt.

Dieses Beispiel zeigt nur die Anweisungen, die Lambda für Web Functions benötigt. Fügen Sie diese Anweisungen zu Ihrer bestehenden Schlüsselrichtlinie hinzu, anstatt sie zu ersetzen, und behalten Sie die Anweisungen bei, die Ihren Administratoren Zugriff auf die Verwaltung des Schlüssels gewähren.

Beispiel Wichtige Richtlinie für die Verschlüsselung von Webfunktionen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Lambda to decrypt the data key for Web Function revisions", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:lambda:WebFunctionRevisionArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*", "aws:SourceArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*" } } }, { "Sid": "Allow the revision creator to generate and validate data keys", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyWebFunctionDeployRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:lambda:WebFunctionRevisionArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*" }, "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com" } } }, { "Sid": "Allow the revision creator to describe the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyWebFunctionDeployRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com" } } } ] }

Weitere Informationen zu AWS KMS wichtigen Richtlinien finden Sie unter Wichtige Richtlinien AWS KMS im AWS Key Management Service Entwicklerhandbuch.

Eine Version der Webfunktion mit einem vom Kunden verwalteten Schlüssel erstellen

Um eine Revision mit einem vom Kunden verwalteten Schlüssel zu verschlüsseln, geben Sie den Schlüssel-ARN im kmsKeyArn Parameter der Revisionskonfiguration an. Sie können diesen Parameter festlegen, wenn Sie CreateWebFunctionoder CreateWebFunctionRevisionaufrufen. Wenn Sie es weglassenkmsKeyArn, verschlüsselt Lambda die Revision mit dem. AWS-eigener Schlüssel

Um eine Webfunktion mit einem vom Kunden verwalteten Schlüssel zu erstellen (AWS CLI)
  • Führen Sie den folgenden Befehl aus, um eine Webfunktion mit einem vom Kunden verwalteten Schlüssel zu erstellen.

    aws lambda-web create-web-function \ --function-name my-web-app \ --revision-config '{ "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id", "buildConfig": { "codeConfig": { "s3Object": { "bucket": "amzn-s3-demo-bucket", "key": "my-app.zip" } }, "runtimeConfig": { "runtime": "nodejs24.x" } }, "serviceConfig": { "executionRoleArn": "arn:aws:iam::111122223333:role/my-web-function-role" } }' \ --endpoint-config '{ "endpointName": "my-endpoint", "endpointType": "HomeRegion", "authType": "ApplicationManaged" }'

Ändern der Verschlüsselungskonfiguration einer vorhandenen Webfunktion

Der kmsKeyArn Parameter ist für die gesamte Lebensdauer einer Revision festgelegt. Da Revisionen unveränderlich sind, können Sie den Schlüssel, der eine bestehende Revision schützt, nicht ändern. Um die Verschlüsselungskonfiguration zu ändern, erstellen Sie eine neue Version, die den neuen Schlüssel spezifiziert, und leiten Sie dann den Datenverkehr an diese Version weiter.

Webfunktionen unterstützen die folgenden Tastenübergänge:

  • AWS-eigener Schlüssel zum vom Kunden verwalteten Schlüssel — Erstellen Sie eine neue Version, die Folgendes festlegtkmsKeyArn.

  • Ein vom Kunden verwalteter Schlüssel zu einem anderen vom Kunden verwalteten Schlüssel — Erstellen Sie eine neue Version, die den neuen Schlüssel-ARN spezifiziert.

  • Vom Kunden verwalteter Schlüssel für AWS-eigener Schlüssel — Erstellen Sie eine neue Version ohnekmsKeyArn. Lambda schützt diese Revision dann mit der AWS-eigener Schlüssel, was die Standardeinstellung ist.

Lambda verschlüsselt bestehende Revisionen nicht erneut, wenn Sie eine neue Revision mit einem anderen Schlüssel erstellen. Jede Revision bleibt mit dem Schlüssel verschlüsselt, den Sie bei der Erstellung angegeben haben. Das bedeutet, dass, solange eine frühere Version noch Traffic empfangen kann, ihr ursprünglicher Schlüssel aktiviert und für den Lambda-Serviceprinzipal zugänglich bleiben muss. Bevor Sie einen Schlüssel deaktivieren oder löschen, stellen Sie sicher, dass die Revisionsgewichte eines Endpunkts immer noch auf keine mit diesem Schlüssel verschlüsselte Version verweisen.

Um eine neue Version mit einem anderen vom Kunden verwalteten Schlüssel zu erstellen (AWS CLI)
  1. Führen Sie den folgenden Befehl aus, um eine Revision zu erstellen, die einen anderen Schlüssel verwendet.

    aws lambda-web create-web-function-revision \ --function-name my-web-app \ --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/new-key-id \ --build-config '{ "codeConfig": { "s3Object": { "bucket": "my-bucket", "key": "my-app-v2.zip" } }, "runtimeConfig": { "runtime": "nodejs24.x" } }' \ --service-config '{ "executionRoleArn": "arn:aws:iam::111122223333:role/my-web-function-role" }'
  2. Aktualisieren Sie die Revisionsgewichte des Endpunkts, um den Datenverkehr an die neue Version weiterzuleiten. Weitere Informationen finden Sie unter Bereitstellungsmuster.

Einschränkung des Zugriffs auf Ihren KMS-Schlüssel

Die Schlüsselrichtlinie in Beispiel für eine Schlüsselrichtlinie schränkt den Zugriff mit den folgenden Bedingungsschlüsseln ein. Jede dieser Optionen schränkt die Verwendung des Schlüssels ein, sodass der Zugriff auf den Schlüssel nicht umfassender ist, als für die Webfunktion erforderlich ist.

Verschlüsselungskontext

Lambda legt den Verschlüsselungskontext aws:lambda:WebFunctionRevisionArn bei jeder AWS KMS Revisionsanforderung fest. Verwenden Sie eine StringLike Bedingung aufkms:EncryptionContext:aws:lambda:WebFunctionRevisionArn, um den Schlüssel auf Revisionen einer bestimmten Webfunktion zu beschränken. Wenden Sie diese Bedingung sowohl auf die Creator-Anweisung als auch auf die Lambda-Serviceprinzipal-Anweisung an.

Wenden Sie diese Bedingung nicht auf eine Erklärung an, die gewährtkms:DescribeKey. Für diesen Vorgang gibt es keinen Verschlüsselungskontext, daher würde die Bedingung ihn ablehnen.

Das folgende Beispiel zeigt die Creator-Anweisung mit der Bedingung für den Verschlüsselungskontext.

{ "Sid": "Allow the revision creator to generate and validate data keys", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyWebFunctionDeployRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:lambda:WebFunctionRevisionArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*" } } }

kms: ViaService Zustand

Die kms:ViaService Bedingung schränkt den Schlüssel ein, sodass ihn nur Anfragen verwenden können, die Lambda in Ihrem Namen stellt. Der Wert ist Region-specific:. lambda.us-east-1.amazonaws.com

Mit dieser Bedingung werden direkte Aufrufe AWS KMS verweigert, die mit denselben Anmeldeinformationen getätigt wurden (z. B. wenn Sie es aws kms generate-data-key selbst ausführen), aber das Erstellen einer Webfunktion ist erfolgreich, da Lambda die AWS KMS Aufrufe für Sie durchführt.

AWS KMS verwendet keine gemeinsamen Richtlinien für verknüpfte Schlüssel aus mehreren Regionen. Jeder Replikatschlüssel hat seine eigene Richtlinie. Wenn Sie die kms:ViaService Bedingung mit einem Schlüssel für mehrere Regionen verwenden, verwenden Sie den regionalen Dienstnamen, der der Region jedes Schlüssels entspricht (z. B. lambda.us-east-1.amazonaws.com in der Schlüsselrichtlinie us-east-1 und lambda.us-west-2.amazonaws.com in der replikatschlüsselrichtlinie us-west-2). Sie können auch mehrere regionale Werte in einer Bedingung auflisten, da StringEquals eine Reihe von Werten akzeptiert wird.

Das folgende Beispiel zeigt die Creator-Anweisung sowohl mit der Bedingung als auch mit der kms:ViaService Bedingung für den Verschlüsselungskontext.

{ "Sid": "Allow the revision creator to generate and validate data keys", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyWebFunctionDeployRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:lambda:WebFunctionRevisionArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*" }, "StringEquals": { "kms:ViaService": "lambda.us-east-1.amazonaws.com" } } }

Verwirrter Abgeordneter, Schutz

Das Problem des verwirrten Stellvertreters tritt auf, wenn eine Entität, die nicht berechtigt ist, eine Aktion auszuführen, eine Entität mit mehr Rechten dazu zwingt. Da der Lambda Service Principal Ihren vom Kunden verwalteten Schlüssel verwenden kann, beschränken Sie diesen Zugriff auf die Web Function-Revisionen, die Sie besitzen. Weitere Informationen finden Sie unter Das Problem des verwirrten Stellvertreters im IAM-Benutzerhandbuch.

Wenn Lambda AWS KMS mit seinen eigenen Dienstanmeldedaten aufruft, um eine Ausführungsumgebung zu starten, sendet es den Revision-ARN als Quell-ARN und Ihre AWS-Konto ID als Quellkonto. Verwenden Sie den Schlüssel aws: SourceArn condition in der Lambda Service Principal-Anweisung, um den Schlüssel auf Revisionen einer bestimmten Webfunktion zu beschränken.

{ "Sid": "Allow Lambda to decrypt the data key for Web Function revisions", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:lambda:us-east-1:111122223333:web-function/my-function/revision/*" } } }

Um den Schlüssel auf Ihr Konto und nicht auf eine bestimmte Webfunktion zu beschränken, verwenden Sie den SourceAccount Bedingungsschlüssel aws: mit Ihrer AWS-Konto ID.

Wenden Sie diese Bedingung auf die Lambda-Serviceprinzipalanweisung an. Die kms:ViaService unter beschriebene Bedingung kms: ViaService Zustand schränkt ein, welcher Dienst den Schlüssel verwenden kann, bietet aber keinen Schutz für verwirrte Stellvertreter.

Verhalten bei Fehlern

Lambda validiert den AWS KMS Schlüssel, wenn Sie eine Revision erstellen. Die folgenden Fehler können bei der Erstellung auftreten:

  • Validierungsfehler — Der Schlüssel-ARN ist ungültig, der Schlüssel existiert nicht, der Schlüssel ist deaktiviert oder der Schlüssel ist kein symmetrischer Verschlüsselungsschlüssel.

  • Fehler „Zugriff verweigert“ — Der aufrufende Principal oder der Lambda-Serviceprinzipal verfügt nicht über die erforderlichen AWS KMS Berechtigungen für den Schlüssel.

Deaktivieren oder entziehen Sie nicht den Zugriff auf den Schlüssel einer aktiven Revision

Wenn Sie den AWS KMS Schlüssel deaktivieren oder dem Lambda-Serviceprinzipal nach einer Revision den Zugriff entziehenActive, kann Lambda den Datenschlüssel nicht mehr entschlüsseln. Dadurch wird verhindert, dass Lambda neue Ausführungsumgebungen für diese Revision startet, wodurch Aufrufe unterbrochen werden. Löschen Sie außerdem keine Replikatschlüssel in Regionen, in denen die Revision noch bereitgestellt wird. Dies hat den gleichen Effekt (Lambda kann in dieser Region keine neuen Ausführungsumgebungen starten). Um den Dienst wiederherzustellen, erstellen Sie eine neue Version mit einem zugänglichen Schlüssel oder aktivieren Sie den ursprünglichen Schlüssel erneut und stellen Sie die Schlüsselrichtlinie wieder her.

Verschlüsselung mit MultiRegion Endpunkten PerRegion

Bei Webfunktionen mit MultiRegion oder PerRegion Endpunkten überprüft Lambda während der Replikation die Schlüsselverfügbarkeit in jeder Region. Wenn das Schlüsselreplikat für mehrere Regionen in einer Zielregion fehlt oder nicht darauf zugegriffen werden kann, schlägt die Replikation nur für diese Region fehl. Andere Regionen funktionieren weiterhin normal.

Sie können den Bundesstaat jeder Region einsehen und den Status aktualisieren, indem Sie anrufenGetWebFunctionEndpoint. Der Eintrag jeder Region regionalEndpoints enthält state und stateReason (den Bereitstellungsstatus der Region) updateStatus und und updateStatusReason (das Ergebnis der letzten Aktualisierung). Das Verhalten unterscheidet sich je nachdem, ob der Endpunkt erstellt oder aktualisiert wird:

  • Während der Endpunkterstellung — Der Eintrag in der Region regionalEndpoints zeigt ein state Von Failed und einstateReason, das das Hauptproblem beschreibt. Der Gesamtendpunkt wird state ebenfalls angezeigt Failed und stateReason leitet Sie zu den regionalen Einträgen weiter.

  • Während eines Endpunkt-Updates — Die Region wird Failed mit einer Anzeige updateStatus angezeigtupdateStatusReason, die das Hauptproblem beschreibt. Der allgemeine Endpunkt wird updateStatus ebenfalls angezeigt Failed und updateStatusReason leitet Sie zu den regionalen Einträgen weiter.

Um eine fehlerhafte Region zu beheben, erstellen Sie ein Schlüsselreplikat in dieser Region oder stellen Sie den Zugriff auf das vorhandene Replikat wieder her und aktualisieren Sie dann den Endpunkt, um die Replikation erneut zu versuchen.

Überwachung der Interaktion der Webfunktionen mit AWS KMS

Sie können CloudTrail damit die AWS KMS Anfragen verfolgen, die Lambda in Ihrem Namen stellt, wenn Sie einen vom Kunden verwalteten Schlüssel mit einer Webfunktion verwenden. Informationen zum Auffinden von AWS KMS Ereignissen in Ihren CloudTrail Protokollen finden Sie unter Suchen von CloudTrail Protokollen nach AWS KMS API-Aufrufen im AWS Key Management Service Entwicklerhandbuch.

In der folgenden Tabelle sind die AWS KMS Ereignisse aufgeführt, die von Webfunktionen generiert werden, sowie die Werte, die Sie bei jedem Ereignis überprüfen können.

eventName Wann es auftritt Zu prüfende Werte
DescribeKey Wenn Sie eine Webfunktion oder Revision mit einem vom Kunden verwalteten Schlüssel erstellen. userIdentityist der IAM-Prinzipal, der die Revision erstellt hat. Dieses Ereignis hat keinen Verschlüsselungskontext, da DescribeKey es sich um einen Metadatenvorgang handelt.
GenerateDataKey Wenn Sie eine Webfunktion oder Revision erstellen. Lambda generiert den Datenschlüssel, der das Codeartefakt und die Umgebungsvariablen der Revision verschlüsselt. userIdentityist der IAM-Prinzipal, der die Revision erstellt hat. encryptionContextenthältaws:lambda:WebFunctionRevisionArn.
Decrypt Wenn Sie eine Webfunktion oder Revision erstellen, validiert Lambda den Schlüsselzugriff. Lambda ruft diese Operation auch auf, wenn es die Revision in einer Replikatregion bereitstellt, wenn es eine neue Ausführungsumgebung startet und wenn ein Aufrufer die Umgebungsvariablen der Revision mit liest. GetWebFunctionRevision Bei Aufrufen zur Erstellungszeit userIdentity ist dies der IAM-Prinzipal, der die Revision erstellt hat. Lambda führt auch einen Probelauf durch, Decrypt lambda.amazonaws.com um zu bestätigen, dass der Dienstprinzipal den Schlüssel verwenden kann. Für Runtime-Aufrufe userIdentity ist der Lambda-Service Principal (lambda.amazonaws.com). Denn GetWebFunctionRevision Lambda ruft Decrypt mit den Anmeldeinformationen des Anrufers an. encryptionContextenthält. aws:lambda:WebFunctionRevisionArn

Die Decrypt Ereignisse GenerateDataKey und beinhalten den Verschlüsselungskontext aws:lambda:WebFunctionRevisionArn mit dem Revision-ARN. Verwenden Sie diesen Wert, um AWS KMS Anfragen für eine bestimmte Webfunktions-Revision zu identifizieren.