Back to skills
SkillHub ClubRun DevOpsFull StackSecurity

azure-entra-id-auditor

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

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,087
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B81.2

Install command

npx @skill-hub/cli install openclaw-skills-entra-id-auditor

Repository

openclaw/skills

Skill path: skills/anmolnagpal/entra-id-auditor

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

Open repository

Best for

Primary workflow: Run DevOps.

Technical facets: Full Stack, Security.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install azure-entra-id-auditor into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding azure-entra-id-auditor to shared team environments
  • Use azure-entra-id-auditor for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: azure-entra-id-auditor
description: Audit Microsoft Entra ID for over-privileged roles, dangerous access patterns, and identity security gaps
tools: claude, bash
version: "1.0.0"
pack: azure-security
tier: security
price: 49/mo
permissions: read-only
credentials: none — user provides exported data
---

# 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



---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "anmolnagpal",
  "slug": "entra-id-auditor",
  "displayName": "Entra Id Auditor",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1772622263735,
    "commit": "https://github.com/openclaw/skills/commit/b05c681c17dd657377686ee177409167c33d45d6"
  },
  "history": []
}

```