Azure hierarchy is a complex system, but understanding it is key to effective resource management. There are multiple levels to the hierarchy, including subscriptions, resource groups, and resources.
At the top of the hierarchy are subscriptions, which are containers for resources that can be managed in a single place. Each subscription has its own unique identifier and can be used to track costs.
Subscriptions are further divided into resource groups, which are logical containers for related resources. Resource groups can be used to organize resources in a way that makes sense for your specific use case.
Resource groups can contain a variety of resources, including virtual machines, storage accounts, and databases.
Resource Management
Resource Management is a crucial aspect of Azure hierarchy. You can manage multiple resources in a centralized way by associating them with an Azure resource group.
A resource group is a conceptual entity that governs multiple individual resources. This simplifies policy configuration and reduces the risk of configuration mistakes or inconsistencies.
You can define policies at different levels: management, resource group, or individual resource. Policies defined at the resource group level apply to all resources within that group.
For instance, if you have multiple VMs that require the same security settings, you can create a resource group, add the VMs, and then configure the security policies at the resource group level.
Resources are the fundamental building block of Azure environments. A resource is any compute, storage, or networking entity that users can access in the Azure cloud.
You can define policies on a resource-by-resource basis, in addition to applying policies that apply to all resources within a resource group. This flexibility allows for tailored management of your Azure resources.
Group and Access Management
The root management group is a special entity that serves as the top-level container for all subscriptions and management groups within a directory. By default, its display name is Tenant root group.
You'll need the Owner or Contributor role on the root management group to change its display name. This can be done by following the instructions in the Change the name of a management group article.
The root management group can't be moved or deleted, unlike other management groups. All Azure customers can see it, but not all customers have access to manage it.
All subscriptions and management groups fold up into one root management group within the directory. Any assignment of user access or policy on the root management group applies to all resources within the directory.
To get the required access to tag resources, you can have write access to the Microsoft.Resources/tags resource type, which is granted by the Tag Contributor role. This role lets you tag any resource, even if you don't have access to the resource itself.
Alternatively, you can have write access to the resource itself, which is granted by the Contributor role. This role grants the required access to apply tags to any entity.
Azure management groups support Azure RBAC for all resource access and role definitions. Child resources that exist in the hierarchy inherit these permissions.
Here's a summary of the roles and their supported actions on management groups:
Azure custom roles can be defined and assigned to management groups, allowing for more granular access control. These custom roles can be inherited down the hierarchy like built-in roles.
Subscription Management
A subscription in Azure is a logical container for resources and services, such as virtual machines, web apps, and storage accounts. Each subscription has a unique identity, called a subscription ID.
You can have one or more subscriptions in a tenant, depending on organizational requirements. Subscriptions can be used for coarse-grained access at the subscription level that percolates down to individual resources.
Multiple users can share an Azure subscription, and some businesses may have only one subscription, even if more than one person needs to use Azure. For larger businesses or those with varying cloud workload requirements, it makes sense to use multiple Azure subscriptions to apply unique governance policies to each subscription.
To move a subscription, you need permissions on the child subscription, target parent management group, and current parent management group. However, if the target or existing parent management group is the root management group, the permission requirements don't apply.
Here are the required permissions to move a subscription:
- Management group write permissions and role assignment write permissions on the child subscription or management group
- Management group write access on the target parent management group
- Management group write access on the existing parent management group
Note that if the Owner role on the subscription is inherited from the current management group, your move targets are limited. You can move the subscription only to another management group where you have the Owner role.
Security and Auditing
You can audit management groups by using activity logs in Azure Monitor.
This allows you to see all events that happen to a management group in one central location.
Management groups can be queried outside the Azure portal using the target scope "/providers/Microsoft.Management/managementGroups/{management-group-id}".
You can enable diagnostic settings on a management group to send related Azure Monitor activity log entries to a Log Analytics workspace, Azure Storage, or Azure Event Hubs.
Management group diagnostic settings can be created or updated using the Azure Resource Manager REST API.
Setup and Configuration
To set up an Azure hierarchy, you start by creating a root management group in your directory.
The root management group becomes the parent of all existing subscriptions in the directory.
This process ensures there's only one management group hierarchy within a directory.
A single hierarchy allows administrative customers to apply global access and policies that other customers can't bypass.
Anything assigned on the root applies to the entire hierarchy, including all management groups, subscriptions, resource groups, and resources within that tenant.
This means that policies and access settings applied to the root management group will automatically cascade down to all its child groups and resources.
Tagging and Recommendations
Tagging is a crucial aspect of Azure hierarchy, allowing you to categorize and organize your resources for better cost management and visibility.
You can apply tags to your Azure resources, resource groups, and subscriptions, but not to management groups. Resource tags support all cost-accruing services, and to ensure that cost-accruing services are provisioned with a tag, use one of the tag policies.
Tags are stored as plain text, so never add sensitive values to tags, as they could be exposed through various methods, including cost reports and monitoring logs. Be careful while using non-English language in your tags, as it can cause decoding progress failure while loading your VM's metadata from IMDS.
Tag names are case-insensitive for operations, but tag values are case-sensitive. This means that a tag with a tag name, regardless of the casing, is updated or retrieved, but you'll see the casing you provide for the tag name in cost reports.
Tag Usage and Recommendations
You can apply tags to your Azure resources, resource groups, and subscriptions, but not to management groups. Resource tags support all cost-accruing services, so it's a good idea to use one of the tag policies to ensure cost-accruing services are provisioned with a tag.
Tags are stored as plain text, so never add sensitive values to tags. This is because sensitive values could be exposed through various methods, including cost reports, commands that return existing tag definitions, deployment histories, exported templates, and monitoring logs.
Be careful while using non-English language in your tags, as it can cause decoding progress failure while loading your VM's metadata from IMDS. Tag names are case-insensitive for operations, but the resource provider might keep the casing you provide for the tag name, so you'll see that casing in cost reports.
Tag values are case-sensitive, so keep that in mind when assigning values to your tags.
Inherit Tags
Inherit tags can be a powerful way to organize and categorize content, but they also come with some limitations.
The following limitations apply to tags: There are no specific limitations mentioned in the article section.
Inherit tags can be a bit tricky to work with, but understanding their limitations can help you use them more effectively.
Tags are subject to the limitations mentioned, but what does that mean in practical terms?
Understanding Azure Structure
In Azure, a Tenant is a single dedicated and trusted instance of Azure Active Directory, created automatically when you sign up for a Microsoft cloud service subscription. A Tenant represents a single organization, identity, or a person.
A Tenant has a globally unique name, which ends with 'onmicrosoft.com', and a unique id (tenant GUID). A single Tenant corresponds to a single instance of Azure Active Directory, and resources within a Tenant can access other services and resources within that Tenant.
Azure Active Directory (Azure AD) provides a single place to manage users, groups, and their permissions for applications published in Azure AD. You can create multiple Tenants for an organization, each with its own Azure Active Directory, to have maximum separation of concerns and different settings and configurations.
A Subscription is an agreement that allows specific users to access resources. Multiple users can share an Azure Subscription, and some businesses may have only one Subscription, while larger businesses may use multiple Subscriptions to apply unique governance policies to each.
A Tenant can have one or more Subscriptions, and a Subscription can only be associated with a single Azure AD Tenant at any time. A Subscription is a logical container for resources and services, and it has a unique identity, called a Subscription ID.
Here's a quick summary of the hierarchy:
In Azure, you can build a flexible structure of management groups and subscriptions to organize your resources into a hierarchy for unified policy and access management.
Tenant ID
A Tenant ID is a unique identifier for your Azure Active Directory (AAD) tenant. It's a globally unique name that's automatically created when you sign up for a Microsoft cloud service subscription.
Your Tenant ID is a unique id, also known as a tenant GUID, that's associated with your organization or individual identity. It's a one-to-one relation between the tenant and the Azure AD.
You can find your Tenant ID by looking at the end of your Azure AD tenant name, which ends with 'onmicrosoft.com'. For example, 'atcsl.onmicrosoft.com' has a Tenant ID of 'atcsl'.
Each Tenant ID is unique, so you can have multiple tenants with different IDs, each representing a single organization or individual.
In some cases, an organization may have multiple tenants, depending on their internal organizational requirements. For example, a holding company like Globomantics might have two tenants for its two subsidiaries, Contoso and Fabrikam.
Digital Twin Properties
A digital twin is a virtual replica of a physical system, and it's a crucial part of Azure Structure. It's used to simulate and predict the behavior of a physical system, allowing for better decision-making and optimization.
Digital twins can be used to model various systems, such as buildings, factories, and even entire cities. They can also be used to test and validate new ideas and designs before they're implemented in the physical world.
A digital twin typically consists of a virtual representation of a physical system, along with the data and analytics needed to understand and predict its behavior. This can include sensor data, simulation models, and machine learning algorithms.
Digital twins can be used to improve the efficiency and effectiveness of a physical system, by identifying areas of waste and optimizing processes. They can also be used to reduce the risk of downtime and improve the overall reliability of a system.
Azure Structure provides a range of tools and services that can be used to create and manage digital twins. This includes Azure Digital Twins, which provides a cloud-based platform for creating and managing digital twins.
Root Group Facts
The root group is a crucial part of Azure's structure. It's a single top-level management group called the root management group, built into the hierarchy to have all management groups and subscriptions fold up to it.
Each directory has only one root management group, and it's the top-level management group in the hierarchy. By default, the root management group's display name is Tenant root group, and it operates itself as a management group.
The root management group can't be moved or deleted, unlike other management groups. All subscriptions and management groups fold up into one root management group within the directory.
All Azure customers can see the root management group, but not all customers have access to manage that root management group. Any assignment of user access or policy on the root management group applies to all resources within the directory.
Here are the key facts about the root management group:
- Default display name: Tenant root group
- Cannot be moved or deleted
- All subscriptions and management groups fold up to it
- All Azure customers can see it, but not all can manage it
The root management group allows for the application of global policies and Azure role assignments at the directory level. Initially, the Elevate access to manage all Azure subscriptions and management groups to the User Access Administrator role of this root group.
Understanding Tenants and Subscriptions
Azure has a unique structure that can be confusing at first, but once you understand it, you'll be able to navigate it with ease. A Tenant is a single dedicated and trusted instance of Azure Active Directory that gets created automatically when you sign up for a Microsoft cloud service subscription.
In simple terms, a Tenant represents a single organization, identity, or person. It's the central hub where you manage users, groups, and their permissions for applications published in Azure AD. You can think of it as a virtual office where all your Azure resources live.
A Tenant has a globally unique name that ends with 'onmicrosoft.com', such as 'atcsl.onmicrosoft.com'. You can create multiple Tenants, and each one has its own Azure Active Directory. This is useful for large organizations with different departments or subsidiaries, like Globomantics, which created two Tenants for its Contoso and Fabrikam subsidiaries.
A Subscription is an agreement that allows specific users to access resources. It's a logical container where you can create, configure, and install resources like Virtual Machines, Web Apps, and Storage Accounts. A Tenant can have one or more Subscriptions, and each Subscription has a unique identity called a Subscription ID.
Here's a simple way to think about it: a Tenant is like a company, and a Subscription is like a department within that company. You can have multiple departments within a company, and each department can have its own Subscription.
You can build a flexible structure of management groups and subscriptions to organize your resources into a hierarchy for unified policy and access management. This allows you to apply unique governance policies to each Subscription and provide user access to multiple Subscriptions.
Here's a summary of the hierarchy:
* Tenant (company)
+ Subscription (department)
- Resources (e.g., Virtual Machines, Web Apps)
Remember, a Subscription is not tied to a particular Azure Region, which means you can create resources from any Region within a Subscription. However, some geographies and regions may be restricted, and cross-Region costs will apply to resources deployed to different Regions.
Frequently Asked Questions
What are the Azure management levels?
Azure has four management levels: management groups, subscriptions, resource groups, and resources, which help organize and manage your cloud infrastructure. Management groups enable centralized access control, policy enforcement, and compliance across multiple subscriptions.
Sources
- https://www.techtarget.com/searchcloudcomputing/tip/Get-to-know-the-Azure-resource-hierarchy
- https://documentation.xmpro.com/blocks-toolbox/visualizations/azure-digital-twin-hierarchy
- https://learn.microsoft.com/en-us/azure/governance/management-groups/overview
- https://azure-training.com/2022/02/28/understanding-tenants-and-subscriptions-in-azure/
- https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources
Featured Images: pexels.com