GuardDuty Malware-Schutz für Backup: IAM-Rollenberechtigungen - Amazon GuardDuty

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.

GuardDuty Malware-Schutz für Backup: IAM-Rollenberechtigungen

Für das Scannen von Schadsoftware ist eine Kundenrolle vorgesehen

GuardDuty Malware Protection geht davon aus, dass eine Kundenrolle (Scanner-Rolle) zugewiesen wird, wenn Scans auf Backup-Ressourcen, d. h. Snapshots, AMIs und EBS/EC2/S 3 Wiederherstellungspunkten initiiert werden. Diese Rolle stellt die Berechtigungen bereit, die für GuardDuty die Durchführung des Scans auf diesen spezifischen Ressourcen erforderlich sind. Die Berechtigungsrichtlinie und die Vertrauensrichtlinie für diese Rolle finden Sie unterBerechtigungen und Vertrauensrichtlinie für die Rolle. Im folgenden Abschnitt wird beschrieben, warum jede dieser Berechtigungen erforderlich ist.

Einzelheiten zu den Berechtigungen

  • ModifySnapshotAttribute- Ermöglicht den Zugriff auf unverschlüsselte und vom Kunden verwaltete, mit Schlüssel verschlüsselte Snapshots über das GuardDuty Malware Protection-Dienstkonto.

  • CreateGrant- Ermöglicht es GuardDuty Malware Protection, ein mit kundenverwaltetem Schlüssel verschlüsseltes EBS-Volume aus dem vom Kunden verwalteten Schlüsselverschlüsselten Snapshot zu erstellen und darauf zuzugreifen, auf den das GuardDuty Dienstkonto Zugriff hat.

  • RetireGrant- Ermöglicht es GuardDuty Malware Protection, die Berechtigungen, die für den vom Kunden verwalteten Schlüssel zum Lesen verschlüsselter Snapshots gewährt wurden, zurückzuziehen

  • ReEncryptTound ReEncryptFrom — Von EBS erforderlich, um GuardDuty Zugriff auf Snapshots zu gewähren, die mit vom Kunden verwalteten Schlüsseln verschlüsselt sind, und um daraus verschlüsselte Volumes zu erstellen. Auch wenn Kunden einen Snapshot während ReEncryption der gemeinsamen Nutzung als wichtige Umstellung betrachten könnten, bleiben Snapshots aus Kundensicht unveränderlich, wenn sie einmal erstellt wurden.

  • ListSnapshotBlocksund GetSnapshotBlock — EBS Direct APIs werden verwendet, um auf die Snapshot-Blöcke für einen mit AWS Managed Key verschlüsselten Snapshot zuzugreifen. Dies geschieht, weil auf verschlüsselte Snapshots mit AWS Managed Key andernfalls nicht kontenübergreifend zugegriffen werden kann.

  • Decrypt- Ermöglicht das Entschlüsseln von Basis-Snapshots, bei denen es sich um vom Kunden verwaltete Schlüssel handelt, wenn sie im Rahmen eines inkrementellen Scannens mithilfe von EBS Direct APIs in den Arbeitsspeicher heruntergeladen werden.

  • ListChangedBlocks- Die EBS Direct-API wird beim inkrementellen Snapshot-Scannen verwendet, um die Liste der geänderten Blöcke zwischen zwei Snapshots abzurufen.

  • DescribeKey- Ermöglicht dem GuardDuty Malware-Schutz, die KeyID des AWS verwalteten Schlüssels im Kundenkonto zu ermitteln.

  • DescribeImages— Ermöglicht die Beschreibung eines AMI, um die Liste der zum AMI gehörenden Snapshots abzurufen.

  • DescribeRecoveryPoint- Ermöglicht dem Dienst, die Details des Wiederherstellungspunkts abzurufen und den Ressourcentyp für den Wiederherstellungspunkt zu überprüfen.

  • CreateBackupAccessPoint,DescribeBackupAccessPoint, DeleteBackupAccessPoint - Ermöglicht dem Dienst, den Access Point zu erstellen, zu beschreiben und zu löschen, der für den Zugriff auf Wiederherstellungspunkte erforderlich ist.

  • kms:Decrypt- Ermöglicht dem Dienst, während eines S3-Wiederherstellungspunktscans auf Objekte in einem S3-Wiederherstellungspunkt zuzugreifen.

Sicherung der Rolle

Die Rolle muss mit einer Vertrauensrichtlinie konfiguriert werden, die dem GuardDuty Malware Protection-Dienstprinzipal vertraut. Dadurch wird sichergestellt, dass kein anderer Principal als der GuardDuty Dienst diese Rolle übernehmen kann. Darüber hinaus wird empfohlen, die Richtlinien auf bestimmte Ressourcen zu beschränken, anstatt * Dazu gehören Snapshot-IDs und Schlüssel-IDs. Dadurch wird sichergestellt, dass die Rolle nur Zugriff auf diese spezifischen Ressourcen gewährt.

Wichtig

Eine falsche Konfiguration kann aufgrund unzureichender Berechtigungen zu Scanfehlern führen.

Wie verwendet der GuardDuty Malware-Schutz Zuschüsse in AWS KMS

GuardDuty Für den Malware-Schutz sind Zuschüsse erforderlich, um Ihre KMS-Schlüssel verwenden zu können.

Wenn Sie einen Scan für einen verschlüsselten Snapshot oder ein EC2 AMI starten, das aus verschlüsselten Snapshots besteht, erstellt GuardDuty Malware Protection in Ihrem Namen Zuschüsse, indem es eine CreateGrantAnfrage an AWS KMS sendet. Diese Zuschüsse gewähren GuardDuty Zugriff auf einen bestimmten Schlüssel in Ihrem Konto.

GuardDuty Der Schutz vor Schadsoftware setzt voraus, dass der Zuschuss Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Vorgänge verwendet:

  • Senden Sie DescribeKeyAnfragen an AWS , um Informationen über den symmetrischen, vom Kunden verwalteten Schlüssel abzurufen, mit dem die für einen Malware-Scan eingereichte Ressource verschlüsselt ist.

  • Erstellen Sie mithilfe der CreateVolumeAPI ein EBS-Volume aus einem verschlüsselten Snapshot und verschlüsseln Sie das Volume mit demselben Schlüssel.

  • Greifen Sie während eines inkrementellen Scans über die GetSnapshotBlockAPI auf Snapshot-Blöcke im Snapshot zu.

  • Senden Sie Entschlüsselungsanforderungen an AWS KMS, um die verschlüsselten Datenschlüssel zu entschlüsseln, sodass sie zum Lesen der Daten auf dem Snapshot während des Scans verwendet werden können.

Sie können die gewährte Genehmigung jederzeit widerrufen oder dem Service den Zugriff auf den vom Kunden verwalteten Schlüssel entziehen. Wenn Sie dies tun, können Sie auf GuardDuty keine der mit dem vom Kunden verwalteten Schlüssel verschlüsselten Daten zugreifen, was sich auf Vorgänge auswirkt, die von diesen Daten abhängig sind.

GuardDuty Malware-Schutz und Verschlüsselungskontext

Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten.

Wenn Sie einen Verschlüsselungskontext in eine Datenverschlüsselungsanforderung aufnehmen, bindet AWS KMS; den Verschlüsselungskontext an die verschlüsselten Daten. Zur Entschlüsselung von Daten müssen Sie denselben Verschlüsselungskontext in der Anfrage übergeben.

GuardDuty Der Malware-Schutz verwendet einen der beiden Verschlüsselungskontexte.

Verschlüsselungskontext 1: Der Schlüssel istaws:guardduty:id.

"encryptionContext": { "aws:guardduty:id": "snap-11112222333344" }

Dieser Verschlüsselungskontext wird für Grant-Operationen verwendet: CreateGrant, Decrypt, GenerateDataKeyWithoutPlaintext, ReEncryptTo, RetireGrant, DescribeKey.

Ein Grant wird für die aktuelle Ressource mit diesem Verschlüsselungskontext und diesen Grant-Operationen erstellt.

Verschlüsselungskontext 2: Der Schlüssel ist aws:ebs:id

"encryptionContext": { "aws:ebs:id": "snap-11112222333344" }

Dieser Verschlüsselungskontext wird für Grant-Operationen verwendet: ReEncryptFrom, Decrypt, RetireGrant, DescribeKey.

Mit diesen Verschlüsselungskontexten und Gewährungsvorgängen werden drei Zuschüsse erstellt. Eine auf dem Ziel-Snapshot mit dem ReEncryptFrom Grant-Vorgang. Ein zweiter auf dem Ziel-Snapshot mit Decrypt, RetireGrant, DescribeKey Operationen. Und ein dritter auf dem Basis-Snapshot mit den gleichen Zuschussoperationen wie beim zweiten Zuschuss.

Berechtigungen und Vertrauensrichtlinie für die Rolle

Berechtigungsrichtlinie

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Sid": "CreateGrantPermissions", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "ForAnyValue:StringLike": { "kms:EncryptionContext:aws:guardduty:id": "snap-*", "kms:ViaService": [ "guardduty.*.amazonaws.com", "backup.*.amazonaws.com" ] }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "CreateGrant", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "CreateGrantPermissionsForReEncryptAndDirectAPIs", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "ForAnyValue:StringLike": { "kms:EncryptionContext:aws:ebs:id": "snap-*", "kms:ViaService": [ "guardduty.*.amazonaws.com", "backup.*.amazonaws.com" ] }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "ReEncryptTo", "ReEncryptFrom", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Sid": "ShareSnapshotPermission", "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*" }, { "Sid": "ShareSnapshotKMSPermission", "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" } } }, { "Sid": "DescribeKeyPermission", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Sid": "DescribeRecoveryPointPermission", "Effect": "Allow", "Action": [ "backup:DescribeRecoveryPoint" ], "Resource": "*" }, { "Sid": "CreateBackupAccessPointPermissions", "Effect" : "Allow", "Action" : [ "backup:CreateBackupAccessPoint" ], "Resource": "arn:aws:backup:*:*:recovery-point:*" }, { "Sid": "ReadAndDeleteBackupAccessPointPermissions", "Effect" : "Allow", "Action" : [ "backup:DescribeBackupAccessPoint", "backup:DeleteBackupAccessPoint" ], "Resource": "*" }, { "Sid": "KMSKeyPermissionsForInstantAccess", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "backup.*.amazonaws.com" } } } ] }

Vertrauensrichtlinie

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "malware-protection.guardduty.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }