turbot/steampipe-mod-azure-compliance

Control: 2.8 Ensure that Microsoft Defender for Key Vault is set to 'On'

Description

Enabling Azure Defender threat detection for Key Vault, providing threat intelligence, anomaly detection, and behavior analytics in the Azure Security Center. It also allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC).

Remediation

From Console

Perform the following action to check Azure Defender is set to On for Key Vault:

  1. Go to Microsoft Defender for Cloud
  2. Select Environment Settings blade
  3. Click on the subscription name
  4. Select the Defender plans blade
  5. On the line in the table for Storage Select On under Plan
  6. Select Save

From Command Line

Command to enable Azure defender for Key Vault

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/pricings/StorageAccounts?api-version=2018-06-01 -d@"input.json"'

Where input.json contains the request body json data as mentioned below

{
"id":"/subscriptions/<Your_Subscription_Id>/providers/Microsoft.Security/pricings/KeyVaults",
"name":"KeyVaults",
"type":"Microsoft.Security/pricings",
"properties":{
"pricingTier":"Standard"
}
}

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.cis_v140_2_8

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run azure_compliance.control.cis_v140_2_8 --share

SQL

This control uses a named query:

select
sub_pricing.id as resource,
case
when pricing_tier = 'Standard' then 'ok'
else 'alarm'
end as status,
case
when pricing_tier = 'Standard' then 'Azure Defender on for Key Vaults.'
else 'Azure Defender off for Key Vaults.'
end as reason
, sub.display_name as subscription
from
azure_security_center_subscription_pricing sub_pricing
right join azure_subscription sub on sub_pricing.subscription_id = sub.subscription_id
where
name = 'KeyVaults';

Tags