Azure Governance Enterprise Lab

Azure Governance project cover
Project CategoryCloud Governance and Security
PlatformMicrosoft Azure
Core TechnologiesAzure Policy, RBAC, Resource Locks, Cost Management
Project FocusSubscription-level governance for Production and Development

Project Overview

This enterprise lab implements a subscription-level Azure governance foundation for two logically separated environments. It combines standardized naming and tagging, approved-region enforcement, policy-driven controls, role-based access control, deletion protection, cost monitoring, compliance review, and validation testing.

1. Business Scenario and Requirements

YCS Enterprise Lab represents a small-to-medium organization hosting controlled Production workloads and an isolated Development environment in Microsoft Azure. The governance model improves resource organization, operational control, security management, policy enforcement, cost visibility, and future scalability.

RequirementDescription
Environment separationProduction and Development resources are logically separated.
Standardized namingAzure resources follow identifiable naming conventions adapted to each resource type.
Regional controlResources are restricted to Qatar Central or UAE Central.
Tag governanceResources use Environment, Department, Owner, CostCenter, Criticality, and Project metadata.
Environment validationThe Environment tag is restricted to Production or Development.
Tag inheritanceResources can inherit the Environment tag from their parent Resource Group when missing.
Resource protectionProduction resources are protected against accidental deletion.
Cost controlA monthly budget and cost notifications are configured.
Access governanceAdministrative access follows Azure RBAC and scoped access principles.
Compliance visibilityAzure Policy compliance is reviewed and documented.

2. Scope and Architecture

The project covers subscription-level governance, separate resource groups, standardized resource names and tags, representative networking and storage resources, custom and built-in Azure Policy assignments, approved locations, tag inheritance, resource protection, monthly budgets, RBAC, compliance review, and validation testing.

2.1 Subscription Design

ComponentValue
SubscriptionAzure subscription 1
Subscription purposeAzure Governance Enterprise Lab
Governance scopeSubscription level
Production regionQatar Central
Development regionUAE Central
Approved regionsQatar Central and UAE Central
Project ownerYasser Alrajeh

A single subscription was selected for this controlled lab. Production and Development are separated by resource group while Azure Policy, RBAC, Cost Management, budgets, and compliance reporting are centrally governed at subscription scope.

2.2 Resource Hierarchy

  • Microsoft Entra Tenant
    • Azure Subscription 1
      • Governance Controls
        • Azure Policy
        • Azure RBAC
        • Resource Locks
        • Cost Management
        • Compliance
      • rg-ycs-prod-core-01
      • rg-ycs-dev-core-01

3. Naming, Environment, and Tagging Design

3.1 Naming Convention

<resource-type>-<organization>-<environment>-<workload/optional>-<instance>

The naming model is adapted by resource type. Some Azure resources, such as Storage Accounts, require a different format because names must be globally unique, lowercase, alphanumeric, and cannot contain hyphens.

3.2 Environment Design

EnvironmentResource GroupRegionCriticalityPurpose
Productionrg-ycs-prod-core-01Qatar CentralHighControlled production resources
Developmentrg-ycs-dev-core-01UAE CentralMediumDevelopment and testing resources

3.3 Tagging Strategy

TagProduction ValueDevelopment ValuePurpose
EnvironmentProductionDevelopmentIdentifies the deployment environment.
DepartmentITITIdentifies the responsible department.
OwnerCloudTeamCloudTeamIdentifies the responsible cloud team.
CostCenterCC-1001CC-1001Supports cost allocation and reporting.
CriticalityHighMediumIdentifies business impact level.
ProjectEnterpriseLabEnterpriseLabAssociates resources with the project.

4. Governance Control Design

Governance ControlConfigurationPurpose
Custom Azure PolicyAllow only Production and Development Environment valuesPrevent invalid environment classification.
Tag inheritance policyInherit Environment from Resource GroupStandardize metadata automatically.
Allowed LocationsQatar Central and UAE CentralRestrict deployments to approved regions.
Resource LockCanNotDelete on Production Resource GroupProtect against accidental deletion.
Budget alerts10%, 25%, and 50% shown in the captured configurationProvide progressive cost notifications.
RBACReader and Contributor assignment workflow with scoped administrationDemonstrate delegated access.
ComplianceAzure Policy Compliance dashboardValidate governance implementation.

5. Implementation

The Azure Portal was used to configure and validate the governed environment. The screenshots are ordered below according to what each image actually shows. Intermediate wizard screens are retained where they document the implementation workflow.

5.1 Resource Groups and Core Resources

Representative networking and platform resources were provisioned to provide a practical scope for governance controls.

Initial Azure Resource Manager view

Initial Resource Manager / All resources view used at the start of the provisioning workflow.

Virtual Network marketplace selection

Virtual Network selected from Azure Marketplace during Production network provisioning.

Production VNet address space and subnet configuration

Production VNet configuration showing the 10.10.0.0/16 address space and subnet configuration workflow.

Production subnet configuration

Production subnet configured with a 10.10.1.0/24 range. This screenshot captures the resource naming used during provisioning.

NSG marketplace selection

Network Security Group selected from Azure Marketplace as part of the Production network build.

Public IP marketplace selection

Public IP Address selected from Azure Marketplace for the governed environment.

Production resource inventory

Production Resource Group inventory showing the deployed NSG, Public IP, Storage Account, and Virtual Network.

5.2 Tagging Implementation

The approved metadata schema was applied to the Production resource group to support ownership, environment classification, criticality, and cost allocation.

Resource group Tags blade before values were added

Production Resource Group Tags blade before the metadata values were entered.

Production resource group tags

Production tags configured with Environment: Production, Department: IT, Owner: CloudTeam, CostCenter: CC-1001, Criticality: High, and Project: EnterpriseLab.

5.3 Azure Policy

Custom and built-in Azure Policies were used to control Environment values, inherit metadata, and restrict approved deployment regions.

Initial Azure Policy overview

Azure Policy Overview at an early stage of the lab before the final policy set was fully evaluated.

Assign policy workflow

Subscription-level policy assignment workflow.

Custom Environment policy JSON

Custom policy rule restricting the Environment tag to Production or Development.

Allowed Environment policy review

Review + create screen for the Allowed-Environment-Tag-Values policy assignment.

Tag inheritance policy selection

Built-in “Inherit a tag from the resource group if missing” policy selected for assignment.

Environment tag parameter

Environment specified as the tag name parameter for the inheritance policy.

Allowed Azure locations

Allowed Locations policy configured with Qatar Central and UAE Central, matching the values visible in the captured configuration.

5.4 Resource Protection

A CanNotDelete lock was used as a Production protection control. The deletion workflow below documents the controlled validation attempt against the Production resource group.

Production resource group deletion validation

Controlled deletion attempt against rg-ycs-prod-core-01 as part of the resource-protection validation workflow.

5.5 Cost Governance

A monthly budget configuration was prepared with progressive alert thresholds. The screenshot shows the thresholds that were actually captured during the implementation.

Azure budget alert configuration

Azure Budget alert conditions showing 10%, 25%, and 50% thresholds with an email recipient configured.

5.6 Role-Based Access Control

Azure RBAC was configured through the Resource Group Access control (IAM) workflow. Reader and Contributor roles were selected to demonstrate differentiated access levels.

IAM add role assignment menu

Access control (IAM) menu used to start a new role assignment.

Reader role selection

Reader role selected to provide read-only access without modification permissions.

Second IAM role assignment workflow

Role assignment workflow opened again to configure an additional delegated role.

Contributor member selection

Contributor role assignment with contributor01 selected as the member.

6. Governance Validation and Compliance

6.1 Policy Compliance Review

The Azure Policy dashboards were reviewed to identify compliant and non-compliant resources and determine where remediation was required.

Azure Policy compliance overview

Policy Overview showing 40% overall resource compliance, with two compliant and two non-compliant policy evaluations.

Detailed Azure Policy compliance

Detailed Compliance view showing Allowed Locations and Allowed-Environment-Tag-Values as non-compliant, while the tag inheritance assignment is compliant.

6.2 Resource Inventory Validation

The Production resource inventory was reviewed to confirm the set of resources covered by governance controls.

Production resource group inventory

Resource inventory for rg-ycs-prod-core-01 used to validate the Production governance scope.

6.3 Negative Testing

A deliberate out-of-region deployment was prepared to test the Allowed Locations policy. Australia Central was selected as the non-approved region for the test.

Virtual network marketplace for negative test

Virtual Network deployment workflow opened in the Development resource group for the policy validation test.

Out of region deployment test

Negative-test configuration using Australia Central, a region outside the approved Qatar Central / UAE Central policy set.

6.4 Governance Monitoring Alert Setup

Azure Monitor was also opened at subscription scope to prepare governance-related alerting. These screenshots document the alert-rule setup workflow rather than a final “no active alerts” result.

Azure Monitor alert rule resource selection

Alert rule creation workflow with subscription resources available for scope selection.

Azure subscription alert scope

Azure subscription selected as the alert-rule scope.

Azure Monitor activity alert scope

Alert-rule setup opened from Monitor / Activity log with the subscription selected as scope.

7. Project Conclusion

This project established a practical Azure governance foundation across Production and Development environments. The implementation combined standardized tagging, Azure Policy enforcement, scoped RBAC, resource protection, budget controls, compliance review, negative testing, and subscription-level monitoring preparation.

The final portfolio page now keeps the original implementation evidence while ensuring that each screenshot is described by what it actually shows.