azure-mg-root-tenant-link

explicit azure emits Contains

match (record)

{ "field": "properties.details.parent == null", "resource_type": "Microsoft.Management/managementGroups" }

where

management group id == Entra tenant id (root Tenant Root Group)

emit

source typeAdministrativeBoundary
target type*
source<tenant node>
target<root management group node>

Narrative

Tenant {tenant.name} contains the root management group {rootmg.name} (ID == tenant ID).

Raw rule rules/explicit/azure-mgmtgroups.yaml

id: azure-mg-root-tenant-link
emits: Contains
applies_to:
- azure
match_record:
  resource_type: Microsoft.Management/managementGroups
  field: properties.details.parent == null
where:
- management group id == Entra tenant id (root Tenant Root Group)
emit:
  source_type: AdministrativeBoundary
  target_type: '*'
  source: <tenant node>
  target: <root management group node>
  api_source: Microsoft.Management/managementGroups GET | getEntities
  evidence_field: id
  note: The root MG (display name 'Tenant Root Group') has ID == Entra tenant ID and no parent; it is
    the tenant control root. Anything assigned here applies to the entire directory. Modeled as Tenant
    Contains rootMG so descent from the tenant reaches all MGs.
  narrative: Tenant {tenant.name} contains the root management group {rootmg.name} (ID == tenant ID).
move · open · esc close