GuardDuty Protección contra malware para Backup: permisos de rol de IAM - Amazon GuardDuty

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

GuardDuty Protección contra malware para Backup: permisos de rol de IAM

Se proporcionó un rol de cliente para el análisis de malware

GuardDuty Malware Protection espera que se proporcione una función de cliente (función de escáner) cuando se inicien los escaneos en los recursos de Backup, es decir, instantáneas AMIs y EBS/EC2/S 3 puntos de recuperación. Esta función proporciona los permisos necesarios GuardDuty para realizar el escaneo en esos recursos específicos. La política de permisos y la política de confianza para este rol se encuentran enPolítica de permisos y confianza para el rol. En la siguiente sección se describe por qué se requiere cada uno de estos permisos.

Detalles sobre los permisos

  • ModifySnapshotAttribute- Permite acceder a las instantáneas no cifradas y cifradas con clave gestionada por el cliente mediante la cuenta del servicio de protección contra GuardDuty malware.

  • CreateGrant- Permite a GuardDuty Malware Protection crear y acceder a un volumen de EBS cifrado con clave gestionada por el cliente a partir de la instantánea cifrada con clave gestionada por el cliente a la que tiene acceso la cuenta de GuardDuty servicio.

  • RetireGrant- Permite que GuardDuty Malware Protection retire las concesiones que se crearon en la clave gestionada por el cliente para leer instantáneas cifradas

  • ReEncryptToy ReEncryptFrom - Lo exige EBS para dar GuardDuty acceso a las instantáneas cifradas con claves administradas por el cliente y crear volúmenes cifrados a partir de ellas. Si bien los clientes pueden considerar ReEncryption la posibilidad de compartir una instantánea como una transición clave, las instantáneas permanecen inmutables desde el punto de vista del cliente una vez creadas.

  • ListSnapshotBlocksy GetSnapshotBlock - EBS Direct APIs se utilizan para acceder a los bloques de instantáneas de una instantánea cifrada con clave AWS gestionada. Esto se debe a que, de lo contrario, no se puede acceder a las instantáneas cifradas con clave AWS administrada desde varias cuentas.

  • Decrypt- Permite descifrar las instantáneas básicas cifradas con clave gestionada por el cliente cuando se descargan en la memoria mediante EBS Direct APIs como parte del escaneo incremental.

  • ListChangedBlocks- La API EBS Direct se utiliza en el escaneo incremental de instantáneas para obtener la lista de bloques modificados entre dos instantáneas.

  • DescribeKey- Permite que GuardDuty Malware Protection determine el ID clave de la clave AWS gestionada en la cuenta del cliente.

  • DescribeImages- Permite describir una AMI para obtener la lista de instantáneas que pertenecen a la AMI.

  • DescribeRecoveryPoint- Permite al servicio obtener los detalles del punto de recuperación y verificar el tipo de recurso del punto de recuperación.

  • CreateBackupAccessPoint,DescribeBackupAccessPoint, DeleteBackupAccessPoint - Permite que el servicio cree, describa y elimine el punto de acceso necesario para acceder a los puntos de recuperación.

  • kms:Decrypt- Permite que el servicio acceda a los objetos de un punto de recuperación S3 durante un escaneo del punto de recuperación S3.

Asegurar el rol

El rol debe configurarse con una política de confianza que confíe en el director del servicio de protección contra GuardDuty malware. Esto garantiza que ningún otro responsable que no sea el GuardDuty servicio pueda asumir esta función. Además, le recomendamos que limite las políticas a recursos específicos en lugar de hacerlo*. Esto incluye los identificadores de instantáneas y los identificadores clave. De este modo, se asegurará de que el rol solo proporcione acceso a esos recursos específicos.

importante

Una configuración incorrecta podría provocar errores en el escaneo debido a la falta de permisos.

Cómo utiliza GuardDuty Malware Protection las concesiones en AWS KMS

GuardDuty La protección contra el malware requiere concesiones para usar las claves de KMS.

Al iniciar un análisis de una instantánea cifrada o de una EC2 AMI compuesta por instantáneas cifradas, GuardDuty Malware Protection crea concesiones en su nombre mediante el envío de una CreateGrantsolicitud a AWS KMS. Estas concesiones dan GuardDuty acceso a una clave específica de su cuenta.

GuardDuty La protección contra malware requiere la autorización para utilizar la clave gestionada por el cliente en las siguientes operaciones internas:

  • Envíe DescribeKeysolicitudes AWS a para obtener detalles sobre la clave simétrica administrada por el cliente con la que se cifra el recurso enviado para el análisis de software malicioso.

  • Cree un volumen de EBS a partir de una instantánea cifrada mediante la CreateVolumeAPI y cifre el volumen con la misma clave.

  • Acceda a los bloques de instantáneas de la instantánea a través de la GetSnapshotBlockAPI durante un escaneo incremental.

  • Envíe solicitudes de descifrado a AWS KMS para descifrar las claves de datos cifrados, de modo que puedan usarse para leer los datos de la instantánea durante el escaneo.

Puede revocar la concesión creada o eliminar el acceso del servicio a la clave gestionada por el cliente en cualquier momento. Si lo haces, GuardDuty no podrás acceder a ninguno de los datos cifrados por la clave gestionada por el cliente, lo que afectará a las operaciones que dependen de esos datos.

GuardDuty Contexto de cifrado y protección contra malware

Un contexto de cifrado es un conjunto opcional de pares clave-valor que pueden contener información contextual adicional sobre los datos.

Al incluir un contexto de cifrado en una solicitud de cifrado de datos, AWS KMS; vincula el contexto de cifrado a los datos cifrados. Para descifrar los datos, debe incluir el mismo contexto de cifrado en la solicitud.

GuardDuty La protección contra malware utiliza uno de los dos contextos de cifrado.

Contexto de cifrado 1: La clave esaws:guardduty:id.

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

Este contexto de cifrado se utiliza con las operaciones de concesión: CreateGrant, Decrypt, GenerateDataKeyWithoutPlaintext, ReEncryptTo, RetireGrant, DescribeKey.

Se crea una concesión en el recurso actual con este contexto de cifrado y estas operaciones de concesión.

Contexto de cifrado 2: La clave es aws:ebs:id

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

Este contexto de cifrado se utiliza con las operaciones de concesión: ReEncryptFrom, Decrypt, RetireGrant, DescribeKey.

Se crean tres subvenciones con estos contextos de cifrado y operaciones de concesión. Una en la instantánea de destino con la operación de ReEncryptFrom concesión. Una segunda en la instantánea de destino con Decrypt, RetireGrant, DescribeKey las operaciones. Y una tercera en la instantánea base con las mismas operaciones de subvención que la segunda subvención.

Política de permisos y confianza para el rol

Política de permisos

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

Política de confianza

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