Control: 9.1.14 Ensure that 'Notify about alerts with the following severity (or higher)' is enabled
Description
Enables emailing security alerts to the subscription owner or other designated security contact.
Enabling security alert emails ensures that security alert emails are sent by Microsoft. This ensures that the right people are aware of any potential security issues and can mitigate the risk.
Remediation
From Azure Portal
- From Azure Home select the Portal Menu.
 - Select 
Microsoft Defender for Cloud. - Under 
Management, selectEnvironment settings. - Click on the appropriate Subscription.
 - Click on 
Email notifications. - Under 
Notification types, check box next toNotify about alerts with the following severity (or higher)and select an appropriate severity level from the drop-down menu. - Click 
Save. - Repeat steps 1-7 for each Subscription requiring remediation.
 
From Azure CLI
Use the below command to enable Send email notification for high severity alerts:
az account get-access-token --query "{subscription:subscription,accessToken:accessToken}" --out tsv | xargs -L1 bash -c 'curl -X PUT -H "Authorization: Bearer $1" -H "Content-Type: application/json" [https://management.azure.com/subscriptions/<$0>/providers/Microsoft.Security/securityContacts/default1?api-version=2017-08-01-preview](https://management.azure.com/subscriptions/<$0>/providers/Microsoft.Security/securityContacts/default1?api-version=2017-08-01-preview) -d@"input.json"'
Where input.json contains the data below, replacing validEmailAddress with a single email address or multiple comma-separated email addresses:
{  "id": "/subscriptions/<subscriptionId>/providers/Microsoft.Security/securityContacts/default",  "name": "default",  "type": "Microsoft.Security/securityContacts",  "properties": {    "email": "<validEmailAddress>",    "alertNotifications": "On",    "alertsToAdmins": "On"  }}
Default Value
By default, subscription owners receive email notifications for high-severity alerts.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.cis_v400_9_1_14Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v400_9_1_14 --shareSQL
This control uses a named query:
with contact_info as (  select    count(*) filter (where alert_notifications = 'On') as notification_alert_count,    subscription_id  from    azure_security_center_contact  group by    subscription_id  limit 1)select  sub.subscription_id as resource,  case    when notification_alert_count > 0 then 'ok'    else 'alarm'  end as status,  case    when notification_alert_count > 0 then '"Notify about alerts with the following severity" set to High.'    else '"Notify about alerts with the following severity" not set to High.'  end as reason    , sub.display_name as subscriptionfrom  azure_subscription sub  left join contact_info ci on sub.subscription_id = ci.subscription_id;