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.
Lambda bietet im Ruhezustand immer serverseitige Verschlüsselung für .zip-Bereitstellungspakete und Funktionskonfigurationsdetails mit einem AWS KMS key an. Standardmäßig verwendet Lambda einen AWS-eigener Schlüssel. Wenn dieses Standardverhalten zu Ihrem Workflow passt, müssen Sie nichts anderes einrichten. AWS berechnet Ihnen keine Gebühren für die Verwendung dieses Schlüssels.
Wenn Sie möchten, können Sie stattdessen einen vom AWS KMS Kunden verwalteten Schlüssel bereitstellen. Sie können dies tun, um die Drehung des KMS-Schlüssels zu steuern oder die Anforderungen Ihrer Organisation für die Verwaltung von KMS-Schlüsseln zu erfüllen. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, können nur Benutzer Ihres Kontos mit Zugriff auf den KMS-Schlüssel den Code oder die Konfiguration der Funktion anzeigen oder verwalten.
Für vom Kunden verwaltete Schlüssel fallen AWS KMS Standardgebühren an. Weitere Informationen finden Sie unter AWS Key Management Service Preise
Einen kundenverwalteten Schlüssel erstellen
Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel erstellen, indem Sie den AWS Management Console, oder den verwenden. AWS KMS APIs
Einen symmetrischen kundenverwalteten Schlüssel erstellen
Befolgen Sie die Schritte zur Erstellung symmetrischer Verschlüsselung Erstellung symmetrischer KMS-Schlüssel mit symmetrischer Verschlüsselung im AWS Key Management Service -Entwicklerhandbuch.
Berechtigungen
Schlüsselrichtlinie
Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Weitere Informationen finden Sie unter So ändern Sie eine Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.
Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, um ein .zip-Bereitstellungspaket zu verschlüsseln, fügt Lambda dem Schlüssel keinen Zuschuss hinzu. Stattdessen muss Ihre AWS KMS Schlüsselrichtlinie es Lambda ermöglichen, die folgenden AWS KMS API-Operationen in Ihrem Namen aufzurufen:
Die folgende Beispielschlüsselrichtlinie ermöglicht es allen Lambda-Funktionen im Konto 111122223333, die erforderlichen AWS KMS Operationen für den angegebenen vom Kunden verwalteten Schlüssel aufzurufen:
Beispiel AWS KMS wichtige Richtlinie
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id
",
"Condition": {
"StringLike": {
"kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:*
"
}
}
}
]
}
Weitere Informationen zur Fehlerbehebung beim Schlüsselzugriff finden Sie im AWS Key Management Service -Entwicklerhandbuch.
Prinzipalberechtigungen
Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, um ein .zip-Bereitstellungspaket zu verschlüsseln, können nur Prinzipale mit Zugriff auf diesen Schlüssel auf das .zip-Bereitstellungspaket zugreifen. Principals, die keinen Zugriff auf den vom Kunden verwalteten Schlüssel haben, können beispielsweise das .zip-Paket nicht über die vorsignierte S3-URL herunterladen, die in der Antwort enthalten ist. GetFunction Im Abschnitt Code
der Antwort wird ein AccessDeniedException
zurückgegeben.
Beispiel AWS KMS AccessDeniedException
{
"Code": {
"RepositoryType": "S3",
"Error": {
"ErrorCode": "AccessDeniedException",
"Message": "KMS access is denied. Check your KMS permissions. KMS Exception: AccessDeniedException KMS Message: User: arn:aws:sts::111122223333:assumed-role/LambdaTestRole/session is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-east-1:111122223333:key/key-id with an explicit deny in a resource-based policy"
},
"SourceKMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"
},
...
Weitere Informationen zu Berechtigungen für AWS KMS Schlüssel finden Sie unter Authentifizierung und Zugriffskontrolle für. AWS KMS
Verwenden Sie einen vom Kunden verwalteten Schlüssel für Ihr .zip-Bereitstellungspaket
Verwenden Sie die folgenden API-Parameter, um vom Kunden verwaltete Schlüssel für .zip-Bereitstellungspakete zu konfigurieren:
-
Source KMSKey Arn: Verschlüsselt das Quell-ZIP-Bereitstellungspaket (die Datei, die Sie hochladen).
-
KMSKeyArn: Verschlüsselt Umgebungsvariablen und Lambda-Snapshots SnapStart.
Wenn SourceKMSKeyArn
und KMSKeyArn
beide angegeben sind, verwendet Lambda den Schlüssel KMSKeyArn
, um die entpackte Version des Pakets zu verschlüsseln, das Lambda zum Aufrufen der Funktion verwendet. Wenn SourceKMSKeyArn
angegeben ist, aber KMSKeyArn
nicht, verwendet Lambda ein Von AWS verwalteter Schlüssel, um die entpackte Version des Pakets zu verschlüsseln.
So fügen Sie beim Erstellen einer Funktion die kundenverwaltete Schlüsselverschlüsselung hinzu
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie Funktion erstellen aus.
-
Klicken Sie auf Ohne Vorgabe erstellen oder Container-Image.
-
Führen Sie unter Basic information (Grundlegende Informationen) die folgenden Schritte aus:
-
Geben Sie für Funktionsname den Funktionsnamen ein.
-
Wählen Sie für Laufzeit die Sprachversion aus, die für Ihre Funktion verwendet werden soll.
-
-
Erweitern Sie Erweiterte Einstellungen und wählen Sie dann Verschlüsselung mit einem vom AWS KMS Kunden verwalteten Schlüssel aktivieren aus.
-
Wählen Sie einen kundenverwalteten Schlüssel.
-
Wählen Sie Funktion erstellen aus.
Um die vom Kunden verwaltete Schlüsselverschlüsselung zu entfernen oder einen anderen Schlüssel zu verwenden, müssen Sie das .zip-Bereitstellungspaket erneut hochladen.
So fügen Sie einer bestehenden Funktion eine vom Kunden verwaltete Schlüsselverschlüsselung hinzu
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie den Namen einer Funktion aus.
-
Wählen Sie im Bereich Codequelle die Option Hochladen von aus.
-
Wählen Sie eine .zip-Datei oder einen Amazon-S3-Speicherort.
-
Laden Sie die Datei hoch oder geben Sie den Amazon-S3-Speicherort ein.
-
Wählen Sie Verschlüsselung mit einem vom AWS KMS Kunden verwalteten Schlüssel aktivieren aus.
-
Wählen Sie einen kundenverwalteten Schlüssel.
-
Wählen Sie Save (Speichern) aus.