Academy

Module 2 Β· Azure Resource Hardening πŸ”’

Manish Garg
Manish Garg Associate CISSP Β· RingSafe
April 22, 2026
4 min read

Beyond Entra ID, Azure has its own resource-management plane (ARM), data-plane services (Storage, SQL, Cosmos DB, Key Vault), networking, and compute. Securing an Azure subscription requires understanding the role-based access control model, the network options, and the data-plane-specific gotchas. This module covers the practical hardening checklist for Azure subscriptions.

The two access planes

  • Management (ARM) plane: creating/modifying/deleting Azure resources. RBAC roles like Contributor, Owner, Reader
  • Data plane: reading/writing data within resources. Storage Blob Data Reader, Key Vault Secrets User, etc. Per-resource granular roles

Common misconfiguration: granting Owner at subscription scope when narrow data-plane access would suffice. Owner = create/delete anything in the scope.

RBAC hierarchy

MANAGEMENT GROUP (e.g., "Contoso")
  └─ SUBSCRIPTION (e.g., "Production")
      └─ RESOURCE GROUP (e.g., "rg-app-prod")
          └─ RESOURCE (e.g., a specific storage account)

# Permissions inherit downward. Granting Reader at subscription = Reader on every
# RG and resource in it. Always grant at narrowest scope possible.

Built-in roles to know

  • Owner β€” full control + can grant access to others. Equivalent to root
  • Contributor β€” full control except access management. Common for engineering
  • Reader β€” read-only at the management plane. Cannot read data within services
  • User Access Administrator β€” manage RBAC. Combine with Contributor for effective Owner
  • Specific data roles β€” Storage Blob Data Reader/Contributor, Key Vault Secrets User, SQL DB Contributor

Network security

Virtual Networks (VNets) and subnets

  • Default-deny inbound from Internet via Network Security Groups (NSGs)
  • Subnet-level NSGs for east-west segmentation
  • Service Endpoints route traffic to PaaS services over Microsoft backbone (skip Internet)
  • Private Endpoints β€” preferred over Service Endpoints; PaaS gets a private IP in your VNet

Public exposure controls

  • Disable public network access on storage, SQL, Key Vault β€” use Private Endpoints
  • Azure Firewall or third-party NVA at perimeter for hub-spoke architectures
  • Just-in-Time VM access for management (RDP/SSH only opened on request)
  • Bastion host instead of public RDP/SSH

Network monitoring

  • NSG flow logs to Log Analytics β€” east-west visibility
  • Azure Firewall logs centrally analyzed
  • Network Watcher for connection troubleshooting

Storage account hardening

  • Disable public blob access at account level
  • Disable shared key access β€” use Entra ID auth + RBAC
  • Disable storage account keys altogether or rotate frequently
  • Customer-managed encryption keys (CMK) via Key Vault
  • Soft delete + versioning for blobs
  • Private Endpoint for VNet access only
  • SAS tokens β€” short TTL, narrow scope, never long-lived in code

Azure Key Vault

  • RBAC mode (preferred) over Access Policies (legacy)
  • Soft delete + purge protection enabled
  • Separate vaults per environment (no cross-env access)
  • Audit logs to Log Analytics
  • Network restrictions β€” Private Endpoint or specific IP allowlist
  • HSM-backed keys for high-sensitivity workloads

Azure SQL hardening

  • Entra ID authentication only; disable SQL auth where possible
  • Transparent Data Encryption with CMK
  • Always Encrypted for column-level encryption (sensitive PII)
  • Defender for SQL β€” Advanced Threat Protection
  • Auditing to a storage account or Log Analytics
  • Private Endpoint; disable public network access
  • IP firewall as backstop if public must be enabled

Azure Policy and Defender for Cloud

  • Azure Policy β€” enforces configuration rules. Built-in initiatives for CIS, NIST, ISO baselines. Deny resources that don’t meet policy at deploy time
  • Defender for Cloud β€” continuous posture management; secure score; threat detection. Free tier covers basic posture; paid tier adds runtime protection per workload type
  • Azure Sentinel β€” SIEM/SOAR; ingest Azure activity, sign-ins, third-party

Cost controls as a security control

Compromised credentials often used for cryptomining β€” running expensive VM SKUs across regions. Mitigations:

πŸ” Intermediate Module Β· Basic Tier

Continue reading with Basic tier (β‚Ή499/month)

You've read 60% of this module. Unlock the remaining deep-dive, quiz, and every other Intermediate module.

99+ modulesAll levels up to this tier
20-question quizzesUnlimited retries with explanations
Completion certificatesShareable on LinkedIn