Azure Security Solution

Azure Security Assessment: Audit Your Azure Environment

An Azure security assessment finds the misconfigurations and compliance gaps across Entra ID, Storage, Key Vault, and your subscriptions that lead to breaches. With Prowler Cloud you can connect your Azure subscription, run hundreds of security checks, and get prioritized, fixable findings in minutes. No agents, read-only access, no credit card.


TL;DR

To run an Azure security assessment, create a read-only service principal in Microsoft Entra ID, give it the Reader role plus the custom ProwlerRole on your subscription, and connect it to Prowler Cloud with your Tenant ID, Client ID, and Client Secret. Prowler checks hundreds of Azure controls across Entra ID, Storage, Key Vault, network security groups, VMs, SQL, Defender for Cloud, and AKS, then maps every finding to frameworks like the CIS Microsoft Azure Foundations Benchmark, SOC 2, ISO 27001, and PCI DSS. Prowler is the most widely adopted open source cloud security platform, with 45M+ downloads and 14,000+ GitHub stars, so you can read every check before you run it. First results appear in minutes, free, no credit card required.

The Challenge: Azure Identity and Sprawl Are Hard to See Into

Azure spreads security across two planes that most teams struggle to hold in their head at once: the resource plane (subscriptions, Storage, Key Vault, VMs, SQL) and the identity plane (Microsoft Entra ID, formerly Azure AD). A single weak spot in either, an overprivileged Entra role, a Storage account with public blob access, a network security group open to the internet, or a Key Vault without soft delete, is enough to turn into an incident.

Azure is also where a large and growing share of workloads live. In Prowler's State of Cloud Security 2026 report, a survey of 633 security professionals, 28% named Azure as their primary cloud provider, second only to AWS. That same report found security teams handle an average of 71 incidents per week, over 3,600 a year, and most of that time goes to manual triage rather than fixing root causes.

Visibility is the core problem. Only 31% of teams rate their cloud visibility as better than "average," and identity is the hardest part. Entra ID role assignments, group memberships, conditional access policies, and subscription RBAC layer on top of each other, so working out who can actually do what takes real time. Most environments have hundreds of identities and dozens of subscriptions. You cannot assess that by hand.

Detection is no longer the hard problem. What is broken is everything after the finding shows up: gathering context, re-triaging, and stitching together what a misconfiguration actually means. A good Azure security assessment does that work for you and tells you the three things that matter right now, not the 2,000 that do not.

What Is an Azure Security Assessment?

An Azure security assessment is a systematic review of your Azure environment against security best practices and compliance requirements. It inventories your resources and identities and checks each one for misconfigurations, excessive permissions, missing encryption, disabled logging, and exposure to the public internet.

A thorough Azure assessment covers these areas:

  • Identity and access (Microsoft Entra ID) Overprivileged directory roles, missing MFA on privileged accounts, guest user sprawl, stale credentials, and weak conditional access policies.
  • Storage exposure Storage accounts allowing public blob or container access, missing encryption, insecure transfer disabled, and shared key access left on.
  • Secrets and key management Key Vaults without soft delete or purge protection, missing access policies, and secrets without expiration.
  • Network configuration Network security groups allowing 0.0.0.0/0 on sensitive ports like SSH (22) and RDP (3389), unrestricted inbound rules, and public IPs on sensitive resources.
  • Data services SQL Server and database firewalls open to all, auditing disabled, transparent data encryption off, and Cosmos DB or MySQL without restricted access.
  • Logging, monitoring, and Defender Activity and diagnostic logs disabled, Microsoft Defender for Cloud plans turned off, and missing alerting, leaving you blind to activity.
  • Compliance posture Whether your environment meets the controls required by the CIS Azure Foundations Benchmark, SOC 2, ISO 27001, PCI DSS, HIPAA, and other frameworks.

How to Run an Azure Security Assessment with Prowler Cloud

Here is the full process, start to finish. Prowler Cloud uses a read-only service principal, so it can assess your environment but never change anything. You can get your first results in minutes.

  1. Create a free Prowler Cloud account Sign up at cloud.prowler.com. Prowler Cloud is free to try and needs no credit card.
  2. Get your Azure Subscription ID In the Azure Portal, search for "Subscriptions," then locate and copy the Subscription ID you want to assess. Prowler scans within the subscription scope, so this is what defines the boundary of the assessment.
  3. Create a Prowler service principal in Microsoft Entra ID In Microsoft Entra ID, open "App registrations," choose "New registration," name it (for example "ProwlerApp"), and click "Register." Then go to "Certificates & secrets," add a "New client secret," and copy its value. You now have the three credentials Prowler needs: Client ID, Tenant ID, and Client Secret.
  4. Grant read-only Microsoft Graph permissions for Entra ID checks On the app registration, open "API permissions," add "Microsoft Graph" application permissions AuditLog.Read.All, Directory.Read.All, and Policy.Read.All, then grant admin consent. These are read-only and let Prowler run the Entra ID identity checks.
  5. Assign Reader and ProwlerRole at the subscription level In your subscription's "Access control (IAM)," assign the built-in Reader role to the service principal. Then create and assign the custom ProwlerRole, a minimal read-only role that adds a couple of permissions the Reader role does not include for specific checks. Both are read-only, so Prowler can read your configuration but cannot modify, create, or delete resources.
  6. Add the subscription and credentials to Prowler Cloud In Prowler Cloud, choose "Add Provider," select "Microsoft Azure," enter the Subscription ID and an optional alias, then paste the Tenant ID, Client ID, and Client Secret from your service principal.
  7. Launch your first scan Click "Launch Scan." Prowler runs hundreds of Azure security checks across Entra ID, Storage, Key Vault, networking, VMs, SQL, Defender for Cloud, AKS, and more. There are no agents to install and no impact on your workloads. First results appear in minutes.
  8. Review and prioritize the findings Open the findings dashboard, sort by severity, and filter by framework such as the CIS Microsoft Azure Foundations Benchmark, SOC 2, ISO 27001, or PCI DSS. Use attack paths to see how an exposed Storage account plus an over-privileged Entra role becomes a real route to your data, so you spend your time on the handful of issues that actually matter rather than the full backlog.
  9. Remediate the findings For each issue, Prowler Cloud shows the affected resource and the fix. Use Lighthouse AI to generate remediation as an Infrastructure as Code change (Bicep or Terraform), an Azure CLI command, a cloud-native control, or guided manual steps, so you go from "here is the problem" to "here is the fix." To automate it end to end, the Prowler plugin for Claude Code finds the misconfigurations, prioritizes them by blast radius from the attack-path graph, opens the pull requests that fix them, and re-scans to confirm each one cleared.
  10. Rescan and prove it Re-run the scan to confirm each issue is closed, capture before and after posture, and export audit-ready evidence mapped to the CIS Microsoft Azure Foundations Benchmark, SOC 2, ISO 27001, and PCI DSS. The Prowler plugin for Claude Code keeps a versioned audit trail of every fix under .prowler/ in your repo, so every change is reproducible when your auditor asks.
  11. Track ownership and schedule recurring scans Assign owners and SLAs to findings, set exceptions for accepted risks, and turn on daily scheduled scans that route findings to Slack, Jira, email, or your SIEM. Accountability stays clear and drift gets caught within hours across all your subscriptions.
Why read-only matters: Prowler never needs write access to assess your environment. The service principal only reads configuration, so you get full visibility without handing a third party the ability to change your infrastructure. Because Prowler is open source, you can inspect exactly what every check does before you run it.

The DART-P Framework: From Visibility to Verified Risk Reduction

DART-P helps SecOps teams move from cloud visibility to verified risk reduction: discover what exists, assess what matters, remediate what is risky, track accountability, and prove control effectiveness. Here is how each stage maps to your Azure environment with Prowler Cloud.

🔍

Discover

Inventory your subscriptions, Entra ID identities, Storage accounts, Key Vaults, network security groups, VMs, SQL, AKS, and Defender configuration. A read-only service principal connects in minutes and Prowler builds the full picture of what exists and who owns it.

⚖️

Assess

Evaluate misconfigurations, compliance gaps, and exploitability against the CIS Azure Foundations Benchmark, SOC 2, ISO 27001, and PCI DSS. Attack paths connect an exposed Storage account to an over-privileged Entra role so you see real business impact, not just a flat list.

🔧

Remediate

Fix what is risky. Lighthouse AI generates remediation as Bicep or Terraform, Azure CLI, cloud-native controls, or guided manual steps. The Prowler plugin for Claude Code automates the whole loop, opening fix pull requests and re-scanning to confirm each check cleared.

📋

Track

Manage owners, SLAs, exceptions, status, and trends across every subscription. Route findings to Slack, Jira, or your SIEM, set exceptions for accepted risks, and keep a versioned audit trail under .prowler/ so accountability never slips.

Prove

Rescan to confirm issues are closed, show before and after posture, and export audit-ready evidence mapped to your Azure frameworks. Prove control effectiveness to auditors and leadership without assembling spreadsheets the night before.


Automate Your Azure SecOps Workflow with Claude Code

Detection is solved. What eats your team's time is the glue work between a finding and a verified fix. The Prowler plugin for Claude Code automates the entire DART-P loop: it pulls findings across your connected Azure subscriptions, prioritizes them by severity, framework relevance, and blast radius from the attack-path graph, proposes fixes with exact Terraform, Azure CLI, or console steps and their reversibility, opens pull requests, tracks progress in versioned markdown reports under .prowler/, and re-scans to confirm each check cleared.

Install it from the Claude Code plugin marketplace:

/plugin marketplace add prowler-cloud/prowler
/plugin install prowler@prowler-plugins

It needs a Prowler Cloud account and an API key from cloud.prowler.com/profile. Then drive it with a high-level goal like "Make my Azure subscription compliant with CIS Azure." Because it grounds recommendations in Prowler's open-source check logic and Prowler Hub remediation, every fix is auditable and reproducible. You can run it Claude-assisted to review each fix, or autonomous for one consolidated plan grouped by root cause.

Where the plugin fits: Lighthouse AI and the Prowler plugin for Claude Code are the remediation and automation layer on top of Prowler Cloud. To get started, the primary path is still to try Prowler Cloud free and connect your first subscription.

Key Capabilities for Azure Assessments

Prowler does more than list findings. It is built to do the work that usually eats your team's time.

👤

Entra ID and Identity Analysis

Finds overprivileged directory roles, missing MFA on admins, guest sprawl, and weak conditional access. Prowler untangles the Entra ID and RBAC layers that take engineers real time to evaluate by hand.

📦

Storage and Blob Exposure

Detects Storage accounts with public blob access, missing encryption, insecure transfer, and shared key access across every account, a common cause of Azure data leaks.

🔑

Key Vault and Secrets Checks

Flags Key Vaults without soft delete or purge protection, secrets without expiration, and weak access policies, so your secrets stay recoverable and locked down.

📊

Attack Path Awareness

Connects findings to show how a public Storage account plus an over-privileged Entra role becomes a real path to your data, so you fix what actually matters first.

📋

Compliance Mapping

Every check maps to frameworks like CIS Azure, SOC 2, ISO 27001, PCI DSS, and HIPAA. Filter results by standard and export audit-ready evidence in a click.

🔄

Continuous, Scheduled Scans

Daily scans catch drift as soon as it happens across your subscriptions. Findings flow to Slack, Jira, and your SIEM so they land where your team already works.


Azure Services Prowler Assesses

Prowler runs hundreds of checks across 22 Azure service areas where misconfigurations actually happen. A sample of what gets assessed:

Area Azure Services Checked Example Findings
Identity Microsoft Entra ID, IAM (RBAC) Overprivileged roles, no MFA on admins, guest sprawl
Storage Storage accounts, Recovery Services (backup) Public blob access, no encryption, no backups
Secrets Key Vault No soft delete or purge protection, secrets without expiry
Network Network (NSGs), VM, API Management Open SSH/RDP, public IPs, unrestricted inbound rules
Data SQL Server, PostgreSQL, MySQL, Cosmos DB, Databricks Open DB firewalls, auditing off, encryption disabled
Detection Defender for Cloud, Monitor, Logs, App Insights, Policy Defender plans off, diagnostic logs disabled, no alerting
Compute VM, App Service, AKS, Container Registry, AI Search Public clusters, unmanaged disks, exposed registries

Want the exact logic behind any check? Every Azure check, its severity, and its remediation steps are published on the Prowler Hub. That transparency is something closed-source Azure scanners cannot offer.


Compliance Frameworks for Azure

Most teams run an Azure security assessment because an auditor is asking for evidence. Prowler maps your Azure findings to dozens of frameworks automatically, so you can prove your posture instead of assembling spreadsheets the night before.

CIS AzureFoundations Benchmark
SOC 2Trust service criteria
ISO 27001:2022Infosec management
PCI DSS v4.0Payment card security
HIPAAHealthcare data
NIS2EU security directive
MITRE ATT&CKThreat coverage
ThreatScoreProwler for Azure

The CIS Microsoft Azure Foundations Benchmark is the most common starting point, and Prowler supports multiple versions through v5.0. Need to go deeper on a single framework? See the guide to automated SOC 2 cloud compliance or browse the full list of frameworks in the Prowler documentation.


Why Teams Trust Prowler for Azure Security

Prowler is an open cloud security platform built by a community of 300+ contributors. It is used by security teams from startups to enterprises to assess Azure, AWS, GCP, Kubernetes, and Microsoft 365 from one place. If you also run AWS, see the companion guide to running an AWS security audit.

45M+ Downloads
14K+ GitHub Stars
22 Azure Service Areas
70+ Compliance Frameworks
Minutes To First Results

Open Source Transparency

Prowler is open source under Apache 2.0. You can read every Azure check on the Prowler Hub before you run it. No black boxes when your auditor asks how a control was validated.

Read-Only by Design

The service principal uses the built-in Reader role plus a minimal read-only ProwlerRole. Prowler reads your configuration to assess it and never makes changes to your environment.

Built for Multiple Subscriptions

Onboard multiple Azure subscriptions and tenants and assess them from one place, with centralized findings and compliance reporting across your whole estate.

10x Cost Efficiency

By leveraging open source, Prowler Cloud delivers up to 10x cost efficiency versus black box commercial CSPM tools, with the same or better Azure coverage. Learn more about what CSPM is.


Frequently Asked Questions

What is an Azure security assessment?

An Azure security assessment is a systematic review of your Azure environment against security best practices and compliance requirements. It checks Microsoft Entra ID identity and access, Storage account exposure, Key Vault configuration, network security groups, virtual machines, SQL databases, and hundreds of other controls to find misconfigurations before attackers do. With Prowler Cloud you can run a full Azure security assessment in minutes using a read-only service principal.

How do I audit my Azure environment for security issues?

Create a read-only service principal in Microsoft Entra ID, assign it the Reader role plus the custom ProwlerRole on your subscription, connect it to Prowler Cloud with your Tenant ID, Client ID, and Client Secret, then run a scan. Prowler runs hundreds of Azure-specific checks mapped to frameworks like the CIS Microsoft Azure Foundations Benchmark, SOC 2, ISO 27001, and PCI DSS. Each finding tells you the affected resource, the severity, and how to fix it. You can sign up free with no credit card.

What permissions does Prowler need to assess my Azure subscription?

Prowler uses read-only access. At the subscription level it needs the built-in Reader role plus a custom ProwlerRole that adds a small set of read-only actions the Reader role does not cover for specific checks. For Microsoft Entra ID identity checks, the service principal also needs the Microsoft Graph application permissions AuditLog.Read.All, Directory.Read.All, and Policy.Read.All with admin consent. Prowler never gets write access to your resources.

Is there a free Azure security assessment tool?

Yes. Prowler is the most widely adopted open source cloud security platform, with over 45 million downloads and 14,000+ GitHub stars, and it is free and open source under the Apache 2.0 license. Prowler Cloud, the managed SaaS version, is free to try with no credit card required and runs the same Azure security checks as a hosted service.

Which Azure services and compliance frameworks does Prowler cover?

Prowler assesses 22 Azure service areas, including Microsoft Entra ID, Storage, Key Vault, networking and NSGs, virtual machines, SQL Server and databases, Cosmos DB, AKS, App Service, Defender for Cloud, Container Registry, and monitoring. Findings map to frameworks such as the CIS Microsoft Azure Foundations Benchmark, SOC 2, ISO 27001 2022, PCI DSS v4.0, HIPAA, NIS2, MITRE ATT&CK, and the Prowler ThreatScore for Azure.

Can Prowler assess multiple Azure subscriptions and tenants?

Yes. Prowler can scan every subscription a service principal has access to, and Prowler Cloud lets you onboard multiple subscriptions and tenants and assess them from a single place, with centralized findings and compliance reporting. By default Prowler audits all subscriptions it can reach, and you assign the Reader and ProwlerRole roles per subscription you want included.

How do I fix the Azure issues Prowler finds?

You have two paths. With Lighthouse AI inside Prowler Cloud, each finding comes with generated remediation, whether that is a Bicep or Terraform change, an Azure CLI command, a cloud-native control, or guided manual steps, so you go from "here is the problem" to "here is the fix." To automate it end to end, the Prowler plugin for Claude Code finds the misconfigurations across your subscriptions, prioritizes them by blast radius, opens the pull requests that fix them, keeps a versioned audit trail under .prowler/, and re-scans to confirm each one cleared.


Assess Your Azure Environment in Minutes

Prowler Cloud is free to try. Connect your Azure subscription with a read-only service principal and get a full security and compliance assessment in minutes. No credit card required.