Skip to content

MalwareProtectionPlan ​

The MalwareProtectionPlan resource lets you manage AWS GuardDuty MalwareProtectionPlans for enhanced protection against malware threats in your AWS environment.

Minimal Example ​

This example demonstrates how to create a basic MalwareProtectionPlan with required properties and one optional tag.

ts
import AWS from "alchemy/aws/control";

const malwareProtectionPlan = await AWS.GuardDuty.MalwareProtectionPlan("basicMalwareProtectionPlan", {
  Role: "arn:aws:iam::123456789012:role/GuardDutyMalwareProtectionRole",
  ProtectedResource: {
    ResourceType: "EC2", // Specify the resource type you want to protect
    ResourceId: "i-0abcd1234efgh5678" // The ID of the EC2 instance
  },
  Tags: [
    {
      Key: "Environment",
      Value: "Production"
    }
  ]
});

Advanced Configuration ​

This example showcases how to configure a MalwareProtectionPlan with specific actions for malware detection and response.

ts
const advancedMalwareProtectionPlan = await AWS.GuardDuty.MalwareProtectionPlan("advancedMalwareProtectionPlan", {
  Role: "arn:aws:iam::123456789012:role/GuardDutyMalwareProtectionRole",
  ProtectedResource: {
    ResourceType: "S3",
    ResourceId: "my-s3-bucket" // The name of the S3 bucket to protect
  },
  Actions: {
    Block: true, // Enable blocking of detected threats
    Notify: true // Enable notification for detected threats
  },
  Tags: [
    {
      Key: "Project",
      Value: "SecurityEnhancement"
    }
  ]
});

Adoption of Existing Resources ​

This example demonstrates how to adopt an existing MalwareProtectionPlan instead of failing if it already exists.

ts
const adoptedMalwareProtectionPlan = await AWS.GuardDuty.MalwareProtectionPlan("adoptedMalwareProtectionPlan", {
  Role: "arn:aws:iam::123456789012:role/GuardDutyMalwareProtectionRole",
  ProtectedResource: {
    ResourceType: "Lambda",
    ResourceId: "my-lambda-function" // The name of the Lambda function to protect
  },
  adopt: true // Adopt existing resource
});