
Security in Azure is not a single setting you flip on — it is a layered discipline that spans identity, networking, data protection, monitoring, and governance. This checklist distills the most impactful security practices into an actionable guide you can follow whether you are securing a single subscription or an enterprise landing zone. Every recommendation here maps to real Azure features you can configure today.
Think of Azure security like securing a building. Identity is the front door lock. Network security is the walls and fences. Data protection is the safe inside the vault. Monitoring is the security camera system. Governance is the building code that ensures every new floor follows the same standards.
Section 1: Identity and Access Management
Identity is the new perimeter. According to Microsoft's 2025 Digital Defense Report, over 99% of identity-based attacks could have been prevented with multi-factor authentication. Start here.
The Checklist
-
Enable multi-factor authentication (MFA) for all users, no exceptions. This single control blocks the vast majority of credential-based attacks. Use Microsoft Authenticator or FIDO2 security keys for phishing-resistant MFA. SMS-based MFA is better than nothing but is vulnerable to SIM-swapping attacks.
-
Implement Conditional Access policies. Conditional Access lets you enforce different authentication requirements based on context: user location, device compliance, application sensitivity, and risk level. At minimum, create policies that require MFA for all admin portal access, block legacy authentication protocols, require compliant devices for sensitive applications, and enforce session time limits for high-privilege roles.
-
Use Privileged Identity Management (PIM) for all admin roles. PIM provides just-in-time role activation, meaning admins do not have standing permissions. They request activation for a specific duration (e.g., 4 hours) with a justification. This dramatically reduces the window of opportunity for compromised admin accounts.
-
Follow the principle of least privilege across all RBAC assignments. Audit your role assignments quarterly. Remove any Contributor or Owner roles that should be scoped to a specific resource group rather than a subscription. Use custom roles when built-in roles grant more permissions than needed.
-
Disable Global Administrator accounts for daily use. Create dedicated break-glass accounts (2 minimum) with Global Admin rights, secured with hardware FIDO2 keys and stored in a physical safe. Regular admin work should use scoped roles like User Administrator, Security Administrator, or Application Administrator.
Legacy Authentication Is a Backdoor
Monitor Sign-In Logs
Section 2: Network Security
Network security in Azure follows a defense-in-depth model. You layer controls from the internet edge inward to individual resources.
The Checklist
-
Deploy Network Security Groups (NSGs) on every subnet. NSGs act as stateful firewalls at the subnet and NIC level. Default-deny inbound from the internet and only open ports you explicitly need. Every NSG rule should have a descriptive name, not "AllowPort443" but "Allow-HTTPS-From-AppGateway."
-
Use Application Security Groups (ASGs) to simplify rules. Instead of writing NSG rules with IP addresses, ASGs let you group VMs by role (web servers, database servers, management hosts) and write rules against those groups. When VMs change IPs, the rules still work.
-
Enable Azure Bastion for VM access — disable public SSH/RDP. Azure Bastion provides secure RDP and SSH access to VMs through the Azure portal over TLS, without exposing public IP addresses. It eliminates the most common attack vector for virtual machines.
-
Implement Private Endpoints for all PaaS services. Private Endpoints bring Azure services (Storage, SQL Database, Key Vault, Cosmos DB) into your VNet with a private IP address. This removes the public internet path entirely. In 2026, there is no reason for production PaaS services to be publicly accessible.
-
Deploy Azure Firewall or a third-party NVA for centralized egress filtering. Control what your workloads can reach on the internet. Azure Firewall Premium includes TLS inspection, IDPS, and URL filtering. Route all egress through the firewall using User Defined Routes (UDRs).
-
Enable Azure Web Application Firewall (WAF) on Application Gateway or Front Door. WAF protects web applications from OWASP Top 10 attacks including SQL injection, cross-site scripting, and request smuggling. Enable it in Prevention mode for production workloads.
Section 3: Data Protection
Data is what attackers ultimately want. Protect it at rest, in transit, and in use.
The Checklist
-
Ensure encryption at rest is enabled for all services. Azure encrypts data at rest by default using platform-managed keys (PMK). For sensitive workloads, upgrade to customer-managed keys (CMK) stored in Azure Key Vault. This gives you control over key rotation and the ability to revoke access.
-
Enforce TLS 1.2 or higher for all data in transit. Disable TLS 1.0 and 1.1 on all services that support the configuration: Storage accounts, App Services, SQL Databases, API Management. Azure Front Door and Application Gateway can enforce minimum TLS versions at the edge.
-
Use Azure Key Vault for all secrets, keys, and certificates. Never store secrets in code, environment variables on VMs, or configuration files in source control. Key Vault provides centralized secret management with access policies, audit logging, and automatic rotation for supported secrets.
-
Enable RBAC for Azure Storage instead of shared keys. Shared access keys grant full access to a storage account and cannot be scoped. Azure RBAC lets you grant specific permissions (read-only blob access, queue message sender) to specific identities. Disable shared key access on production storage accounts.
-
Implement soft delete and versioning for critical blob data. Soft delete keeps deleted blobs recoverable for up to 365 days. Versioning maintains previous versions of blobs automatically. Together, they protect against accidental deletion and ransomware that overwrites files.
Key Vault Access Policies vs RBAC
Section 4: Monitoring and Detection
Security controls are only effective if you can detect when they fail. Monitoring turns a breach from a disaster into an incident.
The Checklist
-
Deploy Microsoft Sentinel for centralized SIEM. Sentinel collects logs from Azure resources, Microsoft 365, on-premises systems, and third-party sources. It uses built-in AI and machine learning to detect threats, correlate alerts into incidents, and trigger automated response playbooks. Sentinel costs are based on data ingestion (~$2.46/GB for pay-as-you-go), so plan your log collection strategy carefully.
-
Enable Microsoft Defender for Cloud on all subscriptions. Defender for Cloud provides continuous security assessment, a Secure Score to track your posture, regulatory compliance dashboards, and workload-specific protections (Defender for Servers, Storage, SQL, Key Vault, Containers, App Service). The free tier provides basic security assessment. The paid tier ($15/server/month for Defender for Servers Plan 2) adds threat detection and vulnerability scanning.
-
Configure diagnostic settings on all critical resources. Send platform logs and metrics to a Log Analytics workspace. At minimum, enable diagnostics on: Network Security Groups (flow logs), Key Vault (access and audit logs), Azure SQL (audit and threat detection), Storage accounts (read, write, delete operations), and Azure Active Directory (sign-in and audit logs).
-
Set up action groups and alert rules for security events. Create alerts for: Key Vault access from unexpected IPs, NSG rule changes, role assignment changes (especially Owner and Contributor), resource deletions in production resource groups, and failed authentication spikes.
-
Run regular security assessments using Secure Score. Defender for Cloud assigns a Secure Score (0-100%) based on your implementation of security recommendations. Track this score over time and address high-impact recommendations first. The average enterprise Secure Score is around 53% — aim for 80%+.
Sentinel Free Data Sources
Section 5: Governance and Compliance
Governance ensures security is consistent across your entire Azure estate, not just the resources you remember to configure manually.
The Checklist
-
Implement Azure Policy for automated compliance. Azure Policy evaluates resources against rules and can audit, deny, or auto-remediate non-compliant configurations. Essential policies include: deny public IP creation on VMs, require HTTPS on storage accounts, enforce tag requirements (environment, owner, cost-center), deny resource creation outside approved regions, and require specific SKUs for cost control.
-
Use Management Groups to organize subscriptions. Management Groups create a hierarchy above subscriptions where you can apply Azure Policy and RBAC at scale. A typical structure includes a root management group, platform management group (for shared services), and workload management groups (for development, staging, production).
-
Enable Resource Locks on production resources. Resource Locks prevent accidental deletion (Delete lock) or modification (ReadOnly lock) of critical resources. Apply Delete locks to production resource groups, networking resources, Key Vaults, and shared services. Even subscription Owners cannot delete a locked resource without first removing the lock.
-
Enforce a tagging strategy. Tags enable cost allocation, automation, and compliance reporting. Require at minimum: environment (dev/staging/prod), owner (email of responsible team), cost-center (for billing), and data-classification (public/internal/confidential/restricted). Use Azure Policy to deny resource creation without required tags.
-
Conduct quarterly access reviews. Use Entra ID Access Reviews to automatically prompt managers to confirm or revoke their team's access to resources, groups, and applications. Stale permissions are one of the most common security gaps.
Start with Azure Landing Zones
The Priority Order
If you are starting from scratch, implement these controls in this order:
- MFA for all users (blocks 99%+ of identity attacks)
- Conditional Access to block legacy auth
- NSGs on all subnets (default deny inbound)
- Key Vault for all secrets
- Defender for Cloud (free tier)
- Azure Policy for tagging and region restrictions
- Resource Locks on production
- Private Endpoints for PaaS services
- Sentinel for centralized monitoring
- PIM for admin accounts
Each step builds on the previous one, and the first three steps alone dramatically reduce your attack surface.
Certification Path
The SC-200 (Microsoft Security Operations Analyst) certification validates skills in threat detection, incident response, and security monitoring with Microsoft Sentinel and Defender for Cloud. It is one of the most in-demand Azure security certifications in 2026.
Ready to Master Cloud Engineering?
Get access to hands-on labs, expert-led courses, and a supportive community.
Practice it hands-on
Labs where you can apply what this article covers, in a real environment.
Securing Azure Web Apps with Managed Identity and Key Vault
Store application secrets in Azure Key Vault and configure Managed Identity to securely retrieve them from App Service without exposing credentials.
cloudlearn.ioStart labSecure Web App with Managed Identity and Key Vault Challenge
Configure a web app to securely access secrets from Azure Key Vault using Managed Identity. Create secrets, configure access policies, and verify integration.
cloudlearn.ioStart labDeploying and Managing Azure Key Vault
Learn how to deploy and manage Azure Key Vault to securely store application secrets, encryption keys, certificates, and other sensitive data.
cloudlearn.ioStart lab





