Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verschlüsseln Sie Protokolldaten in CloudWatch Logs mit AWS Key Management Service - CloudWatch Amazon-Protokolle

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.

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üsseln Sie Protokolldaten in CloudWatch Logs mit AWS Key Management Service

Protokollgruppendaten werden in CloudWatch Logs immer verschlüsselt. Standardmäßig verwendet CloudWatch Logs serverseitige Verschlüsselung mit 256-Bit Advanced Encryption Standard Galois/Counter Mode (AES-GCM), um Protokolldaten im Ruhezustand zu verschlüsseln. Als Alternative können Sie AWS Key Management Service für diese Verschlüsselung verwenden. Wenn Sie dies tun, erfolgt die Verschlüsselung mithilfe eines Schlüssels. AWS KMS Die Verschlüsselung mit AWS KMS wird auf Protokollgruppenebene aktiviert, indem ein KMS-Schlüssel einer Protokollgruppe zugeordnet wird, entweder wenn Sie die Protokollgruppe erstellen oder nachdem sie existiert.

Wichtig

CloudWatch Logs unterstützt jetzt den Verschlüsselungskontext, indem er kms:EncryptionContext:aws:logs:arn als Schlüssel und den ARN der Protokollgruppe als Wert für diesen Schlüssel verwendet. Wenn es Protokollgruppen gibt, die Sie bereits mit einem KMS-Schlüssel verschlüsselt haben, und Sie die Verwendung des Schlüssels auf ein einzelnes Konto und eine einzelne Protokollgruppe beschränken möchten, sollten Sie einen neuen KMS-Schlüssel zuweisen, der eine Bedingung in der IAM-Richtlinie enthält. Weitere Informationen finden Sie unter AWS KMS Schlüssel und Verschlüsselungskontext.

Wichtig

CloudWatch Logs unterstützt jetztkms:ViaService, sodass Logs in Ihrem Namen AWS KMS Anrufe tätigen können. Sie sollten dies zu Ihren Rollen hinzufügen, die CloudWatch Logs entweder in Ihrer Schlüsselrichtlinie oder in IAM aufrufen. Weitere Informationen finden Sie unter kms: ViaService.

Nachdem Sie einen KMS-Schlüssel mit einer Protokollgruppe verknüpft haben, werden alle für die Protokollgruppe neu übernommenen Daten mithilfe des Schlüssels verschlüsselt. Diese Daten werden während ihrer gesamten Aufbewahrungsfrist in verschlüsseltem Format gespeichert. CloudWatch Logs entschlüsselt diese Daten, wann immer sie angefordert werden. CloudWatch Protokolle müssen über Berechtigungen für den KMS-Schlüssel verfügen, wenn verschlüsselte Daten angefordert werden.

Wenn Sie später die Zuordnung eines KMS-Schlüssels zu einer Protokollgruppe aufheben, verschlüsselt CloudWatch Logs neu aufgenommene Daten mit der Standardverschlüsselungsmethode CloudWatch Logs. Alle zuvor aufgenommenen Daten, die mit dem KMS-Schlüssel verschlüsselt wurden, bleiben mit dem KMS-Schlüssel verschlüsselt. CloudWatch Protokolle können diese Daten auch dann zurückgeben, wenn die Zuordnung des KMS-Schlüssels aufgehoben wurde, da CloudWatch Protokolle weiterhin auf den Schlüssel verweisen können. Wenn der Schlüssel jedoch später deaktiviert wird, kann Logs die CloudWatch Protokolle, die mit diesem Schlüssel verschlüsselt wurden, nicht lesen.

Wichtig

CloudWatch Logs unterstützt nur symmetrische KMS-Schlüssel. Verwenden Sie keinen asymmetrischen Schlüssel, um die Daten in Ihren Protokollgruppen zu verschlüsseln. Weitere Informationen finden Sie unter Verwenden von symmetrischen und asymmetrischen Schlüsseln.

Einschränkungen

  • Um die folgenden Schritte ausführen zu können, benötigen Sie die folgenden Berechtigungen: kms:CreateKey, kms:GetKeyPolicy und kms:PutKeyPolicy.

  • Nachdem Sie die Verknüpfung eines Schlüssels mit einer Protokollgruppe hergestellt oder aufgehoben haben, kann es bis zu fünf Minuten dauern, bis der Vorgang wirksam wird.

  • Wenn Sie CloudWatch Logs den Zugriff auf einen zugehörigen Schlüssel entziehen oder einen zugehörigen KMS-Schlüssel löschen, können Ihre verschlüsselten Daten in CloudWatch Logs nicht mehr abgerufen werden.

  • Sie können einen KMS-Schlüssel nicht mithilfe der CloudWatch Konsole einer vorhandenen Protokollgruppe zuordnen.

Schritt 1: Erstellen Sie einen AWS KMS Schlüssel

Um einen KMS-Schlüssel zu erstellen, verwenden Sie den folgenden Befehl create-key:

aws kms create-key

Die Ausgabe enthält die Schlüssel-ID und den Amazon-Ressourcennamen (ARN) des Schlüssels. Das Folgende ist Ausgabebeispiel:

{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Schritt 2: Festlegen von Berechtigungen auf dem KMS-Schlüssel

Standardmäßig sind alle AWS KMS Schlüssel privat. Nur der Ressourcenbesitzer kann mit ihnen Daten verschlüsseln und entschlüsseln. Der Ressourceninhaber kann jedoch anderen Benutzern und Ressourcen Zugriffsberechtigungen für den KMS-Schlüssel erteilen. Mit diesem Schritt erteilen Sie dem CloudWatch Logs-Dienstprinzipal und der Anruferrolle die Erlaubnis, den Schlüssel zu verwenden. Dieser Dienstprinzipal muss sich in derselben AWS Region befinden, in der der KMS-Schlüssel gespeichert ist.

Als bewährte Methode empfehlen wir, die Verwendung des KMS-Schlüssels auf die von Ihnen angegebenen AWS Konten oder Protokollgruppen zu beschränken.

Speichern Sie zunächst die Standardrichtlinie für Ihren KMS-Schlüssel policy.json mit dem folgenden get-key-policyBefehl:

aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json

Öffnen Sie die Datei policy.json in einem Texteditor und fügen Sie den in Fettschrift angezeigten Abschnitt aus einer der folgenden Anweisungen hinzu. Sie trennen die vorhandene Anweisung von der neuen Anweisung durch ein Komma. In diesen Anweisungen Condition werden Abschnitte verwendet, um die Sicherheit des AWS KMS Schlüssels zu erhöhen. Weitere Informationen finden Sie unter AWS KMS Schlüssel und Verschlüsselungskontext.

Der Condition-Abschnitt in diesem Beispiel schränkt den Schlüssel auf einen einzelnen Protokollgruppen-ARN ein.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Your_account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region:account-id:log-group:log-group-name" } } } ] }

Der Condition-Abschnitt in diesem Beispiel beschränkt die Verwendung des AWS KMS -Schlüssels auf das angegebene Konto, kann jedoch für jede Protokollgruppe verwendet werden.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Your_account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region:account-id:*" } } } ] }

Als Nächstes fügen Sie der Rolle, die die CloudWatch Logs aufrufen wird, Berechtigungen hinzu. Sie können dies tun, indem Sie der AWS KMS Schlüsselrichtlinie eine zusätzliche Anweisung hinzufügen oder IAM für die Rolle selbst verwenden. CloudWatch Logskms:ViaService, die verwendet werden, um AWS KMS Anrufe im Namen des Kunden zu tätigen. Weitere Informationen finden Sie unter kms: ViaService.

Um der AWS KMS Schlüsselrichtlinie Berechtigungen hinzuzufügen, fügen Sie Ihrer Schlüsselrichtlinie die folgende zusätzliche Erklärung hinzu. Wenn Sie diese Methode verwenden, empfiehlt es sich, die Richtlinie nur auf die Rollen auszudehnen, die mit AWS KMS verschlüsselten Protokollgruppen interagieren.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:role/role_name" }, "Action": [ "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt", "kms:GenerateDataKey*" "kms:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "logs.region.amazonaws.com" ] } } }

Wenn Sie Rollenberechtigungen in IAM verwalten möchten, können Sie alternativ entsprechende Berechtigungen mithilfe der folgenden Richtlinie hinzufügen. Dies kann einer vorhandenen Rollenrichtlinie hinzugefügt oder einer Rolle als zusätzliche separate Richtlinie zugewiesen werden. Wenn Sie diese Methode verwenden, sollten Sie als bewährte Methode die Richtlinie nur auf die AWS KMS Schlüssel beschränken, die für die Protokollverschlüsselung verwendet werden. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten.

{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt", "kms:GenerateDataKey* ", "kms:Describe*" ], "Condition":{ "StringEquals":{ "kms:ViaService": [ "logs.region.amazonaws.com" ] } }, "Resource": "arn:aws:kms:region:account_id:key/key_id" } ] }

Fügen Sie abschließend die aktualisierte Richtlinie mit dem folgenden put-key-policyBefehl hinzu:

aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json

Schritt 3: Verknüpfen eines KMS-Schlüssels mit einer Protokollgruppe

Sie können einen KMS-Schlüssel während oder nach der Erstellung einer Protokollgruppe mit dieser verknüpfen.

Verwenden Sie den folgenden describe-log-groupsBefehl, um herauszufinden, ob einer Protokollgruppe bereits ein KMS-Schlüssel zugeordnet ist:

aws logs describe-log-groups --log-group-name-prefix "log-group-name-prefix"

Wenn die Ausgabe ein kmsKeyId-Feld enthält, wird die Protokollgruppe dem Schlüssel zugeordnet, der für den Wert dieses Feldes angezeigt wird.

So verknüpfen Sie einen KMS-Schlüssel mit einer Protokollgruppe, wenn Sie sie erstellen

Verwenden Sie den create-log-group-Befehl wie folgt:

aws logs create-log-group --log-group-name my-log-group --kms-key-id "key-arn"
So verknüpfen Sie den KMS-Schlüssel mit einer vorhandenen Protokollgruppe

Verwenden Sie den associate-kms-key-Befehl wie folgt:

aws logs associate-kms-key --log-group-name my-log-group --kms-key-id "key-arn"

Schritt 4: Aufheben der Verknüpfung eines Schlüssels mit einer Protokollgruppe

Verwenden Sie den folgenden disassociate-kms-keyBefehl, um die Zuordnung des KMS-Schlüssels, der einer Protokollgruppe zugeordnet ist, aufzuheben:

aws logs disassociate-kms-key --log-group-name my-log-group

AWS KMS Schlüssel und Verschlüsselungskontext

Um die Sicherheit Ihrer AWS Key Management Service Schlüssel und Ihrer verschlüsselten Protokollgruppen zu erhöhen, fügt CloudWatch Logs die Protokollgruppe jetzt ARNs als Teil des Verschlüsselungskontextes hinzu, der zur Verschlüsselung Ihrer Protokolldaten verwendet wird. Der Verschlüsselungskontext ist ein Satz von Schlüssel-Wert-Paaren, die als zusätzliche authentifizierte Daten verwendet werden. Der Verschlüsselungskontext ermöglicht es Ihnen, mithilfe der IAM-Richtlinienbedingungen den Zugriff auf Ihren AWS KMS Schlüssel nach AWS Konto und Protokollgruppe zu beschränken. Weitere Informationen finden Sie unter Verschlüsselungskontext und IAM-JSON-Richtlinienelemente: Bedingung.

Sie sollten für jede verschlüsselte Protokollgruppe einen anderen KMS-Schlüssel verwenden.

Wenn Sie zuvor eine Protokollgruppe verschlüsselt haben und jetzt für diese Protokollgruppe einen neuen KMS-Schlüssel verwenden möchten, der nur für diese Protokollgruppe funktioniert, gehen Sie folgendermaßen vor.

So konvertieren Sie eine verschlüsselte Protokollgruppe für die Verwendung eines KMS-Schlüssels mit einer Richtlinie, die diesen auf diese Protokollgruppe einschränkt
  1. Geben Sie den folgenden Befehl ein, um den ARN des aktuellen Schlüssels der Protokollgruppe zu finden:

    aws logs describe-log-groups

    Die Ausgabe enthält die folgende Zeile. Notieren Sie den ARN. Sie benötigen ihn in Schritt 7.

    ... "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef" ...
  2. Geben Sie den folgenden Befehl ein, um einen neuen KMS-Schlüssel zu erstellen:

    aws kms create-key
  3. Geben Sie den folgenden Befehl ein, um die Richtlinie des neuen Schlüssels in einer policy.json-Datei zu speichern:

    aws kms get-key-policy --key-id new-key-id --policy-name default --output text > ./policy.json
  4. Verwenden Sie einen Texteditor zum Öffnen von policy.json und fügen Sie der Richtlinie einen Condition-Ausdruck hinzu:

    { "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT-ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:REGION:ACCOUNT-ID:log- group:LOG-GROUP-NAME" } } } ] }
  5. Geben Sie den folgenden Befehl ein, um dem neuen KMS-Schlüssel die aktualisierte Richtlinie hinzuzufügen:

    aws kms put-key-policy --key-id new-key-ARN --policy-name default --policy file://policy.json
  6. Geben Sie den folgenden Befehl ein, um die Richtlinie mit Ihrer Protokollgruppe zu verknüpfen:

    aws logs associate-kms-key --log-group-name my-log-group --kms-key-id new-key-ARN

    CloudWatch Logs verschlüsselt jetzt alle neuen Daten mit dem neuen Schlüssel.

  7. Als Nächstes widerrufen Sie alle Berechtigungen außer Decrypt aus dem alten Schlüssel. Geben Sie zunächst den folgenden Befehl ein, um die alte Richtlinie abzurufen:

    aws kms get-key-policy --key-id old-key-ARN --policy-name default --output text > ./policy.json
  8. Verwenden Sie einen Texteditor, um Action zu öffnen und alle Werte aus der Liste policy.json außer kms:Decrypt zu entfernen.

    { "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Your_account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Decrypt" ], "Resource": "*" } ] }
  9. Geben Sie den folgenden Befehl ein, um dem alten Schlüssel die aktualisierte Richtlinie hinzuzufügen:

    aws kms put-key-policy --key-id old-key-ARN --policy-name default --policy file://policy.json
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.