View a markdown version of this page

GuardDuty Protection contre les programmes malveillants pour la sauvegarde : autorisations de rôle IAM - Amazon GuardDuty

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GuardDuty Protection contre les programmes malveillants pour la sauvegarde : autorisations de rôle IAM

Rôle du client fourni pour l'analyse des programmes malveillants

GuardDuty Malware Protection s'attend à ce qu'un rôle client (rôle d'analyseur) soit fourni lorsque des analyses sont lancées sur les ressources de sauvegarde, à savoir les snapshots, les AMI et les points de EBS/EC2/S3 restauration. Ce rôle fournit les autorisations requises GuardDuty pour effectuer l'analyse de ces ressources spécifiques. La politique d'autorisations et la politique de confiance pour ce rôle se trouvent dansPolitique d'autorisations et de confiance pour le rôle. La section ci-dessous explique pourquoi chacune de ces autorisations est requise.

Informations sur les autorisations

  • ModifySnapshotAttribute- Permet d'accéder aux instantanés chiffrés par clé non chiffrés et gérés par le client via le compte du service GuardDuty Malware Protection.

  • CreateGrant- Permet à GuardDuty Malware Protection de créer et d'accéder à un volume EBS chiffré par clé gérée par le client à partir de l'instantané chiffré par clé gérée par le client auquel le compte de GuardDuty service est autorisé à accéder.

  • RetireGrant- Permet à GuardDuty Malware Protection de supprimer les autorisations qui ont été créées sur la clé gérée par le client pour la lecture des instantanés chiffrés

  • ReEncryptToet ReEncryptFrom - Requis par EBS pour donner GuardDuty accès à des instantanés chiffrés à l'aide de clés gérées par le client et créer des volumes chiffrés à partir de celles-ci. Bien que les clients puissent considérer un instantané lors ReEncryption du partage comme une transition essentielle, les instantanés restent immuables du point de vue du client une fois créés.

  • ListSnapshotBlockset GetSnapshotBlock - Les API EBS Direct sont utilisées pour accéder aux blocs d'instantanés pour un instantané chiffré AWS par clé gérée. Cela est dû au fait que les instantanés chiffrés AWS par clé gérée ne sont pas accessibles autrement entre comptes.

  • Decrypt- Permet de déchiffrer les instantanés de base qui sont chiffrés par clé gérée par le client lorsqu'ils sont téléchargés en mémoire à l'aide des API EBS Direct dans le cadre d'une analyse incrémentielle.

  • ListChangedBlocks- API EBS Direct utilisée dans l'analyse incrémentielle des instantanés pour obtenir la liste des blocs modifiés entre deux instantanés.

  • DescribeKey- Permet à GuardDuty Malware Protection de déterminer le KeyID de la clé AWS gérée dans le compte client.

  • DescribeImages- Permet de décrire une AMI pour obtenir la liste des instantanés appartenant à l'AMI.

  • DescribeRecoveryPoint- Permet au service de récupérer les détails du point de restauration et de vérifier le type de ressource pour le point de restauration.

  • CreateBackupAccessPoint,DescribeBackupAccessPoint, DeleteBackupAccessPoint - Autorise le service à créer, décrire et supprimer le point d'accès requis pour accéder aux points de récupération.

  • kms:Decrypt- Permet au service d'accéder aux objets d'un point de restauration S3 lors d'une analyse du point de restauration S3.

Sécurisation du rôle

Le rôle doit être configuré avec une politique de confiance qui approuve le principal du service GuardDuty Malware Protection. Cela garantit qu'aucun responsable autre que le GuardDuty service ne peut assumer ce rôle. De plus, nous vous encourageons à limiter les politiques à des ressources spécifiques plutôt qu'à*. Cela inclut les identifiants de capture instantanée et les identifiants de clé. Cela garantira que le rôle ne donne accès qu'à ces ressources spécifiques.

Important

Une configuration incorrecte peut entraîner des échecs de numérisation en raison d'autorisations insuffisantes.

Comment GuardDuty Malware Protection utilise les subventions dans AWS KMS

GuardDuty La protection contre les programmes malveillants nécessite des autorisations pour utiliser vos clés KMS.

Lorsque vous lancez une analyse sur un instantané chiffré ou une AMI EC2 composée de clichés chiffrés, GuardDuty Malware Protection crée des autorisations en votre nom en envoyant une CreateGrant demande à AWS KMS. Ces autorisations donnent GuardDuty accès à une clé spécifique de votre compte.

GuardDuty La protection contre les programmes malveillants nécessite l'autorisation d'utiliser votre clé gérée par le client pour les opérations internes suivantes :

  • Envoyez DescribeKey des demandes AWS à pour obtenir des informations sur la clé symétrique gérée par le client avec laquelle la ressource soumise pour une analyse des programmes malveillants est chiffrée.

  • Créez un volume EBS à partir d'un instantané chiffré à l'aide de l'CreateVolumeAPI et chiffrez le volume avec la même clé.

  • Accédez aux blocs de capture d'écran sur le cliché via l'GetSnapshotBlockAPI lors d'une analyse incrémentielle.

  • Envoyez des demandes de déchiffrement à AWS KMS pour déchiffrer les clés de données cryptées afin qu'elles puissent être utilisées pour lire les données de l'instantané pendant l'analyse.

Vous pouvez révoquer l'autorisation créée ou supprimer l'accès du service à la clé gérée par le client à tout moment. Si vous le faites, vous GuardDuty ne pourrez accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affectera les opérations qui dépendent de ces données.

GuardDuty Contexte de chiffrement de la protection contre les

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contient des informations contextuelles supplémentaires sur les données.

Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS ; lie le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez inclure le même contexte de chiffrement dans la demande.

GuardDuty Malware Protection utilise l'un des deux contextes de chiffrement.

Contexte de chiffrement 1 : La clé estaws:guardduty:id.

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

Ce contexte de chiffrement est utilisé avec les opérations d'autorisation : CreateGrant, Decrypt GenerateDataKeyWithoutPlaintext,, ReEncryptTo RetireGrant, DescribeKey.

Une autorisation est créée sur la ressource en cours avec ce contexte de chiffrement et ces opérations d'autorisation.

Contexte de chiffrement 2 : la clé est aws:ebs:id

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

Ce contexte de chiffrement est utilisé avec les opérations d'autorisation : ReEncryptFrom, Decrypt, RetireGrant, DescribeKey.

Trois autorisations sont créées avec ces contextes de chiffrement et ces opérations d'octroi. Un sur la capture d'écran cible avec l'opération de ReEncryptFrom subvention. Un second sur l'instantané cible avec les Decrypt, RetireGrant, DescribeKey opérations. Et une troisième sur l'instantané de base avec les mêmes opérations de subvention que la deuxième subvention.

Politique d'autorisations et de confiance pour le rôle

Politique d'autorisations

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

Politique de confiance

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