Skip to main content

Azure Security & Identity

Security and identity are foundational pillars of any cloud architecture. Azure provides comprehensive tools and services for securing your resources, managing identities, and controlling access.

Azure Active Directory / Entra ID

Azure Entra ID (formerly Azure AD) is Microsoft's cloud identity and access management service.

Users and Groups

Users: Individual accounts with credentials for accessing Azure and applications.

  • Cloud-only accounts: Created directly in Entra ID
  • Synchronized accounts: Synced from on-premises Active Directory via Azure AD Connect
  • Guest accounts: External users with limited access

Groups: Collections of users for simplified access management.

  • Security groups: Used for assigning permissions
  • Distribution groups: For email communication
  • Microsoft 365 groups: Unified collaboration experience

Roles and Role-Based Access Control (RBAC)

RBAC grants permissions to perform actions on Azure resources. Three key role types:

Built-in Roles:

  • Owner: Full access, can manage access to resources
  • Contributor: Can create and manage all resources but cannot grant access
  • Reader: View-only access to all resources
  • Specific roles: Scoped to services (Virtual Machine Contributor, App Service Contributor, etc.)

Custom Roles: Define permissions tailored to organizational needs.

Role assignments specify: Who (user, group, service principal), What role, Where (scope: management group, subscription, resource group, resource).

Example assignment: Assign "App Service Contributor" role to a development team on a specific resource group.

Multi-Factor Authentication (MFA)

MFA requires two or more verification methods:

  1. Something you know (password)
  2. Something you have (phone, authenticator app)
  3. Something you are (biometric)

MFA methods in Azure:

  • Microsoft Authenticator app: Push notifications, OATH codes
  • Phone call: Voice verification
  • SMS text message: Code via text
  • Hardware token: Third-party authenticator devices

MFA is critical for protecting accounts from compromise.

Conditional Access

Conditional Access policies evaluate risk and enforce authentication requirements based on conditions:

Conditions evaluated:

  • User or group membership
  • Device state (compliant, trusted)
  • Location and IP risk
  • Application being accessed
  • Sign-in risk (unusual activity detected)

Enforcement actions:

  • Require MFA
  • Require password change
  • Require compliant device
  • Block access

Example policy: "Require MFA for all users accessing sensitive applications outside the corporate network."

Role-Based Access Control (RBAC)

RBAC is the primary authorization mechanism in Azure. Principles:

Principle of Least Privilege: Grant only the minimum permissions needed.

Separation of Duties: Different roles for different functions.

Scope Hierarchy: Inherited from parent to child scopes.

Management Group
└─ Subscription
└─ Resource Group
└─ Resource

Common RBAC Scenarios:

  • Grant subscription owner to team lead
  • Grant App Service Contributor to developers on a resource group
  • Grant Storage Blob Data Contributor to a data pipeline service principal
  • Grant Reader role for audit and compliance teams

Service Principals: Applications that need programmatic access use service principals with assigned roles.

Azure Key Vault

Azure Key Vault is a secure, centralized service for managing secrets, keys, and certificates.

Features

Secrets Management:

  • Store connection strings, API keys, passwords
  • Automatic rotation policies
  • Access auditing and logging

Cryptographic Keys:

  • Create or import keys
  • Hardware Security Module (HSM) backed options
  • Key operations: encrypt, decrypt, sign, verify

Certificates:

  • Automatic renewal
  • Integration with certificate authorities
  • Support for custom certificates

Access Control:

  • RBAC for service-level permissions
  • Access policies for granular secret/key/certificate permissions
  • Managed identities for Azure service access

Usage Pattern

az keyvault create --name myKeyVault --resource-group myRG --location eastus
az keyvault secret set --vault-name myKeyVault --name dbPassword --value mySecurePassword
az keyvault secret show --vault-name myKeyVault --name dbPassword

Applications retrieve secrets at runtime using managed identity, eliminating hardcoded credentials.

Network Security

Network Security Groups (NSGs)

NSGs act as virtual firewalls controlling inbound and outbound traffic.

NSG Rules:

  • Priority: Lower numbers evaluated first (100-4096)
  • Direction: Inbound or outbound
  • Access: Allow or Deny
  • Protocol: TCP, UDP, or wildcard
  • Port Range: Single port or range
  • Source/Destination: IP, CIDR, service tag, or application security group

Example inbound rule:

  • Priority: 100
  • Direction: Inbound
  • Access: Allow
  • Protocol: TCP
  • Port Range: 80, 443
  • Source: Internet (0.0.0.0/0)

NSGs can be associated with subnets (affects all resources) or individual network interfaces.

Service Endpoints

Service endpoints extend Azure virtual network identity to Azure services:

  • Allow VNet to connect securely to services without internet routing
  • Services: Azure Storage, SQL Database, Cosmos DB, Key Vault, etc.
  • Restricts service access to authorized VNets only
  • No data traverses the internet

Example: Configure Storage Account to accept traffic only from specific VNet service endpoint.

Private Endpoints

Private endpoints establish private connections to Azure services via Azure backbone network:

  • Private IP address in VNet for the service
  • No internet exposure
  • DNS integration for transparent connection
  • Services: Most Azure services support private endpoints

Benefits over service endpoints:

  • More granular control
  • Works across subscriptions and tenants
  • Better security isolation

Azure Firewall

Azure Firewall is a managed, stateful firewall service:

Capabilities:

  • Centralized protection for hub-and-spoke networks
  • Network and application-level filtering
  • Threat intelligence-based filtering
  • Built-in high availability and scalability
  • SNAT (Source Network Address Translation) for outbound connections

Rules:

  • Network rules: Layer 4 filtering (IP, port, protocol)
  • Application rules: Layer 7 filtering (FQDN, URLs, protocols)

Use case: Filter outbound traffic from multiple VNets through a central firewall.

Encryption

Encryption at Rest

Data stored on disk or in storage is encrypted using:

Azure Storage Service Encryption (SSE):

  • Automatic encryption of data in Blob, Files, Table, Queue storage
  • Uses 256-bit AES encryption
  • Keys managed by Microsoft (default) or customer (BYOK in Key Vault)

SQL Database Transparent Data Encryption (TDE):

  • Encrypts database files automatically
  • Prevents unauthorized disk access
  • Key management via Azure Key Vault

Disk Encryption:

  • Azure Disk Encryption: Encrypts OS and data disks on VMs using BitLocker or DM-Crypt
  • Supports key management via Key Vault

Cosmos DB Encryption:

  • Automatic encryption of data with Microsoft-managed keys
  • Customer-managed keys (CMK) option for additional control

Encryption in Transit

Data in motion is protected using:

TLS/SSL:

  • HTTPS for web traffic
  • TLS for database connections
  • Enforced by default for most Azure services
  • Minimum TLS 1.2 recommended

VPN/ExpressRoute:

  • Encrypted tunnels for hybrid connectivity
  • Site-to-site and point-to-site VPNs
  • ExpressRoute: Private, dedicated connections

Service-specific encryption:

  • Storage: Shared Access Signature (SAS) tokens with HTTPS
  • Messaging: Message encryption in Service Bus and Event Hubs
  • Database: Connection strings enforce encrypted connections

Azure Sentinel

Azure Sentinel is a cloud-native Security Information and Event Management (SIEM) service:

Capabilities:

  • Collect data from 1000+ sources (logs, events, alerts)
  • AI-powered threat detection and response
  • Automated incident response playbooks
  • Investigation and hunting tools
  • Compliance and security monitoring

Data Sources:

  • Azure services (VMs, App Service, SQL, Storage, etc.)
  • On-premises systems via Log Analytics agents
  • Third-party solutions (AWS, Google Cloud, Okta, etc.)
  • Syslog and CEF formats

Use Cases:

  • Detect and respond to security threats
  • Investigate security incidents
  • Monitor compliance requirements
  • Threat hunting across organizational data

Azure Defender / Security Center

Azure Defender (formerly Azure Security Center) provides threat protection across Azure resources:

Features:

  • Secure Score: Benchmark for security posture (0-800 points)
  • Recommendations: Prioritized security improvements
  • Threat Protection: Detects and alerts on suspicious activity
  • Compliance: Monitor compliance with standards (CIS, NIST, PCI-DSS)
  • Just-in-Time (JIT) VM Access: Time-limited port access for administrative tasks

Defender Plans (per resource type):

  • Defender for Servers: VMs, on-premises servers
  • Defender for App Service: Web and API apps
  • Defender for SQL: SQL databases and servers
  • Defender for Storage: Blob Storage, Files, Data Lake
  • Defender for Cosmos DB
  • Defender for Key Vault
  • Defender for Resource Manager
  • Defender for DNS

Enables EDR (Endpoint Detection and Response) and advanced threat analytics.

Azure DDoS Protection

Azure DDoS Protection shields applications from Distributed Denial of Service attacks:

Protection Tiers

Basic (Standard): Automatic protection for all Azure customers.

  • No additional cost
  • Protects against common network-layer attacks
  • Always-on monitoring

Standard: Enhanced DDoS protection for applications.

  • Additional cost per month
  • Protects against volumetric and protocol attacks
  • DDoS rapid response (DRR) support
  • Cost protection guarantees
  • Real-time attack metrics and analytics

Configuration:

  • Apply to public IPs of resources (load balancers, App Gateways, VMs)
  • Requires Network Watcher monitoring

Zero Trust Security Model

Azure supports Zero Trust principles:

Core Assumptions:

  • Never trust, always verify
  • Assume breach occurred
  • Minimize blast radius

Implementation:

  • Identity: Verify every user (Entra ID, MFA, Conditional Access)
  • Device: Ensure device compliance and health
  • Network: Microsegmentation with NSGs and firewalls
  • Encryption: Encrypt all data in transit and at rest
  • Visibility: Monitor and log all access and activity
  • Applications: Least privilege access to applications

Azure services supporting Zero Trust:

  • Azure Entra ID with Conditional Access
  • Azure Defender for comprehensive visibility
  • Azure Firewall for network segmentation
  • Key Vault for secrets management
  • Azure Sentinel for incident response

Azure Security Best Practices Checklist

Use this checklist to evaluate your Azure security posture:

Identity and Access

  • Enable MFA for all user accounts
  • Implement Conditional Access policies for critical applications
  • Use managed identities for Azure service authentication
  • Regularly audit and remove unused permissions
  • Enable Entra ID password protection and Smart Lockout
  • Use service principals with least privilege roles
  • Enable Entra ID sign-in and audit logging

Network Security

  • Configure NSGs with explicit allow rules (whitelist approach)
  • Enable Azure Firewall for centralized protection
  • Use service endpoints or private endpoints for Azure service access
  • Implement network segmentation with subnets and user-defined routes
  • Enable Azure DDoS Protection Standard for critical applications
  • Use Web Application Firewall (WAF) for web applications
  • Restrict RDP/SSH access to specific IPs (no 0.0.0.0/0)

Data Protection

  • Enable encryption at rest for all storage accounts and databases
  • Enforce TLS 1.2+ for data in transit
  • Use Azure Key Vault for secrets and encryption keys
  • Enable SQL Database Transparent Data Encryption (TDE)
  • Use Managed Disks with encryption enabled
  • Configure backup and disaster recovery
  • Implement data retention and archival policies

Monitoring and Compliance

  • Enable Azure Defender on all subscriptions
  • Configure Azure Sentinel for threat detection
  • Enable audit logging for all resources
  • Set up alerts for suspicious activity
  • Regularly review and address security recommendations
  • Enable compliance monitoring (CIS, NIST, PCI-DSS)
  • Conduct regular security assessments and penetration testing

Governance

  • Use Azure Policies to enforce organizational standards
  • Implement resource tagging for cost and compliance tracking
  • Use Management Groups for multi-subscription governance
  • Regularly review and update RBAC assignments
  • Enable subscription-level diagnostic logging
  • Implement budget and cost alerts

Application Security

  • Use Azure App Configuration for secure configuration management
  • Implement input validation and output encoding
  • Use SQL parameterized queries (prevent SQL injection)
  • Enable Web Application Firewall (WAF) on Application Gateway
  • Keep software dependencies updated
  • Scan container images for vulnerabilities
  • Enable API authentication and authorization

Key Takeaways

  • Entra ID is the foundation for identity and access management in Azure
  • RBAC enables fine-grained access control with role assignments at various scopes
  • MFA and Conditional Access provide defense against identity compromise
  • Azure Key Vault centralizes secrets, keys, and certificate management
  • Network Security Groups and Azure Firewall protect networks from unauthorized access
  • Encryption at rest and in transit protects data confidentiality
  • Azure Defender and Sentinel provide comprehensive threat detection and response
  • Zero Trust principles guide secure architecture in Azure
  • Regular security assessments and compliance monitoring are essential