Skip to content

Commit 25c982d

Browse files
chore(oraclecloud): enhance metadata for events service (#9373)
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com>
1 parent 2e60bb8 commit 25c982d

File tree

14 files changed

+225
-244
lines changed

14 files changed

+225
-244
lines changed

prowler/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ All notable changes to the **Prowler SDK** are documented in this file.
2828
- Update Oracle Cloud KMS service metadata to new format [(#9377)](https://github.com/prowler-cloud/prowler/pull/9377)
2929
- Update Oracle Cloud Network service metadata to new format [(#9378)](https://github.com/prowler-cloud/prowler/pull/9378)
3030
- Update Oracle Cloud Object Storage service metadata to new format [(#9379)](https://github.com/prowler-cloud/prowler/pull/9379)
31+
- Update Oracle Cloud Events service metadata to new format [(#9373)](https://github.com/prowler-cloud/prowler/pull/9373)
3132

3233
---
3334

prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/events_notification_topic_and_subscription_exists.metadata.json

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
{
22
"Provider": "oraclecloud",
33
"CheckID": "events_notification_topic_and_subscription_exists",
4-
"CheckTitle": "Create at least one notification topic and subscription to receive monitoring alerts",
5-
"CheckType": [
6-
"Software and Configuration Checks",
7-
"Industry and Regulatory Standards",
8-
"CIS OCI Foundations Benchmark"
9-
],
4+
"CheckTitle": "Tenancy has at least one notification topic with active subscriptions",
5+
"CheckType": [],
106
"ServiceName": "events",
117
"SubServiceName": "",
12-
"ResourceIdTemplate": "oci:events:rule",
13-
"Severity": "medium",
14-
"ResourceType": "OciEventsRule",
8+
"ResourceIdTemplate": "",
9+
"Severity": "high",
10+
"ResourceType": "OnsTopic",
1511
"ResourceGroup": "messaging",
16-
"Description": "At least one notification topic and subscription should exist to receive monitoring alerts.",
17-
"Risk": "Without proper event monitoring, security-relevant changes may go unnoticed.",
18-
"RelatedUrl": "https://docs.oracle.com/en-us/iaas/Content/Events/home.htm",
12+
"Description": "**OCI Notifications** is evaluated for the existence of at least one **topic** that has one or more **subscriptions**.\n\nThe focus is on whether subscribed endpoints are present to receive Events and monitoring alerts.",
13+
"Risk": "Without subscribed topics, alerts are not delivered, reducing **visibility** and delaying detection of malicious or accidental changes. This undermines **confidentiality** (undetected data access), **integrity** (unauthorized config changes), and **availability** (unresolved outages).",
14+
"RelatedUrl": "",
15+
"AdditionalURLs": [
16+
"https://docs.oracle.com/en-us/iaas/Content/Events/home.htm"
17+
],
1918
"Remediation": {
2019
"Code": {
21-
"CLI": "oci events rule create --display-name <name> --condition <event-condition> --actions <notification-actions>",
20+
"CLI": "",
2221
"NativeIaC": "",
23-
"Other": "1. Navigate to Observability & Management > Events Service\n2. Create a new rule\n3. Configure the event condition\n4. Add notification action\n5. Save the rule",
24-
"Terraform": "resource \"oci_events_rule\" \"example\" {\n display_name = \"rule\"\n is_enabled = true\n condition = jsonencode({\n eventType = [\"com.oraclecloud.*\"]\n })\n actions {\n actions {\n action_type = \"ONS\"\n topic_id = var.topic_id\n }\n }\n}"
22+
"Other": "1. In the OCI Console, go to Menu > Application Integration > Notifications > Topics\n2. Click Create Topic, enter a name, and click Create\n3. Open the topic, click Create Subscription\n4. Select a protocol (e.g., Function), choose/provide the endpoint, and click Create\n5. Verify the subscription lifecycle state shows Active (confirm if prompted for protocols like Email)",
23+
"Terraform": "```hcl\n# Create a notification topic\nresource \"oci_ons_notification_topic\" \"<example_resource_name>\" {\n compartment_id = var.compartment_ocid\n name = \"<example_resource_name>\" # Critical: creates the notification topic needed for the check\n}\n\n# Create a subscription on the topic (ensures topic has an active subscription)\nresource \"oci_ons_subscription\" \"<example_resource_name>\" {\n compartment_id = var.compartment_ocid\n topic_id = oci_ons_notification_topic.<example_resource_name>.id # Critical: attaches the subscription to the topic\n protocol = \"ORACLE_FUNCTIONS\" # Critical: protocol that can become active without manual confirmation\n endpoint = \"<function_ocid>\" # Critical: endpoint for the subscription\n}\n```"
2524
},
2625
"Recommendation": {
27-
"Text": "Create at least one notification topic and subscription to receive monitoring alerts",
28-
"Url": "https://hub.prowler.com/check/oci/events_notification_topic_and_subscription_exists"
26+
"Text": "Create a centralized **Notifications** topic with one or more **subscriptions**, and route critical Events/monitoring to it. Apply **least privilege** to topic management, use redundant channels, test delivery regularly, and tune filters to reduce noise. *Consider* escalation paths for `critical` alerts.",
27+
"Url": "https://hub.prowler.com/check/events_notification_topic_and_subscription_exists"
2928
}
3029
},
3130
"Categories": [
32-
"logging",
33-
"monitoring"
31+
"logging"
3432
],
3533
"DependsOn": [],
3634
"RelatedTo": [],

prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/events_rule_cloudguard_problems.metadata.json

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
{
22
"Provider": "oraclecloud",
33
"CheckID": "events_rule_cloudguard_problems",
4-
"CheckTitle": "Ensure a notification is configured for Oracle Cloud Guard problems detected",
5-
"CheckType": [
6-
"Software and Configuration Checks",
7-
"Industry and Regulatory Standards",
8-
"CIS OCI Foundations Benchmark"
9-
],
4+
"CheckTitle": "Event rule monitoring Cloud Guard problems has notification actions configured",
5+
"CheckType": [],
106
"ServiceName": "events",
117
"SubServiceName": "",
12-
"ResourceIdTemplate": "oci:events:rule",
13-
"Severity": "medium",
14-
"ResourceType": "OciEventRule",
8+
"ResourceIdTemplate": "",
9+
"Severity": "high",
10+
"ResourceType": "EventRule",
1511
"ResourceGroup": "messaging",
16-
"Description": "Ensure a notification is configured for Oracle Cloud Guard problems detected",
17-
"Risk": "Without Cloud Guard, security threats may not be detected and remediated.",
18-
"RelatedUrl": "https://docs.oracle.com/en-us/iaas/cloud-guard/home.htm",
12+
"Description": "**OCI Events rules** subscribe to **Cloud Guard problem lifecycle events**-`com.oraclecloud.cloudguard.problemdetected`, `com.oraclecloud.cloudguard.problemdismissed`, and `com.oraclecloud.cloudguard.problemremediated`-and include **notification actions**. *When Cloud Guard sets a reporting region, rules are expected in that region.*",
13+
"Risk": "Without notifications for Cloud Guard problems, incidents can go unseen, delaying response. Ongoing issues can erode **confidentiality** via data exfiltration, threaten **integrity** through unremediated changes, and impact **availability** by allowing attacks to persist. Silent failures of automated remediation may also go unnoticed.",
14+
"RelatedUrl": "",
15+
"AdditionalURLs": [
16+
"https://docs.oracle.com/en-us/iaas/cloud-guard/home.htm"
17+
],
1918
"Remediation": {
2019
"Code": {
21-
"CLI": "oci cloud-guard configuration update --compartment-id <tenancy-ocid> --status ENABLED --reporting-region <region>",
20+
"CLI": "oci events rule create --compartment-id <example_resource_id> --display-name <example_resource_name> --is-enabled true --condition '{\"eventType\":[\"com.oraclecloud.cloudguard.problemdetected\",\"com.oraclecloud.cloudguard.problemdismissed\",\"com.oraclecloud.cloudguard.problemremediated\"]}' --actions '{\"actions\":[{\"actionType\":\"ONS\",\"isEnabled\":true,\"topicId\":\"<example_resource_id>\"}]}' --region <region>",
2221
"NativeIaC": "",
23-
"Other": "1. Navigate to Security > Cloud Guard\n2. Enable Cloud Guard\n3. Select reporting region\n4. Configure detectors and responders",
24-
"Terraform": "resource \"oci_cloud_guard_cloud_guard_configuration\" \"example\" {\n compartment_id = var.tenancy_ocid\n reporting_region = var.region\n status = \"ENABLED\"\n}"
22+
"Other": "1. In the OCI Console, go to Menu > Application Integration > Events Service > Rules\n2. Click Create Rule and select the Compartment; switch to the Cloud Guard reporting Region\n3. In Conditions, add event types: com.oraclecloud.cloudguard.problemdetected, com.oraclecloud.cloudguard.problemdismissed, com.oraclecloud.cloudguard.problemremediated\n4. Under Actions, add Notifications and select the desired Topic\n5. Ensure the rule is Enabled and click Create",
23+
"Terraform": "```hcl\nresource \"oci_events_rule\" \"<example_resource_name>\" {\n compartment_id = \"<example_resource_id>\"\n display_name = \"<example_resource_name>\"\n is_enabled = true\n\n # critical: monitor Cloud Guard problem events\n condition = jsonencode({\n eventType = [\n \"com.oraclecloud.cloudguard.problemdetected\",\n \"com.oraclecloud.cloudguard.problemdismissed\",\n \"com.oraclecloud.cloudguard.problemremediated\"\n ]\n })\n\n actions {\n actions {\n action_type = \"ONS\"\n is_enabled = true\n topic_id = \"<example_resource_id>\" # critical: send notifications to this topic\n }\n }\n}\n```"
2524
},
2625
"Recommendation": {
27-
"Text": "Ensure a notification is configured for Oracle Cloud Guard problems detected",
28-
"Url": "https://hub.prowler.com/check/oci/cloudguard_notification_configured"
26+
"Text": "Implement **event-driven alerts** for Cloud Guard problem lifecycle events and route them to trusted **notification channels** and your **SOC/SIEM**. Enforce **least privilege** on publish/subscribe, align rules with the **reporting region**, and use **severity-based filtering** to prioritize response within a **defense-in-depth** approach.",
27+
"Url": "https://hub.prowler.com/check/events_rule_cloudguard_problems"
2928
}
3029
},
3130
"Categories": [
32-
"monitoring"
31+
"threat-detection"
3332
],
3433
"DependsOn": [],
3534
"RelatedTo": [],

prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/events_rule_iam_group_changes.metadata.json

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
{
22
"Provider": "oraclecloud",
33
"CheckID": "events_rule_iam_group_changes",
4-
"CheckTitle": "Ensure a notification is configured for IAM group changes",
5-
"CheckType": [
6-
"Software and Configuration Checks",
7-
"Industry and Regulatory Standards",
8-
"CIS OCI Foundations Benchmark"
9-
],
4+
"CheckTitle": "Event rule monitoring IAM group changes has notification actions configured",
5+
"CheckType": [],
106
"ServiceName": "events",
117
"SubServiceName": "",
12-
"ResourceIdTemplate": "oci:events:rule",
13-
"Severity": "medium",
14-
"ResourceType": "OciEventsRule",
8+
"ResourceIdTemplate": "",
9+
"Severity": "high",
10+
"ResourceType": "EventRule",
1511
"ResourceGroup": "messaging",
16-
"Description": "Event rules should be configured to notify on IAM group changes.",
17-
"Risk": "Without proper event monitoring, security-relevant changes may go unnoticed.",
18-
"RelatedUrl": "https://docs.oracle.com/en-us/iaas/Content/Events/home.htm",
12+
"Description": "**OCI Events rules** monitor **IAM group lifecycle events** (`creategroup`, `updategroup`, `deletegroup`) and include **notification actions** to generate alerts when these changes occur.",
13+
"Risk": "Without alerts on **IAM group changes**, unauthorized privilege changes can persist unnoticed, enabling **privilege escalation** and broader access. This undermines **confidentiality** and **integrity**, and delays response to identity misuse.",
14+
"RelatedUrl": "",
15+
"AdditionalURLs": [
16+
"https://docs.oracle.com/en-us/iaas/Content/Events/home.htm"
17+
],
1918
"Remediation": {
2019
"Code": {
21-
"CLI": "oci events rule create --display-name <name> --condition <event-condition> --actions <notification-actions>",
20+
"CLI": "oci events rule create --compartment-id <compartment_ocid> --display-name <example_resource_name> --condition '{\"eventType\":[\"com.oraclecloud.identitycontrolplane.creategroup\",\"com.oraclecloud.identitycontrolplane.deletegroup\",\"com.oraclecloud.identitycontrolplane.updategroup\"]}' --actions '{\"actions\":[{\"actionType\":\"ONS\",\"topicId\":\"<example_resource_id>\"}]}'",
2221
"NativeIaC": "",
23-
"Other": "1. Navigate to Observability & Management > Events Service\n2. Create a new rule\n3. Configure the event condition\n4. Add notification action\n5. Save the rule",
24-
"Terraform": "resource \"oci_events_rule\" \"example\" {\n display_name = \"rule\"\n is_enabled = true\n condition = jsonencode({\n eventType = [\"com.oraclecloud.*\"]\n })\n actions {\n actions {\n action_type = \"ONS\"\n topic_id = var.topic_id\n }\n }\n}"
22+
"Other": "1. In the OCI Console, go to Observability & Management > Events Service > Rules\n2. Click Create rule and set Name\n3. In Condition, select Event types and add:\n - com.oraclecloud.identitycontrolplane.creategroup\n - com.oraclecloud.identitycontrolplane.deletegroup\n - com.oraclecloud.identitycontrolplane.updategroup\n4. In Actions, add Notifications and select an existing Topic\n5. Click Create to save the rule",
23+
"Terraform": "```hcl\nresource \"oci_events_rule\" \"<example_resource_name>\" {\n compartment_id = \"<example_resource_id>\"\n display_name = \"<example_resource_name>\"\n\n # Critical: Monitor IAM group changes\n condition = jsonencode({\n eventType = [\n \"com.oraclecloud.identitycontrolplane.creategroup\",\n \"com.oraclecloud.identitycontrolplane.deletegroup\",\n \"com.oraclecloud.identitycontrolplane.updategroup\"\n ]\n })\n\n actions {\n actions {\n action_type = \"ONS\" # Critical: Send notifications via OCI Notifications\n topic_id = \"<example_resource_id>\" # Topic OCID for notifications\n }\n }\n}\n```"
2524
},
2625
"Recommendation": {
27-
"Text": "Ensure a notification is configured for IAM group changes",
28-
"Url": "https://hub.prowler.com/check/oci/events_rule_iam_group_changes"
26+
"Text": "Create **Events rules** for IAM group `create`, `update`, and `delete` and route them to **Notifications** channels consumed by the SOC. Enforce **least privilege** and **separation of duties** on rules/topics, forward events to a **SIEM**, and periodically test alert delivery.",
27+
"Url": "https://hub.prowler.com/check/events_rule_iam_group_changes"
2928
}
3029
},
3130
"Categories": [
32-
"logging",
33-
"monitoring"
31+
"threat-detection"
3432
],
3533
"DependsOn": [],
3634
"RelatedTo": [],

prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/events_rule_iam_policy_changes.metadata.json

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
{
22
"Provider": "oraclecloud",
33
"CheckID": "events_rule_iam_policy_changes",
4-
"CheckTitle": "Ensure a notification is configured for IAM policy changes",
5-
"CheckType": [
6-
"Software and Configuration Checks",
7-
"Industry and Regulatory Standards",
8-
"CIS OCI Foundations Benchmark"
9-
],
4+
"CheckTitle": "Event rule monitoring IAM policy changes has notification actions configured",
5+
"CheckType": [],
106
"ServiceName": "events",
117
"SubServiceName": "",
12-
"ResourceIdTemplate": "oci:events:rule",
13-
"Severity": "medium",
14-
"ResourceType": "OciEventsRule",
8+
"ResourceIdTemplate": "",
9+
"Severity": "high",
10+
"ResourceType": "EventRule",
1511
"ResourceGroup": "messaging",
16-
"Description": "Event rules should be configured to notify on IAM policy changes.",
17-
"Risk": "Without proper event monitoring, security-relevant changes may go unnoticed.",
18-
"RelatedUrl": "https://docs.oracle.com/en-us/iaas/Content/Events/home.htm",
12+
"Description": "**OCI Events rules** configured to capture **IAM policy create, update, and delete** events (`com.oraclecloud.identitycontrolplane.createpolicy`, `com.oraclecloud.identitycontrolplane.updatepolicy`, `com.oraclecloud.identitycontrolplane.deletepolicy`) and include a **notification action**.",
13+
"Risk": "Without alerts on **IAM policy changes**, permissions can be altered unnoticed, enabling **privilege escalation**, unauthorized data access, and persistent footholds. Delayed visibility degrades **confidentiality** and **integrity** and slows incident response across compartments.",
14+
"RelatedUrl": "",
15+
"AdditionalURLs": [
16+
"https://docs.oracle.com/en-us/iaas/Content/Events/home.htm"
17+
],
1918
"Remediation": {
2019
"Code": {
21-
"CLI": "oci events rule create --display-name <name> --condition <event-condition> --actions <notification-actions>",
20+
"CLI": "oci events rule create --compartment-id <compartment_ocid> --display-name <example_resource_name> --condition '{\"eventType\":[\"com.oraclecloud.identitycontrolplane.createpolicy\",\"com.oraclecloud.identitycontrolplane.deletepolicy\",\"com.oraclecloud.identitycontrolplane.updatepolicy\"]}' --actions '{\"actions\":[{\"actionType\":\"ONS\",\"topicId\":\"<topic_ocid>\"}]}'",
2221
"NativeIaC": "",
23-
"Other": "1. Navigate to Observability & Management > Events Service\n2. Create a new rule\n3. Configure the event condition\n4. Add notification action\n5. Save the rule",
24-
"Terraform": "resource \"oci_events_rule\" \"example\" {\n display_name = \"rule\"\n is_enabled = true\n condition = jsonencode({\n eventType = [\"com.oraclecloud.*\"]\n })\n actions {\n actions {\n action_type = \"ONS\"\n topic_id = var.topic_id\n }\n }\n}"
22+
"Other": "1. In the OCI Console, go to Observability & Management > Events Service\n2. Click Create Rule and set Display Name (leave Enabled)\n3. Under Conditions, choose Event Type, set Service Name to Identity and Access Management, and select:\n - com.oraclecloud.identitycontrolplane.createpolicy\n - com.oraclecloud.identitycontrolplane.deletepolicy\n - com.oraclecloud.identitycontrolplane.updatepolicy\n4. Under Actions, select Action Type: Notifications, then choose the target Topic\n5. Click Create",
23+
"Terraform": "```hcl\nresource \"oci_events_rule\" \"<example_resource_name>\" {\n compartment_id = var.compartment_id\n display_name = \"<example_resource_name>\"\n is_enabled = true\n\n # Critical: monitor IAM policy create/delete/update events\n condition = jsonencode({\n eventType = [\n \"com.oraclecloud.identitycontrolplane.createpolicy\",\n \"com.oraclecloud.identitycontrolplane.deletepolicy\",\n \"com.oraclecloud.identitycontrolplane.updatepolicy\"\n ]\n })\n\n actions {\n actions {\n action_type = \"ONS\" # Critical: adds a Notifications action\n topic_id = var.topic_id # Critical: target Notifications topic\n }\n }\n}\n```"
2524
},
2625
"Recommendation": {
27-
"Text": "Ensure a notification is configured for IAM policy changes",
28-
"Url": "https://hub.prowler.com/check/oci/events_rule_iam_policy_changes"
26+
"Text": "Create OCI Events rules for `...createpolicy`, `...updatepolicy`, and `...deletepolicy` with a **notification action** to trusted channels. Enforce **least privilege** on IAM and Events administration, require change approvals, and routinely test alerting to ensure rapid detection.",
27+
"Url": "https://hub.prowler.com/check/events_rule_iam_policy_changes"
2928
}
3029
},
3130
"Categories": [
32-
"logging",
33-
"monitoring"
31+
"identity-access"
3432
],
3533
"DependsOn": [],
3634
"RelatedTo": [],

0 commit comments

Comments
 (0)