- Coverage by target cloud
- How the backends compare
- On Google Cloud
- On Azure
- On OCI
- Debug this service
Coverage by target cloud
How the backends compare
Each row compares a capability of GuardDuty with its adaptation on each backend. A dash means this row is not stated for that backend.Infrastructure-only adaptation
On Google Cloud
How it works
On Google Cloud, GuardDuty maps to Security Command Center (SCC) threat detection. When Tensor9 builds the deployment it creates one SCC source, “Tensor9 GuardDuty Equivalent”, in your Google Cloud organization. Google runs detection over your resources and produces findings with severity levels. This is a best-effort match between different security products, so review each threat scenario you depend on. Event Threat Detection analyzes supported logs; other SCC services cover container and VM threats. You turn on the services and log inputs in your organization or projects, and connect findings to Pub/Sub or Google SecOps. GuardDuty filters and response rules must be rewritten for SCC.Security Command Center detectors analyze Google Cloud logs; you turn them on and export their findings.
What you configure in SCC
The SCC source Tensor9 creates records the posture; it does not turn on Event Threat Detection. You switch that on in SCC’s settings, at the Premium or Enterprise tier, for your organization or projects. The detectors you choose decide which logs and which service tier you need. GuardDuty’s feature toggles map to this configuration, not to one identical Google detector. Turn on the logs and finding exports you need, then test the response rules that read SCC findings. Google’s service list describes the detectors available for each workload.Finding names and rules
GuardDuty identifiers such asUnauthorizedAccess:EC2/SSHBruteForce, CryptoCurrency:EC2/BitcoinTool.B and Recon:EC2/Portscan do not become SCC finding identifiers. SCC detectors produce their own categories and severity levels, so update rules that match the AWS identifiers.
Review EventBridge filters, suppression rules and downstream parsers that use GuardDuty finding names, including patterns such as CryptoCurrency:*. Determine whether a Google detector covers each required case before rewriting the rule. The diagram describes areas to review, not verified one-to-one finding mappings.
SCC uses its own finding categories. Rewrite each rule that matches a GuardDuty finding type.
Detection sources
Cloud Audit Logs, network logs, DNS logs and GKE signals are candidate inputs for the Google services used in this mapping. Coverage depends on the specific detector and its supported log sources. Review the threats your application must detect instead of assuming that similar log names imply equivalent analysis. GuardDuty Malware Protection scans EBS volume snapshots. SCC Virtual Machine Threat Detection examines running VM memory. These inspect different data, so assess the required malware scenarios separately; memory inspection does not replace every snapshot-scan use case.Review each Google detector and its log inputs against the required threat scenarios.
Detectors and access
Event Threat Detection analyzes supported log sources. Container Threat Detection and Virtual Machine Threat Detection examine different workload signals. Choose the services for the workloads you actually run and confirm they are available in your SCC subscription. Control who can read findings and exports, as well as who can reach the protected resources. Your security operators need SCC’s categories, severity levels and resource identifiers in their response procedures.Limitations
Where Security Command Center and GuardDuty differ- Event Threat Detection is not turned on for you. Tensor9 creates the SCC source only. You turn on the detectors in SCC’s settings, at the Premium or Enterprise tier, and confirm each one is available.
- Finding names behave differently: rules that match GuardDuty names stop matching. Rules matching
UnauthorizedAccess:EC2/SSHBruteForceorCryptoCurrency:*need a detector-by-detector coverage review and new rules for SCC. - GuardDuty filters, IP sets, threat feeds and publishing destinations are not recreated. The build reports each
aws_guardduty_filter,aws_guardduty_ipset,aws_guardduty_threatintelsetandaws_guardduty_publishing_destinationit does not transfer. Configure the matching SCC controls, such as mute rules, for each requirement. - You must turn on detection for S3 data events, EKS audit logs and malware scanning. If your detector uses these sources, the build reports a warning for each one. Turn on and check the matching SCC service.
- Malware scanning behaves differently. GuardDuty scans EBS snapshots; SCC Virtual Machine Threat Detection inspects VM memory. They examine different data, so choose protection by workload and threat.
Other considerations
- Organization scope. The source is created in your Google Cloud organization. Historical GuardDuty findings are not copied.
- Export and response rules. Configure Pub/Sub export, Google SecOps rules and response automation for the detectors you turn on. Review GuardDuty EventBridge rules against SCC categories and severity.
- Service tier and detector settings. SCC service availability and pricing depend on your subscription. Confirm each detector and log input you need.
- Outputs keep working. Terraform outputs that read the detector’s
id,arnoraccount_idstill resolve; they return the detector’s name.
On Azure
How it works
On Azure, GuardDuty maps to Microsoft Defender for Cloud. When Tensor9 builds the deployment, it turns on two Defender plans for the subscription, Servers and Storage, at the Standard tier. Microsoft runs detection over your Azure resources and raises security alerts with severity levels. This is a best-effort match: Defender uses different signals and rules from GuardDuty, so review each threat scenario you depend on. You choose any further protection your workload needs, such as Containers and subscription activity, and connect alerts to Microsoft Sentinel or another supported tool for analysis and response. Plan, telemetry and alert names differ from GuardDuty’s detector and finding types.Tensor9 turns on Defender for Servers and Defender for Storage; you choose other protection and connect Sentinel.
What Tensor9 turns on
Tensor9 creates twoazurerm_security_center_subscription_pricing resources at the Standard tier: VirtualMachines (Defender for Servers) and StorageAccounts (Defender for Storage). It creates them once per stack, however many detectors you declare, and none if the detector is disabled. Containers and subscription-activity protection need their own settings, which you configure.
Check the effective plan, subplan and extensions for your resources: a subscription-level plan does not mean every workload or scanning feature is protected. Choose telemetry collection and the Sentinel connection alongside the plans.
The detector becomes one azurerm_security_center_subscription_pricing per plan, at the Standard tier, for the whole subscription.
Finding names and rules
GuardDuty finding identifiers such asUnauthorizedAccess:EC2/SSHBruteForce, CryptoCurrency:EC2/BitcoinTool.B and Recon:EC2/Portscan are AWS-specific. Defender uses its own alert names and severity assignments for threats such as brute-force attempts, cryptomining and port scans.
Review EventBridge filters, suppression rules and downstream parsers that use GuardDuty names, including patterns such as CryptoCurrency:*. Rewrite them for Defender’s alerts and the signals each enabled plan analyzes. Turning on the plans does not translate those rules, and Defender does not detect exactly the same set of threats.
Defender uses its own alert names. Rewrite each rule that matches a GuardDuty finding type.
Detection sources
Match server, storage, container and subscription-activity threats to the Defender protection that covers them. DNS protection is part of Defender for Servers; the older standalone Defender for DNS plan is not used for new deployments. Review the resources and signals actually protected for each GuardDuty use case. Defender for Servers includes endpoint protection, and Plan 2 also offers agentless scanning, including malware scanning. Compare the selected subplan and scanning settings with the application’s EBS malware requirements. Different scanning mechanisms do not imply identical detection. See Microsoft’s plan comparison.Review each AWS detection requirement against the selected Azure protection and scanning settings.
Alerts and response
On AWS, GuardDuty findings can feed Security Hub and EventBridge. On Azure, Defender alerts can feed Microsoft Sentinel, a security information and event management (SIEM) service. Configure the connection, analytics rules and playbooks for the required responses. Rewrite EventBridge filters against the relevant Defender alert names and test severity handling and response actions. Similar alert topics do not imply that the rule matches the same event or has the same false-positive behavior.A configured Sentinel connection receives Defender alerts for analytics rules and response playbooks.
Limitations
Where Defender for Cloud and GuardDuty differ- Only the Servers and Storage plans are turned on for you. Tensor9 does not turn on Containers, Resource Manager or other Defender protection, agents or scanning extensions. Select them as needed and review effective coverage in the subscription.
- Finding names behave differently: rules that match GuardDuty names stop matching. Rules matching identifiers such as
UnauthorizedAccess:EC2/SSHBruteForceorCryptoCurrency:*must be rewritten for Defender’s alert names and behaviour. - GuardDuty filters, IP sets, threat feeds and publishing destinations are not recreated. The build reports each
aws_guardduty_filter,aws_guardduty_ipset,aws_guardduty_threatintelsetandaws_guardduty_publishing_destinationit does not transfer. Re-create the suppression, allowlists, feeds and export you need in Azure. - You must turn on protection for S3 data events, EKS audit logs and malware scanning. If your detector uses these sources, the build reports a warning for each one. Enable and check the matching Defender protection.
- Network and malware detection behave differently. Similar plan names do not mean every GuardDuty network finding or EBS malware scenario is detected. Check active subplans, extensions and workload settings.
Other considerations
- Subscription scope and cost. The plans apply to the whole subscription; review their scope and cost there. Historical GuardDuty findings are not migrated.
- Further protection. Configure protection beyond Servers and Storage yourself. Defender plan names and availability change, so use current Microsoft documentation when you choose.
- Sentinel. Configure the alert connection, analytics rules and playbooks, then test the responses your application needs.
- Outputs keep working. Terraform outputs that read the detector’s
id,arnoraccount_idstill resolve; they return the detector’s name.
On OCI
How it works
On OCI, GuardDuty maps to Cloud Guard. Detector recipes, sets of rules that analyze OCI resources, raise problems with severity levels. Oracle operates the service. This is a best-effort match: OCI’s rules and signals do not reproduce GuardDuty’s finding catalog. When Tensor9 builds the deployment, it enables Cloud Guard and creates a target for the deployment’s compartment. You attach the detector recipes for the threats you need, and configure OCI Events or responder recipes for follow-up actions. Review network and container detection separately: Cloud Guard’s extra configuration checks do not fill gaps there.Tensor9 enables Cloud Guard and creates a compartment target; detector recipes decide what is detected.
What Tensor9 turns on
Tensor9 creates anoci_cloud_guard_cloud_guard_configuration with status = "ENABLED" and an oci_cloud_guard_target for the deployment’s compartment. The reporting region is the deployment’s OCI region; if none is set, it defaults to us-ashburn-1 and the build reports a warning. Detector recipes attached to the target decide which rules run.
Choose and check Activity, Configuration and Threat recipes against your requirements. Responder recipes are separate controls that can change resources.
The detector becomes Cloud Guard’s tenancy setting and a target for the deployment’s compartment.
Finding names and rules
GuardDuty identifiers such asUnauthorizedAccess:EC2/SSHBruteForce, CryptoCurrency:EC2/BitcoinTool.B and Recon:EC2/Portscan are AWS-specific. Cloud Guard reports problems for suspicious activity, public exposure and risky configuration using its own names and severity assignments.
Review EventBridge filters, suppression rules and downstream parsers that use GuardDuty finding names, including patterns such as CryptoCurrency:*. Rewrite them for the relevant Cloud Guard problem types and detector rules. Enabling Cloud Guard does not translate this automation, and Cloud Guard does not detect exactly the same set of threats.
Cloud Guard uses its own problem types. Rewrite each rule that matches a GuardDuty finding type.
Detection sources
Cloud Guard Activity, Configuration and Threat recipes analyze OCI Audit events, resource settings and threat signals. The specific rules and available data determine coverage. Configuration checks are a separate capability from GuardDuty threat detection. Review GuardDuty VPC Flow Log network analysis and EKS audit-log scenarios individually. Cloud Guard’s configuration checks do not replace those detections. Document missing scenarios and decide whether other OCI controls can meet the application’s requirements.Cloud Guard offers configuration checks; they do not fill network or container detection gaps.
Detector and responder recipes
Attach the detector recipes you need to the target and tune their rules. Check the problems raised for your resources; choosing a recipe by name does not give equivalent coverage. Responder recipes can act on problems by changing public bucket access or security-list rules. Review the actions and resources they can affect, then configure and test the intended responses. See Oracle’s target guide for recipe selection.Detector recipes produce problems. Separately configured responder recipes can act on affected resources.
Limitations
Where Cloud Guard and GuardDuty differ- You must attach detector recipes. Tensor9 enables Cloud Guard and creates the target, but detection depends on the recipes attached to it. Check the rules you need before relying on detection, and configure responder actions separately.
- Finding names behave differently: rules that match GuardDuty names stop matching. Rules matching
UnauthorizedAccess:EC2/SSHBruteForceorCryptoCurrency:*must be rewritten for Cloud Guard problem types and behaviour. - GuardDuty filters, IP sets, threat feeds and publishing destinations are not recreated. The build reports each
aws_guardduty_filter,aws_guardduty_ipset,aws_guardduty_threatintelsetandaws_guardduty_publishing_destinationit does not transfer. Decide which Cloud Guard rules or lists meet each requirement. - Network and container detection are not fully supported. Cloud Guard configuration checks do not replace GuardDuty VPC Flow Log analysis or EKS audit-log coverage. If your detector uses EKS audit logs, S3 data events or malware scanning, the build reports a warning for each.
Other considerations
- What Tensor9 creates. Tensor9 enables Cloud Guard and creates a compartment target. Historical GuardDuty findings are not copied, and creating the target does not prove that detection is active.
- Reporting region and recipes. Confirm the reporting region and the recipes attached to the target. Turn on responder recipes only for the actions you want automated.
- Response automation. Configure OCI Events rules or responder recipes yourself. Review which resources a responder can change, and test each response before you rely on it.
- Outputs keep working. Terraform outputs that read the detector’s
id,arnoraccount_idstill resolve; they return the detector’s name.