Permisos de rol vinculado al servicio para la protección contra malware para EC2 - Amazon GuardDuty

Permisos de rol vinculado al servicio para la protección contra malware para EC2

La protección contra malware para EC2 utiliza el rol vinculado al servicio (SLR) denominado AWSServiceRoleForAmazonGuardDutyMalwareProtection. Este SLR permite a la protección contra malware para EC2 llevar a cabo análisis sin agentes para detectar malware en la cuenta de GuardDuty. Permite a GuardDuty crear una instantánea del volumen de EBS en su cuenta y compartirla con la cuenta de servicio de GuardDuty. Una vez que GuardDuty evalúa la instantánea, incluye los metadatos recuperados de la carga de trabajo del contenedor y la instancia de EC2 en los resultados de la protección contra malware para EC2. El rol vinculado a servicios AWSServiceRoleForAmazonGuardDutyMalwareProtection confía en el servicio malware-protection.guardduty.amazonaws.com para asumir el rol.

Las políticas de permisos de este rol ayudan a la protección contra malware para EC2 a realizar las siguientes tareas:

  • Utilice las acciones de Amazon Elastic Compute Cloud (Amazon EC2) para recuperar información sobre las instancias de Amazon EC2, los volúmenes y las instantáneas. La protección contra malware para EC2 también concede permiso para acceder a los metadatos de clúster de Amazon EKS y Amazon ECS.

  • Crear instantáneas para los volúmenes de EBS cuya etiqueta GuardDutyExcluded no esté configurada como true. De forma predeterminada, las instantáneas se crean con una etiqueta GuardDutyScanId. No elimine esta etiqueta. Si lo hace, la protección contra malware para EC2 no tendrá acceso a las instantáneas.

    importante

    Si establece GuardDutyExcluded en true, el servicio GuardDuty no podrá acceder a estas instantáneas en el futuro. Esto se debe a que las demás declaraciones de este rol vinculado a servicios impiden que GuardDuty lleve a cabo cualquier acción en las instantáneas que tienen el valor de GuardDutyExcluded establecido en true.

  • Permitir compartir y eliminar instantáneas solo si la etiqueta GuardDutyScanId existe y la etiqueta GuardDutyExcluded no está establecida en true.

    nota

    No permite que la protección contra malware para EC2 haga públicas las instantáneas.

  • Acceder a las claves administradas por el cliente, excepto a las que tengan una etiqueta GuardDutyExcluded establecida en true, para llamar a CreateGrant a fin de crear un volumen de EBS cifrado, y acceder a él, a partir de la instantánea cifrada que se comparte con la cuenta de servicio de GuardDuty. Para obtener una lista de las cuentas de servicio de GuardDuty de cada región, consulte Cuentas de servicio de GuardDuty por Región de AWS.

  • Acceda a los registros de CloudWatch de los clientes para crear el grupo de registro de la protección contra malware para EC2, así como para colocar los registros de eventos de análisis de malware en el grupo de registro de /aws/guardduty/malware-scan-events.

  • Permitir que el cliente decida si quiere conservar en su cuenta las instantáneas en las que se detectó el malware. Si el análisis detecta malware, el rol vinculado a servicios permite a GuardDuty agregar dos etiquetas a las instantáneas: GuardDutyFindingDetected y GuardDutyExcluded.

    nota

    La etiqueta GuardDutyFindingDetected especifica que las instantáneas contienen malware.

  • Determinar si un volumen está cifrado con una clave administrada por EBS. GuardDuty lleva a cabo la acción DescribeKey para determinar el valor de key Id de la clave administrada por EBS en su cuenta.

  • Obtenga la instantánea de los volúmenes EBS cifrados mediante Clave administrada de AWS, de la Cuenta de AWS y cópiela en la Cuentas de servicio de GuardDuty. Para ello, utilizamos los permisos GetSnapshotBlock y ListSnapshotBlocks. GuardDuty analizará entonces la instantánea en la cuenta de servicio. Actualmente, es posible que la protección contra malware para EC2 no admita el análisis de volúmenes de EBS cifrados con Clave administrada de AWS en todas las Regiones de AWS. Para obtener más información, consulte Disponibilidad de características específicas por región.

  • Permita que Amazon EC2 llame a AWS KMS en nombre de la protección contra malware para EC2 para realizar varias acciones criptográficas en claves administradas por el cliente. Acciones como kms:ReEncryptTo y kms:ReEncryptFrom son obligatorias para compartir las instantáneas cifradas con las claves administradas por el cliente. Solo se puede acceder a las claves para las que la etiqueta GuardDutyExcluded no esté establecida en true.

El rol se configura con la siguiente política administrada por AWS, que se denomina AmazonGuardDutyMalwareProtectionServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DescribeAndListPermissions", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTasks", "ecs:DescribeTasks", "eks:DescribeCluster" ], "Resource": "*" }, { "Sid": "CreateSnapshotVolumeConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "CreateSnapshotConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyScanId" } } }, { "Sid": "CreateTagsPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSnapshot" } } }, { "Sid": "AddTagsToSnapshotPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "GuardDutyExcluded", "GuardDutyFindingDetected" ] } } }, { "Sid": "DeleteAndShareSnapshotPermission", "Effect": "Allow", "Action": [ "ec2:DeleteSnapshot", "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "PreventPublicAccessToSnapshotPermission", "Effect": "Deny", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringEquals": { "ec2:Add/group": "all" } } }, { "Sid": "CreateGrantPermission", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" }, "StringLike": { "kms:EncryptionContext:aws:ebs:id": "snap-*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "CreateGrant", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "ShareSnapshotKMSPermission", "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "DescribeKeyPermission", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Sid": "GuardDutyLogGroupPermission", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*" }, { "Sid": "GuardDutyLogStreamPermission", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*:log-stream:*" }, { "Sid": "EBSDirectAPIPermissions", "Effect": "Allow", "Action": [ "ebs:GetSnapshotBlock", "ebs:ListSnapshotBlocks" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "aws:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } } ] }

La siguiente política de confianza se ha adjuntado al rol vinculado a servicios AWSServiceRoleForAmazonGuardDutyMalwareProtection:

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

Crear un rol vinculado al servicio para la protección contra malware para EC2

El rol vinculado al servicio AWSServiceRoleForAmazonGuardDutyMalwareProtection se crea automáticamente cuando se habilita la protección contra malware para EC2 por primera vez o al habilitar la protección contra malware para EC2 en una región compatible en la que no estaba habilitado. También puede crear el rol vinculado al servicio AWSServiceRoleForAmazonGuardDutyMalwareProtection manualmente con la consola de IAM, la CLI de IAM o la API de IAM.

nota

De forma predeterminada, si es la primera vez que utiliza Amazon GuardDuty, la protección contra malware para EC2 se habilita automáticamente.

importante

El rol vinculado al servicio creado para la cuenta de administrador delegado de GuardDuty no se aplica a cuentas de GuardDuty de miembro.

Debe configurar permisos para permitir a una entidad principal de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios. Para que el rol vinculado a servicios AWSServiceRoleForAmazonGuardDutyMalwareProtection se cree correctamente, la identidad de IAM con la que se usa GuardDuty debe tener los permisos necesarios. Para conceder los permisos necesarios, asocie la siguiente política a un usuario, un grupo o un rol de :

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "guardduty:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "malware-protection.guardduty.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:RegisterDelegatedAdministrator", "organizations:ListDelegatedAdministrators", "organizations:ListAWSServiceAccessForOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::*:role/*AWSServiceRoleForAmazonGuardDutyMalwareProtection" } ] }

Para obtener más información sobre cómo crear un rol manualmente, consulte Crear un rol vinculado a servicios en la Guía del usuario de IAM.

Editar un rol vinculado al servicio para la protección contra malware para EC2

La protección contra malware para EC2 no permite editar el rol vinculado al servicio AWSServiceRoleForAmazonGuardDutyMalwareProtection. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte Editar un rol vinculado a servicios en la Guía del usuario de IAM.

Eliminar un rol vinculado al servicio para la protección contra malware para EC2

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a un servicio, le recomendamos que elimine dicho rol. De esta forma no conservará una entidad no utilizada que no se monitoree ni se mantenga de forma activa.

importante

Para poder eliminar AWSServiceRoleForAmazonGuardDutyMalwareProtection, primero debe desactivar la protección contra malware para EC2 en todas las regiones en las que esté habilitada.

Si la protección contra malware para EC2 está habilitada al intentar eliminar el rol vinculado al servicio, el rol no se eliminará. Asegúrese de desactivar primero la protección contra malware para EC2 en la cuenta.

Si selecciona Desactivar para detener el servicio de protección contra malware para EC2, AWSServiceRoleForAmazonGuardDutyMalwareProtection no se elimina automáticamente. Si, a continuación, selecciona Habilitar para volver a iniciar el servicio de protección contra malware para EC2, GuardDuty empezará a utilizar el AWSServiceRoleForAmazonGuardDutyMalwareProtection existente.

Eliminación manual del rol vinculado a servicios mediante IAM

Utilice la consola de IAM, la AWS CLI o la API de IAM para eliminar el rol vinculado a servicios AWSServiceRoleForAmazonGuardDutyMalwareProtection. Para obtener más información, consulte Eliminación de un rol vinculado a servicios en la Guía del usuario de IAM.

Regiones de AWS admitidas

Amazon GuardDuty admite el uso del rol vinculado al servicio de AWSServiceRoleForAmazonGuardDutyMalwareProtection en todas las Regiones de AWS en las que la protección contra malware para EC2 está disponible.

Para obtener una lista de las regiones en las que GuardDuty está disponible actualmente, consulte Amazon GuardDuty endpoints and quotas en la Referencia general de Amazon Web Services.

nota

La protección contra malware para EC2 no está disponible actualmente en AWS GovCloud (Este de EE. UU.) ni AWS GovCloud (Oeste de EE. UU.).