Chapter 6 of 6 · Validation and operations

Defender for AI services, Sentinel detections, and shadow AI discovery

Optional module · Draft 4.5 hours

Chapter 6 of 6

Confirm the result#

Check the Defender plan and the Sentinel rule:

PowerShell

az resource show `
  --ids "/subscriptions/$targetSubscriptionId/providers/Microsoft.Security/pricings/AI" `
  --query "{name:name,tier:properties.pricingTier,extensions:properties.extensions}" `
  --output jsonc `
  --only-show-errors

az rest `
  --method get `
  --url "https://management.azure.com/subscriptions/$targetSubscriptionId/resourceGroups/$sentinelResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/$sentinelWorkspaceName/providers/Microsoft.SecurityInsights/alertRules/e5f6a7b8-c9d0-41e2-f3a4-b5c6d7e8f9a0?api-version=2025-09-01" `
  --query "{displayName:properties.displayName,enabled:properties.enabled,severity:properties.severity}" `
  --output jsonc `
  --only-show-errors

Bash

az resource show \
  --ids "/subscriptions/${target_subscription_id}/providers/Microsoft.Security/pricings/AI" \
  --query '{name:name,tier:properties.pricingTier,extensions:properties.extensions}' \
  --output jsonc \
  --only-show-errors

az rest \
  --method get \
  --url "https://management.azure.com/subscriptions/${target_subscription_id}/resourceGroups/${sentinel_resource_group_name}/providers/Microsoft.OperationalInsights/workspaces/${sentinel_workspace_name}/providers/Microsoft.SecurityInsights/alertRules/e5f6a7b8-c9d0-41e2-f3a4-b5c6d7e8f9a0?api-version=2025-09-01" \
  --query '{displayName:properties.displayName,enabled:properties.enabled,severity:properties.severity}' \
  --output jsonc \
  --only-show-errors

The Defender plan shows pricingTier as Standard. The extension states match the approved decision record. The Sentinel rule is enabled and named Copilot - Jailbreak Attempt Detected. The Defender for Cloud Apps owner confirms that every Unsanctioned app in the JSON record carries the Unsanctioned tag in the portal.

Stop the module if the plan is not Standard, if an extension differs from the privacy decision, if the analytics rule is disabled, if the workspace is wrong, or if a portal tag differs from the recorded decision.

After implementation#

What remainsOwner
Defender for Cloud AI services plan and extension decisionsDefender for Cloud owner and privacy owner
Defender XDR routing and AI alert triageSOC owner
Sentinel Copilot jailbreak rule and hunting querySentinel owner
Defender for Cloud Apps generative AI app tags and policy stateDefender for Cloud Apps owner
Shadow AI monitor-to-block promotion decisionSecurity operations owner
KQL reporting and runbook linksSOC reporting owner

Restore through the owning change paths:

  1. Redeploy defender-ai-plan.bicep with the approved extension values, or turn the AI services plan off only when the Defender for Cloud owner approves that change.
  2. Disable or remove only the module-owned Sentinel analytics rule and saved search when the SOC owner approves it.
  3. Revert Sanctioned or Unsanctioned tags in Defender for Cloud Apps through the portal using the restore reference in shadow-ai-sanction-decisions.json.
  4. Keep existing alerts and Sentinel data for the workspace retention period. Do not delete incident records to undo this module.

Optional module

Defender for AI services, Sentinel detections, and shadow AI discovery slide deck