D3 · Management, Security, and Compliance

Governance in Azure

Policies, locks, tags, and compliance. Governance is how an organization maintains control, visibility, and compliance over all its Azure resources, especially at scale.

What is governance in Azure?

Cloud governance is the set of processes, policies, and tools that ensure Azure resources are used in a controlled, secure, consistent way that's aligned with business and regulatory requirements.

Without governance: every team deploys whatever it wants, wherever it wants, without tags, without encryption, without cost control. With governance: every resource follows the rules automatically.

Problem without governance

  • Dev deploys a VM without tags → impossible to know which project the cost belongs to
  • Someone accidentally deletes the production database
  • Storage without encryption violates GDPR regulation
  • VMs deployed in an unauthorized region (European data in the US)

Governance tools

  • Azure Policy → automatic rules (encryption, regions, tags)
  • Resource Locks → protect critical resources against deletion
  • Tags → categorize resources for billing and auditing
  • Management Groups → apply policies across multiple subscriptions

Result with governance

  • Every resource created automatically complies with the rules
  • Impossible to accidentally delete critical databases
  • Mandatory encryption on all storage accounts
  • Full visibility of costs by project, team, and environment
Icon-general-11

Management Groups — control hierarchy

let you organize multiple subscriptions into a hierarchy and apply policies and to the entire hierarchy with a single assignment.

Complete Azure hierarchy

→
Root Management Group: The root of the entire organization. One per tenant. Policies here apply to EVERYTHING.
→
Management Groups (corp): Group subscriptions by division, geography, or type. Policies inherited from root.
→
Management Groups (children): Up to 6 levels deep. Additional, more specific policies.
→
Subscriptions: Billing unit and resource limit boundary. Inherits policies from the parent MG.
→
Resource Groups: Logical container for resources. Inherits policies from the Subscription.
→
Resources: VMs, Storage, SQL, etc. Lowest level. Inherits everything from above.

Real case: multinational company

Root MG: policy "all resources must have a cost-center tag" → applies to the ENTIRE company

MG Europe: policy "data only in European regions" → GDPR compliance for EU divisions

MG Production: policy "Premium SKUs only, mandatory encryption" → only affects prod

Subscription Dev: inherited policy + "allow basic SKUs for testing" → dev is more flexible

Icon-manage-316

Azure Policy — automated rules

defines rules that resources must follow. They're evaluated in real time and can audit, deny, or automatically remediate non-compliant resources.

Policy effects

Deny

Rejects the operation if it doesn't comply with the rule. The resource is not created.

Audit

Logs the non-compliance but does NOT block it. Useful for visibility before enforcing.

Append

Adds fields to the resource automatically (e.g., add a missing tag).

DeployIfNotExists

Deploys a supporting resource if it doesn't exist (e.g., enable logging automatically).

Modify

Modifies resource properties to make it compliant (e.g., enable encryption).

Real-world policy examples

Mandatory encryption on Storage

If storage without encryption → Deny

Case: GDPR, HIPAA, ISO 27001 compliance

VMs only in approved regions

If region ∉ {WestEurope, NorthEurope} → Deny

Case: European data residency

Mandatory tags

If resource without "environment" tag → Deny

Case: Billing by project/environment

Approved VM SKUs

If VM SKU ∉ {B-series, D-series} → Deny

Case: Cost control: block expensive VMs

Logging enabled

If VM without diagnostics → DeployIfNotExists logging

Case: Mandatory observability and auditing

Mandatory HTTPS on App Service

If App Service accepts HTTP → Modify to HTTPS-only

Case: Security in transit

Initiative (Policy Set)

An Initiative is a group of related policies that are assigned together. Example: "PCI-DSS Compliance" = 30 individual policies (encryption, logging, access, etc.) grouped into a single initiative. You assign the initiative once and it applies all the policies.

Resource Locks — protecting critical resources

Resource Locks protect resources against accidental deletion or modification, regardless of the user's RBAC permissions. Even an Owner can't delete a locked resource without first removing the lock.

CanNotDelete

Users with access can read and modify the resource, but CANNOT delete it. The delete operation fails even if the user is an Owner.

Use cases

  • Production database
  • Storage with critical backups
  • Key Vault with production certificates

ReadOnly

Users can only read the resource. They can't modify or delete it. Similar to assigning Reader to everyone, but at the resource level.

Use cases

  • Production network infrastructure (VNet, subnets)
  • Configuration of critical resources that must never change
  • Resources shared across multiple teams

Lock inheritance

Locks are inherited downward. A lock on a Resource Group protects all resources within that RG. A lock on a Subscription protects all RGs and resources in that Subscription.To remove a lock: the user needs a specific permission on Microsoft.Authorization/locks/delete. This is intentional — even an Owner can't skip the explicit process of removing the lock.

Tags — labels for organization and billing

Tags are key-value pairs assigned to Azure resources. They don't affect functionality, but they're essential for organization, billing, automation, and auditing.

Standard tags — Contoso company

environment:production
project:finance-api
cost-center:123-accounting
owner:john.doe@contoso.com
criticality:high
backup-required:daily
compliance:pci-dss

What are tags for?

Billing and chargeback

Cost Management filters by tag. "How much did the finance team spend this month?" → filter by cost-center=123-accounting.

Automation

Azure Automation scripts look up resources by tag. "Shut down VMs with tag environment=dev after 8pm" → automatic savings.

Auditing and compliance

Show auditors which resources handle PCI-DSS data. Filter by compliance=pci-dss.

Team alerts

Alert rule: "if VM with tag team=backend has CPU > 90% → email the owner tag's owner".

Tag limitations — know these for the exam

  • Tags are NOT automatically inherited from RG to child resources. You must apply them via Azure Policy if you want inheritance.
  • Maximum of 50 tags per resource or Resource Group.
  • Not all Azure services support tags (some resource types don't allow them).
  • Tags on an RG are INDEPENDENT of the tags on the resources inside that RG.
Related labD3 · Management, security, and compliance

Organize resources with Tags

Apply a key-value tag to a Resource Group and understand how they're used for billing, automation, and auditing.

Understand what tags are for: billing, automation, auditing
Apply a key-value tag to a Resource Group

+1 more...

4 min7 steps

Compliance and regulatory frameworks

Azure has more than 90 compliance certifications. You inherit many of them by using Azure, but means you also need to configure things correctly.

ISO 27001

International standard for information security management. Applies to almost every industry.

Applies to: Universal

SOC 1 / SOC 2 / SOC 3

System and organization audit controls. SOC 2 evaluates security, availability, integrity, confidentiality, and privacy.

Applies to: SaaS, financial services

GDPR

General Data Protection Regulation of the European Union. Applies to data of European citizens, regardless of where the company is located.

Applies to: EU / European data

HIPAA

Health Insurance Portability and Accountability Act. Protection of health data in the US. Requires a BAA (Business Associate Agreement) with Microsoft.

Applies to: Healthcare (USA)

PCI DSS

Payment Card Industry Data Security Standard. For companies that process, store, or transmit credit/debit card data.

Applies to: E-commerce, fintech, retail

FedRAMP

Federal Risk and Authorization Management Program. For cloud services used by the US federal government.

Applies to: US Government

Compliance Portal

Central compliance dashboard in Azure. Shows the Compliance Score: a score from 0-100 that indicates how well your tenant complies with the selected frameworks.

Compliance Score

Overall score + breakdown by framework

Assessment details

Which controls pass/fail and why

Improvement actions

Concrete steps to raise the score

Related labD3 · Management, security, and compliance

Apply a Resource Lock to a resource group

Learn to protect critical resources from accidental deletion using Resource Locks. Locks work independently of RBAC permissions and are a key concept in the AZ-900 governance domain.

Understand what Resource Locks in Azure are for
Tell apart the lock types: Delete and Read-only

+1 more...

8 min8 steps
Related labD3 · Management, security, and compliance

Create and assign an Azure Policy

Configure a policy that requires tags on every resource in the subscription. Azure Policy is Azure's main governance mechanism and a frequent topic on the AZ-900 exam.

Understand what Azure Policy is and what it's used for
Tell apart policy effects: Deny, Audit, Append

+1 more...

10 min6 steps

Did you get this topic?

Test what you just learned

Which Azure tool lets you define rules that prevent creating resources without department tags across the whole organization?

Ready to test "Governance"?

Put what you learned to the test with original AZ-900 exam questions.

Start AZ-900 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.