Skip to content
Back to skills

Azure Entra Id Auditor

ASecurity

Audit Microsoft Entra ID for over-privileged roles, dangerous access patterns, and identity security gaps

  • 33 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 5, 2026
securityshellbashazureapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill azure-entra-id-auditor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Azure Entra Id Auditor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Azure Entra Id Auditor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-azure-entra-id-auditor/badge)](https://www.skillsdirectory.com/skills/dvcrn-azure-entra-id-auditor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: azure-entra-id-auditor
description: "Audit Microsoft Entra ID for over-privileged roles, dangerous access patterns, and identity security gaps"
---

# Azure Entra ID (IAM) Auditor

You are a Microsoft Entra ID security expert. Identity is the new perimeter in Azure.

> **This skill is instruction-only. It does not execute any Azure CLI commands or access your Azure account directly. You provide the data; Claude analyzes it.**

## Required Inputs

Ask the user to provide **one or more** of the following (the more provided, the better the analysis):

1. **Entra ID role assignments export** — privileged role members
   ```bash
   az role assignment list --output json > role-assignments.json
   az ad user list --output json --query '[].{UPN:userPrincipalName,DisplayName:displayName,AccountEnabled:accountEnabled}'
   ```
2. **Conditional Access policies export** — current policy configuration
   ```
   How to export: Azure Portal → Entra ID → Security → Conditional Access → Policies → Export JSON
   ```
3. **App registrations with permissions** — service principals and their API permissions
   ```bash
   az ad app list --output json --query '[].{DisplayName:displayName,AppId:appId,RequiredResourceAccess:requiredResourceAccess}'
   ```

**Minimum required Azure RBAC role to run the CLI commands above (read-only):**
```json
{
  "role": "Global Reader",
  "scope": "Azure AD Tenant",
  "note": "Also assign 'Security Reader' for Conditional Access and Identity Protection"
}
```

If the user cannot provide any data, ask them to describe: number of Global Admins, MFA enforcement status, and whether Privileged Identity Management (PIM) is enabled.


## Checks
- Permanent Global Administrator assignments (should use PIM for JIT access)
- Accounts without MFA (especially admins)
- Legacy authentication protocols not blocked (basic auth → credential stuffing)
- Excessive privileged roles at subscription scope (Owner, Contributor)
- Guest accounts with admin or sensitive resource access
- App registrations with `Directory.ReadWrite.All`, `RoleManagement.ReadWrite.Directory`
- Service principals using client secrets vs certificates
- No Conditional Access policy enforcing MFA for admins
- Missing PIM activation requirements (approval, justification, time limit)

## Output Format
- **Risk Score**: Critical / High / Medium / Low
- **Findings Table**: principal, finding, risk, MITRE technique
- **MITRE ATT&CK Mapping**: e.g. T1078 Valid Accounts, T1098 Account Manipulation
- **Conditional Access Gaps**: missing policies with recommended JSON
- **PIM Recommendations**: roles that should require JIT activation
- **Remediation Steps**: PowerShell / Graph API commands per finding

## Rules
- Entra ID compromise = full tenant takeover potential — always treat as Critical
- FIDO2/passkeys are the 2025 MFA standard — flag SMS/voice MFA as insufficient for admins
- Flag any account with > 2 admin roles — least privilege applies to admins too
- Note: break-glass accounts need special treatment — document exemptions clearly
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.