View a markdown version of this page

GuardDuty Malware-Schutz für Backups: 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 Backups: IAM-Rollenberechtigungen

Für das Scannen von Schadsoftware ist eine Kundenrolle vorgesehen

GuardDuty Malware Protection geht davon aus, dass beim Scannen von Backup-Ressourcen, d. h. Snapshots, AMIs und EBS/EC2/S3 Wiederherstellungspunkten, eine Kundenrolle (Scanner-Rolle) zugewiesen wird. Diese Rolle bietet die Berechtigungen, die für die GuardDuty Durchführung des Scans auf diesen spezifischen Ressourcen erforderlich sind. Die Berechtigungsrichtlinie und die Vertrauensrichtlinie für diese Rolle finden Sie unterBerechtigungen und Vertrauensrichtlinien 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, durch Schlüssel verschlüsselte Snapshots über das GuardDuty Malware Protection-Dienstkonto.

  • CreateGrant- Ermöglicht GuardDuty Malware Protection, über den vom Kunden verwalteten, verschlüsselten Snapshot, auf den das GuardDuty Dienstkonto Zugriff hat, ein vom Kunden verwaltetes, verschlüsseltes EBS-Volume zu erstellen und darauf zuzugreifen.

  • RetireGrant- Ermöglicht es GuardDuty Malware Protection, die mit dem vom Kunden verwalteten Schlüssel gewährten Berechtigungen für das Lesen verschlüsselter Snapshots zurückzuziehen

  • ReEncryptTound ReEncryptFrom — Wird von EBS benötigt, 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 wichtigen Übergang betrachten, bleiben Snapshots aus Kundensicht unveränderlich, sobald sie 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 sonst nicht kontoübergreifend zugegriffen werden kann.

  • Decrypt- Ermöglicht die Entschlüsselung von Basis-Snapshots, bei denen vom Kunden verwaltete Schlüssel verschlüsselt werden, wenn sie mithilfe der EBS Direct-APIs im Rahmen eines inkrementellen Scannens in den Speicher 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 GuardDuty Malware Protection, 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 Wiederherstellungspunktdetails abzurufen und den Ressourcentyp für den Recovery Point 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 Recovery Points erforderlich ist.

  • kms:Decrypt- Ermöglicht dem Dienst den Zugriff auf Objekte in einem S3 Recovery Point während eines S3 Recovery Point-Scans.

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 Service 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.

So 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 CreateGrant Anfrage an AWS KMS sendet. Diese Zuschüsse ermöglichen GuardDuty den Zugriff auf einen bestimmten Schlüssel in Ihrem Konto.

GuardDuty Für den Schutz vor Schadsoftware ist der Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Vorgänge zu verwenden:

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

  • Erstellen Sie mithilfe der CreateVolume API 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 GetSnapshotBlock API auf Snapshot-Blöcke im Snapshot zu.

  • Senden Sie https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html Entschlüsselungsanfragen an AWS KMS, um die verschlüsselten Datenschlüssel zu entschlüsseln, sodass sie während des Scans zum Lesen der Daten im Snapshot verwendet werden können.

Sie können den gewährten Zuschuss jederzeit widerrufen oder dem Dienst den Zugriff auf den vom Kunden verwalteten Schlüssel entziehen. Wenn Sie dies tun, können Sie auf GuardDuty keine der Daten zugreifen, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden. Dies wirkt sich auf Vorgänge aus, die von diesen Daten abhängig sind.

GuardDuty Schutz vor Schadsoftware, 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 Anforderung zum Verschlüsseln von Daten einbeziehen, 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 bei Gewährungsvorgängen verwendet: CreateGrant, Entschlüsseln GenerateDataKeyWithoutPlaintext,, ReEncryptTo RetireGrant, DescribeKey.

Ein Zuschuss wird für die aktuelle Ressource mit diesem Verschlüsselungskontext und diesen Gewährungsvorgängen erstellt.

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

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

Dieser Verschlüsselungskontext wird bei Gewährungsvorgängen verwendet: ReEncryptFrom, Entschlüsseln, RetireGrant, DescribeKey.

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

Berechtigungen und Vertrauensrichtlinien für die Rolle

Richtlinien für Berechtigungen

{ "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" } ] }