Konfigurieren Sie AWS KMS wichtige Richtlinien für CloudTrail - AWS CloudTrail

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.

Konfigurieren Sie AWS KMS wichtige Richtlinien für CloudTrail

Sie können eine AWS KMS key auf drei Arten erstellen:

  • Die CloudTrail Konsole

  • Die AWS Management-Konsole

  • Die AWS CLI

Anmerkung

Wenn Sie einen KMS-Schlüssel in der CloudTrail Konsole erstellen, CloudTrail fügt die erforderliche KMS-Schlüsselrichtlinie für Sie hinzu. Sie müssen die Richtlinienanweisungen nicht manuell hinzufügen. Siehe In der CloudTrail Konsole erstellte KMS-Standardschlüsselrichtlinie.

Wenn Sie einen KMS-Schlüssel im AWS Management Console oder der erstellen AWS CLI, müssen Sie dem Schlüssel Richtlinienabschnitte hinzufügen, damit Sie ihn mit verwenden können CloudTrail. Die Richtlinie muss zulassen CloudTrail , dass der Schlüssel zur Verschlüsselung der Protokolldateien, Digestdateien und Ereignisdatenspeicher verwendet wird. Außerdem muss sie den von Ihnen festgelegten Benutzern erlauben, die Protokolldateien und Digest-Dateien in unverschlüsselter Form zu lesen.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Für die Verwendung mit der Verwendung mit erforderlichen KS-Schlüsselrichtlinie CloudTrail

Wenn Sie einen KMS-Schlüssel mit der AWS Managementkonsole oder der erstellt haben AWS CLI, müssen Sie der KMS-Schlüsselrichtlinie mindestens die folgenden Anweisungen hinzufügen, damit diese funktioniert CloudTrail.

Für Trails erforderliche Elemente der KMS-Schlüsselrichtlinie

  1. Erteilen Sie Berechtigungen zum Verschlüsseln von CloudTrail Protokoll- und Digest-Dateien. Weitere Informationen finden Sie unter Erteilung von Verschlüsselungsberechtigungen für Trails.

  2. Erteilen Sie Berechtigungen zum Entschlüsseln von CloudTrail Protokoll- und Digest-Dateien. Weitere Informationen finden Sie unter Gewähren von Entschlüsselungsberechtigungen für Trails. Wenn Sie einen vorhandenen S3-Bucket mit einem S3-Bucket-Schlüssel verwenden, sind kms:Decrypt-Berechtigungen erforderlich, um einen Trail mit aktivierter SSE-KMS-Verschlüsselung zu erstellen oder zu aktualisieren.

  3. Aktivieren Sie CloudTrail diese Option, um KMS-Schlüsseleigenschaften zu beschreiben. Weitere Informationen finden Sie unter Aktivieren Sie CloudTrail die Option, um KMS-Schlüsseleigenschaften zu beschreiben.

Als bewährte Sicherheitsmethode gilt es, der KMS-Schlüsselrichtlinie einen aws:SourceArn-Bedingungsschlüssel hinzuzufügen. Der globale IAM-Bedingungsschlüssel aws:SourceArn hilft sicherzustellen, dass der KMS-Schlüssel nur für einen bestimmten Trail oder bestimmte Trails CloudTrail verwendet wird. Der Wert von aws:SourceArn ist immer der Trail-ARN (oder Trail-Array ARNs), der den KMS-Schlüssel verwendet. Denken Sie daran, den aws:SourceArn-Bedingungsschlüssel KMS-Schlüsselrichtlinien für bestehende Trails hinzuzufügen.

Der aws:SourceAccount-Bedingungsschlüssel wird ebenfalls unterstützt, aber nicht empfohlen. Der Wert von aws:SourceAccount ist die Konto-ID des Trail-Besitzers oder die Verwaltungskonto-ID für Organisations-Trails.

Wichtig

Ändern Sie beim Hinzufügen der neuen Abschnitte zur KMS-Schlüsselrichtlinie keinen der vorhandenen Abschnitte.

Wenn die Verschlüsselung für einen Trail aktiviert ist und der KMS-Schlüssel deaktiviert wird oder eine KMS-Schlüsselrichtlinie nicht korrekt konfiguriert ist CloudTrail, CloudTrail können keine Protokolle übermittelt werden.

Für Ereignisdatenspeicher erforderliche Elemente der KMS-Schlüsselrichtlinie

  1. Erteilen Sie Berechtigungen zum Verschlüsseln eines CloudTrail Lake-Ereignisdatenspeichers. Weitere Informationen finden Sie unter Gewähren von Verschlüsselungsberechtigungen für Ereignisdatenspeicher.

  2. Erteilen Sie Berechtigungen zum Entschlüsseln eines CloudTrail Lake-Ereignisdatenspeichers. Weitere Informationen finden Sie unter Gewähren von Entschlüsselungsberechtigungen für Ereignisdatenspeicher.

    Wenn Sie einen Ereignisdatenspeicher erstellen und ihn mit einem KMS-Schlüssel verschlüsseln oder Abfragen in einem Ereignisdatenspeicher ausführen, den Sie mit einem KMS-Schlüssel verschlüsseln, benötigen Sie Schreibzugriff auf den KMS-Schlüssel. Die KMS-Schlüsselrichtlinie muss Zugriff CloudTrail auf den Ereignisdatenspeicher haben und der KMS-Schlüssel muss von Benutzern verwaltet werden können.

  3. Aktivieren Sie CloudTrail diese Option, um KMS-Schlüsseleigenschaften zu beschreiben. Weitere Informationen finden Sie unter Aktivieren Sie CloudTrail die Option, um KMS-Schlüsseleigenschaften zu beschreiben.

Die Bedingungsschlüssel aws:SourceArn und aws:SourceAccount werden in KMS-Schlüsselrichtlinien für Ereignisdatenspeicher nicht unterstützt.

Wichtig

Ändern Sie beim Hinzufügen der neuen Abschnitte zur KMS-Schlüsselrichtlinie keinen der vorhandenen Abschnitte.

Wenn die Verschlüsselung für einen Ereignisdatenspeicher aktiviert ist und der KMS-Schlüssel deaktiviert oder gelöscht wird oder die KMS-Schlüsselrichtlinie nicht korrekt konfiguriert ist CloudTrail, CloudTrail können keine Ereignisse an den Ereignisdatenspeicher übermittelt werden.

Erteilung von Verschlüsselungsberechtigungen für Trails

Beispiel Zulassen CloudTrail der Verschlüsselung von Protokolldateien und Digest-Dateien im Auftrag von bestimmten Konten

CloudTrail benötigt die explizite Berechtigung, den KMS-Schlüssel zu verwenden, um Protokolldateien und Digest-Dateien im Auftrag von bestimmten Konten zu verschlüsseln. Um ein Konto anzugeben, fügen Sie der KMS-Schlüsselrichtlinie die folgende erforderliche Anweisung hinzu und ersetzen Sie account-idregion, und trailName durch die entsprechenden Werte für Ihre Konfiguration. Sie können dem EncryptionContext Abschnitt zusätzliche Konten IDs hinzufügen, damit diese Konten den KMS-Schlüssel CloudTrail zur Verschlüsselung von Protokolldateien und Digest-Dateien verwenden können.

Fügen Sie der KMS-Schlüsselrichtlinie für einen Trail als bewährte Sicherheitsmethode den Bedingungsschlüssel aws:SourceArn hinzu. Der globale IAM-Bedingungsschlüssel aws:SourceArn hilft sicherzustellen, dass der KMS-Schlüssel nur für einen bestimmten Trail oder bestimmte Trails CloudTrail verwendet wird.

{ "Sid": "AllowCloudTrailEncryptLogs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:account-id:trail/*" } } }

Das folgende Beispiel für eine Richtlinienanweisung zeigt, wie ein anderes Konto den KMS-Schlüssel verwenden kann, um CloudTrail Protokolldateien und Digest-Dateien zu verschlüsseln.

Szenario
  • Ihr KMS-Schlüssel befindet sich im Konto 111111111111.

  • Sowohl Sie als auch 222222222222 das Konto verschlüsseln Protokolle.

In der Richtlinie fügen Sie dem eines oder mehrere Konten hinzu, die den CloudTrail EncryptionContextSchlüssel zur Verschlüsselung verwenden dürfen. Dadurch können Sie nur CloudTrail die Protokolldateien und Digest-Dateien für die angegebenen Konten mit dem Schlüssel verschlüsseln. Wenn Sie dem Stamm des Kontos die 222222222222 Berechtigung zum Verschlüsseln von Protokolldateien und Digest-Dateien gewähren, wird die Berechtigung an den Kontoverwalter delegiert, die erforderlichen Berechtigungen für andere Benutzer dieses Kontos zu verschlüsseln. Dies geschieht, indem der Kontoadministrator die diesen IAM-Benutzern zugeordneten Richtlinien ändert.

Als bewährte Sicherheitsmethode gilt es, der KMS-Schlüsselrichtlinie einen aws:SourceArn-Bedingungsschlüssel hinzuzufügen. Der globale IAM-Bedingungsschlüssel aws:SourceArn hilft sicherzustellen, dass der KMS-Schlüssel nur für bestimmte Trails CloudTrail verwendet wird. Diese Bedingung wird in KMS-Schlüsselrichtlinien für Ereignisdatenspeicher nicht unterstützt.

KMS-Schlüsselrichtlinie:

{ "Sid": "EnableCloudTrailEncryptPermissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:111111111111:trail/*", "arn:aws:cloudtrail:*:222222222222:trail/*" ] }, "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

Weitere Informationen zum Bearbeiten einer KMS-Schlüsselrichtlinie für die Verwendung mit CloudTrail finden Sie unter Bearbeiten einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.

Gewähren von Verschlüsselungsberechtigungen für Ereignisdatenspeicher

Eine Richtlinie für einen KMS-Schlüssel, der zur Verschlüsselung eines Ereignisdatenspeichers in CloudTrail Lake verwendet wird, kann die Bedingungsschlüssel aws:SourceArn oder aws:SourceAccount nicht verwenden. Im Folgenden finden Sie ein Beispiel für eine KMS-Schlüsselrichtlinie für einen Ereignisdatenspeicher.

{ "Sid": "AllowCloudTrailEncryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Gewähren von Entschlüsselungsberechtigungen für Trails

Bevor Sie den KMS-Schlüssel der CloudTrail Konfiguration hinzufügen, müssen Sie allen Benutzern, die diese benötigen, Entschlüsselungsberechtigungen gewähren. Benutzer, die zwar über Verschlüsselungs-, aber nicht über Entschlüsselungsberechtigungen verfügen, können verschlüsselte Protokolle nicht lesen. Wenn Sie einen vorhandenen S3-Bucket mit einem S3-Bucket-Schlüssel verwenden, sind kms:Decrypt-Berechtigungen erforderlich, um einen Trail mit aktivierter SSE-KMS-Verschlüsselung zu erstellen oder zu aktualisieren.

Aktivieren CloudTrail Sie die Protokollentschlüsselungsberechtigungen

Benutzern des Schlüssels müssen explizite Berechtigungen für das Lesen der Protokolldateien gewährt werden, die CloudTrail verschlüsselt hat. Damit Benutzer verschlüsselte Protokolle lesen können, fügen Sie der KMS-Schlüsselrichtlinie die folgenden erforderlichen Anweisungen hinzu und fügen Sie dazu dem Abschnitt Principal für jeden Prinzipal, der zur Entschlüsselung mithilfe Ihres KMS-Schlüssel berechtigt sein soll, eine Zeile hinzu.

{ "Sid": "EnableCloudTrailLogDecryptPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

Im Folgenden finden Sie eine Beispielrichtlinie, die erforderlich ist, damit der CloudTrail Dienstprinzipal Trail-Protokolle entschlüsseln kann.

{ "Sid": "AllowCloudTrailDecryptTrail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Zulassen, dass Benutzer in Ihrem Konto Trail-Protokolle mit Ihrem KMS-Schlüssel entschlüsseln

Beispiel

Diese Richtlinienanweisung zeigt, wie Sie es einem Benutzer oder einer Rolle in Ihrem Konto ermöglichen, Ihren Schlüssel zu verwenden, um verschlüsselte Protokolle im S3-Bucket Ihres Kontos zu lesen.

Beispiel Szenario
  • Ihr KMS-Schlüssel, der S3-Bucket und der IAM-Benutzer Bob befinden sich im Konto 111111111111.

  • Sie erteilen dem IAM-Benutzer Bob die Berechtigung, CloudTrail Protokolle im S3 Bucket zu entschlüsseln.

In der Schlüsselrichtlinie aktivieren Sie die CloudTrail Protokollentschlüsselungsberechtigungen für den IAM-Benutzer Bob.

KMS-Schlüsselrichtlinie:

{ "Sid": "EnableCloudTrailLogDecryptPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:user/Bob" }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Themen

    Zulassen, dass Benutzer in anderen Konten Trail-Protokolle mit Ihrem KMS-Schlüssel entschlüsseln

    Sie können Benutzern in anderen Konten erlauben, mit Ihrem KMS-Schlüssel Trail-Protokolle zu entschlüsseln. Die erforderlichen Änderungen an der Schlüsselrichtlinie sind abhängig davon, ob der S3-Bucket sich in Ihrem Konto oder in einem anderen Konto befindet.

    Zulassen der Entschlüsselung von Protokollen für Benutzer eines Buckets in einem anderen Konto

    Beispiel

    Diese Richtlinienanweisung zeigt, wie Sie einem IAM-Benutzer oder einer IAM-Rolle in einem anderen Konto ermöglichen, Ihren Schlüssel zu verwenden, um verschlüsselte Protokolle aus einem S3-Bucket in dem anderen Konto zu lesen.

    Szenario
    • Ihr KMS-Schlüssel befindet sich im Konto 111111111111.

    • Der IAM-Benutzer Alice und der S3-Bucket befinden sich im Konto 222222222222.

    In diesem Fall gewähren Sie die CloudTrail Berechtigung, Protokolle unter dem Konto zu entschlüsseln222222222222, und gewähren in der IAM-Benutzerrichtlinie von Alice die Berechtigung, Ihren Schlüssel zu verwendenKeyA, der sich im Konto befindet. 111111111111

    KMS-Schlüsselrichtlinie:

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    Anweisung in der IAM-Benutzerrichtlinie von Alice:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111111111111:key/KeyA" } ] }

    Zulassen, dass Benutzer in einem anderen Konto Trail-Protokolle aus Ihrem Bucket entschlüsseln

    Beispiel

    Diese Richtlinie zeigt, wie ein anderes Konto Ihren Schlüssel verwenden kann, um verschlüsselte Protokolle aus Ihrem S3-Bucket zu lesen.

    Beispiel Szenario
    • Ihr KMS-Schlüssel und S3-Bucket befinden sich in Konto 111111111111.

    • Der Benutzer, der Protokolle aus Ihrem Bucket liest, befindet sich in Konto 222222222222.

    Um dieses Szenario zu aktivieren, aktivieren Sie die Entschlüsselungsberechtigungen für die IAM-Rolle CloudTrailReadRolein Ihrem Konto und geben dann dem anderen Konto die Erlaubnis, diese Rolle anzunehmen.

    KMS-Schlüsselrichtlinie:

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::11111111111:role/CloudTrailReadRole" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    CloudTrailReadRoleGrundsatzerklärung zur Vertrauensstelle:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "sts:AssumeRole" } ] }

    Informationen zum Bearbeiten einer KMS-Schlüsselrichtlinie für die Verwendung mit CloudTrail finden Sie unter Bearbeiten einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.

    Gewähren von Entschlüsselungsberechtigungen für Ereignisdatenspeicher

    Eine Entschlüsselungsrichtlinie für einen KMS-Schlüssel, der mit einem Ereignisdatenspeicher in CloudTrail Lake verwendet wird, ähnelt der folgenden. Der als Werte für ARNs angegebene Benutzer oder bestimmte Rollen Principal benötigt Entschlüsselungsberechtigungen, um Ereignisdatenspeicher zu erstellen oder zu aktualisieren, Abfragen auszuführen oder Abfrageergebnisse zu erhalten.

    { "Sid": "EnableUserKeyPermissionsEds" "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

    Im Folgenden finden Sie eine Beispielrichtlinie, die erforderlich ist, damit der CloudTrail Dienstprinzipal einen Ereignisdatenspeicher entschlüsseln kann.

    { "Sid": "AllowCloudTrailDecryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

    Aktivieren Sie CloudTrail die Option, um KMS-Schlüsseleigenschaften zu beschreiben

    CloudTrail muss in der Lage sein, die Eigenschaften des KMS-Schlüssel zu beschreiben. Um diese Funktion zu aktivieren, fügen Sie der KMS-Schlüssel-Richtlinie die folgende erforderliche Anweisung hinzu. Diese Anweisung gewährt CloudTrail keine über die von Ihnen angegebenen Berechtigungen hinausreichenden Berechtigungen.

    Als bewährte Sicherheitsmethode gilt es, der KMS-Schlüsselrichtlinie einen aws:SourceArn-Bedingungsschlüssel hinzuzufügen. Der globale IAM-Bedingungsschlüssel aws:SourceArn hilft sicherzustellen, dass der KMS-Schlüssel nur für einen bestimmten Trail oder bestimmte Trails CloudTrail verwendet wird.

    { "Sid": "AllowCloudTrailAccess", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

    Weitere Informationen zum Bearbeiten von KMS-Schlüsselrichtlinien finden Sie unter Bearbeiten einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.