More Info:
Notification topics must be configured in the tenancy. Without active topics, security alarms and Cloud Guard alerts cannot be routed to administrators, rendering monitoring ineffective.Risk Level
MediumAddress
Compliance, SecurityCompliance Standards
- APRA CPS 234 (Australia)
- AWS Well Architected Framework
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
To remediate “OCI Monitoring should have active notification topic configured” using the OCI Console, you need to:
-
Create (or verify) a Notifications Topic
- In the OCI Console, open the navigation menu.
- Go to Developer Services → Notifications (or Application Integration → Notifications depending on the UI).
- Make sure you are in the correct Compartment.
- Click Create Topic.
- Enter:
- Name and Description
- Compartment (same or accessible compartment as your alarms)
- Click Create.
-
Add at Least One Active Subscription
- Click on the topic you just created.
- Under Subscriptions, click Create Subscription.
- Choose Protocol (e.g., Email, HTTPS, Slack via HTTPS, PagerDuty via HTTPS, etc.).
- Enter the Endpoint (e.g., email address or webhook URL).
- Click Create.
- For email:
- Check your email inbox.
- Open the Oracle Cloud email and click Confirm Subscription.
- Ensure subscription status becomes Active in the topic’s Subscriptions list.
-
Attach the Topic to Existing Alarms (Monitoring)
- In the navigation menu, go to Observability & Management → Monitoring → Alarms.
- Select the Compartment where your alarms are defined.
- For each alarm that needs a notification:
- Click the alarm name.
- Click Edit (or Edit alarm).
- In the Notifications or Destinations section:
- Under Topic, choose the Notifications topic you created.
- Ensure Severity and Enabled are set as desired.
- Click Save changes.
- If any alarm has no notification topic, this is what typically triggers the misconfiguration finding—attach the topic as above.
-
Verify Alarm Status and Trigger (Optional but Recommended)
- Ensure each alarm is Enabled.
- Optionally, temporarily tweak the alarm’s metric or threshold to force a trigger, or:
- Use a known test condition (e.g., a low threshold that will be exceeded).
- Wait for the metric to trigger the alarm.
- Confirm that:
- The alarm changes to FIRING in the Alarms list when condition is met.
- A notification is actually received at the configured endpoint.
-
Ensure Compartments and Policies Allow This
- Confirm the alarm’s compartment has permission to use Notifications:
- IAM policy example (for reference to your admin):
Allow group <group-name> to manage ons-topics in compartment <compartment-name>Allow service metrics to use ons-topics in compartment <compartment-name>
- IAM policy example (for reference to your admin):
- If you lack permission to select topics, contact your tenancy administrator to add the appropriate policies.
- Confirm the alarm’s compartment has permission to use Notifications:
Using CLI
Using CLI
Below is a concise, CLI‑only flow to ensure OCI Monitoring Alarms have an active Notification Topic configured.You will:
Ensure your OCI CLI is configured (
If
If you see no rows, create one.Save the returned OCID:If you already had a topic, set:
The recipient must confirm the subscription from the email sent by OCI.
Edit If
If you want to preserve multiple existing destinations:
You should now see at least one topic OCID listed. That satisfies the requirement that OCI Monitoring has an active Notification Topic configured for that alarm.
- Find (or create) a Notification Topic
- (Optionally) add a Subscription to that topic
- Associate the topic with the Monitoring Alarm using
--destinations
1. Set common variables
Adjust these to your environment:oci setup config) and using the correct region.2. Check the current Alarm configuration
destinations is empty or missing, you need to attach a topic.3. Create (or reuse) an OCI Notifications topic
3.1. See if a suitable topic already exists
3.2. Create a new topic
4. (Optional but recommended) Add a subscription to the topic
Example: email subscription5. Attach the Notification Topic to the Alarm
Get the current alarm definition (JSON) so you don’t accidentally overwrite other fields:alarm.json minimally:- Ensure
destinationsincludes the topic OCID - Do not remove required fields (
compartmentId,namespace,query,resolution,severity,isEnabled,displayName, etc.).
destinations entry:destinations already exists, add your topic OCID to the array.6. Update the Alarm with the new destination
You can update only specific fields rather than posting the entire JSON:- Fetch them:
- Combine with the new one (ensuring uniqueness) and pass in as JSON.
7. Verify
Using Python
Using Python
Below is a minimal end‑to‑end approach to remediate “OCI Monitoring Should Have Active Notification Topic Configured” using Python and the OCI SDK.Assumptions:
If you already have a topic, just set
You’ll need to confirm the subscription via email for it to become ACTIVE.
- You have
ociPython SDK installed:pip install oci - You use a config file at
~/.oci/configwith a profile calledDEFAULT - You already have an alarm created, but it has no
destinations(i.e., no notification topic)
1. Set up OCI Python SDK client
2. Create a Notifications topic (if you don’t already have one)
topic_ocid to that topic’s OCID.3. (Optional but recommended) Add a subscription (e.g., email)
4. Attach the topic to your existing alarm
You need:- The OCID of the existing alarm that currently has no active notification topic.
5. Verify
- In OCI Console: Monitoring → Alarms → select the alarm → check “Destinations” includes your topic.
- Confirm the subscription (email or other) so the topic is ACTIVE.
- Trigger the alarm condition (or wait for it naturally) to verify you receive notifications.
Using Terraform
Using Terraform
compartment_id); adding or updating destinations is an in‑place update. Creating the oci_ons_notification_topic is additive.To verify, terraform plan should show:+creation ofoci_ons_notification_topic.monitoring_alerts_topic+creation of anyoci_ons_subscriptionresources you’ve added~update of eachoci_monitoring_alarmto include the topic ID indestinations.

