Skip to main content

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

Medium

Address

Compliance, Security

Compliance 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

Using Console

To remediate “OCI Monitoring should have active notification topic configured” using the OCI Console, you need to:
  1. Create (or verify) a Notifications Topic
    1. In the OCI Console, open the navigation menu.
    2. Go to Developer Services → Notifications (or Application Integration → Notifications depending on the UI).
    3. Make sure you are in the correct Compartment.
    4. Click Create Topic.
    5. Enter:
      • Name and Description
      • Compartment (same or accessible compartment as your alarms)
    6. Click Create.
  2. Add at Least One Active Subscription
    1. Click on the topic you just created.
    2. Under Subscriptions, click Create Subscription.
    3. Choose Protocol (e.g., Email, HTTPS, Slack via HTTPS, PagerDuty via HTTPS, etc.).
    4. Enter the Endpoint (e.g., email address or webhook URL).
    5. Click Create.
    6. For email:
      • Check your email inbox.
      • Open the Oracle Cloud email and click Confirm Subscription.
    7. Ensure subscription status becomes Active in the topic’s Subscriptions list.
  3. Attach the Topic to Existing Alarms (Monitoring)
    1. In the navigation menu, go to Observability & Management → Monitoring → Alarms.
    2. Select the Compartment where your alarms are defined.
    3. 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.
    4. If any alarm has no notification topic, this is what typically triggers the misconfiguration finding—attach the topic as above.
  4. Verify Alarm Status and Trigger (Optional but Recommended)
    1. Ensure each alarm is Enabled.
    2. 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.
    3. Confirm that:
      • The alarm changes to FIRING in the Alarms list when condition is met.
      • A notification is actually received at the configured endpoint.
  5. 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>
    • If you lack permission to select topics, contact your tenancy administrator to add the appropriate policies.
Once each active OCI Monitoring alarm has a configured Notifications topic with at least one Active subscription, the “Monitoring Should Have Active Notification Topic Configured” finding will be remediated.
Below is a concise, CLI‑only flow to ensure OCI Monitoring Alarms have an active Notification Topic configured.You will:
  1. Find (or create) a Notification Topic
  2. (Optionally) add a Subscription to that topic
  3. Associate the topic with the Monitoring Alarm using --destinations

1. Set common variables

Adjust these to your environment:
Ensure your OCI CLI is configured (oci setup config) and using the correct region.

2. Check the current Alarm configuration

If 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

If you see no rows, create one.

3.2. Create a new topic

Save the returned OCID:
If you already had a topic, set:

Example: email subscription
The recipient must confirm the subscription from the email sent by OCI.

5. Attach the Notification Topic to the Alarm

Get the current alarm definition (JSON) so you don’t accidentally overwrite other fields:
Edit alarm.json minimally:
  • Ensure destinations includes the topic OCID
  • Do not remove required fields (compartmentId, namespace, query, resolution, severity, isEnabled, displayName, etc.).
Example destinations entry:
If 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:
If you want to preserve multiple existing destinations:
  1. Fetch them:
  2. Combine with the new one (ensuring uniqueness) and pass in as JSON.
Example (simple overwrite with two known topics):

7. Verify

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.
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:
  • You have oci Python SDK installed: pip install oci
  • You use a config file at ~/.oci/config with a profile called DEFAULT
  • 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)

If you already have a topic, just set topic_ocid to that topic’s OCID.
You’ll need to confirm the subscription via email for it to become ACTIVE.

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.
This ensures your OCI Monitoring alarm has an active notification topic and clears the “OCI Monitoring Should Have Active Notification Topic Configured” finding.
This does not force replacement of existing alarms unless you are changing immutable fields (e.g., alarm 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 of oci_ons_notification_topic.monitoring_alerts_topic
  • + creation of any oci_ons_subscription resources you’ve added
  • ~ update of each oci_monitoring_alarm to include the topic ID in destinations.