This chapter covers Azure Lighthouse, a service enabling multi-tenant management with delegated access across Azure Active Directory tenants. For the AZ-104 exam, this topic appears in Domain 1 (Identity Governance) under objective 1.2, typically accounting for 5-10% of questions. You will be tested on how Azure Lighthouse differs from traditional guest user access, its delegation model, and the exact steps to onboard a customer tenant. Mastery of this topic is essential for scenarios involving managed service providers (MSPs) or enterprise organizations managing multiple tenants.
Jump to a section
Azure Lighthouse is like a managed service provider (MSP) that holds a master key ring for multiple office buildings owned by different clients. Each building (tenant) has its own locks and security system (Azure RBAC). The MSP does not own any building; instead, each client grants the MSP a special master key that works only on specific doors (delegated subscriptions/resource groups) and only during certain hours (delegated permissions). The master key is not a physical key but a cryptographic token (Azure AD token) issued by the client's identity system. When the MSP's technician (a user in the MSP's tenant) wants to enter a client's building, they present their identity badge (authentication in the MSP's tenant). The client's security system checks a central registry (Azure AD) that says, 'This technician from the MSP is allowed to open these doors with these specific permissions.' Crucially, the technician never receives a copy of the client's internal key; they always authenticate against their own company's directory, and the client's system maps that identity to the delegated permissions. This separation means if the MSP's employment relationship ends, the technician loses access instantly without the client needing to change any locks. The client can also revoke the entire MSP's access at any time by removing the delegation. This is fundamentally different from creating a guest user account for each technician in the client's directory, which would require manual provisioning and deprovisioning. Azure Lighthouse automates this mapping and provides a unified management experience across all clients from the MSP's own Azure portal view.
What is Azure Lighthouse and Why It Exists
Azure Lighthouse is a service that enables cross-tenant management by allowing users in one Azure AD tenant (the 'managing tenant') to perform management operations on subscriptions or resource groups in another tenant (the 'customer tenant'), without needing a separate account in the customer tenant. It was designed primarily for managed service providers (MSPs) who manage multiple customer environments, but it is also used by enterprises with multiple Azure AD tenants (e.g., after acquisitions) to centralize management.
The core problem Azure Lighthouse solves is the inefficiency and security risk of creating and maintaining guest user accounts in every customer tenant. Before Lighthouse, an MSP had to either:
Create a user account for each technician in each customer's Azure AD (provisioning nightmare).
Use guest user accounts (B2B collaboration) which still required each technician to have an account in the customer tenant, and those accounts had to be managed individually.
Azure Lighthouse eliminates the need for accounts in the customer tenant. Instead, it uses a delegation model where the customer tenant authorizes the managing tenant's users (via groups) to access specific subscriptions or resource groups, with specific Azure RBAC roles. The managing users authenticate in their own tenant, and Azure AD issues a token that is valid in the customer tenant based on the delegation.
How Azure Lighthouse Works Internally
The mechanism relies on Azure Resource Manager (ARM) and Azure AD authentication. Here is the step-by-step flow: 1. Customer Onboarding: The customer tenant administrator creates an Azure Lighthouse offer (using ARM templates) that defines:
- The managing tenant's tenant ID.
- One or more authorizations, each specifying a principal (user, group, or service principal) from the managing tenant and an Azure RBAC role (e.g., Contributor, Reader).
- The scope: one or more subscriptions or resource groups.
2. Delegation: The customer deploys the ARM template, which creates a special resource type called Microsoft.ManagedServices/registrationDefinitions in the customer tenant. This resource records the delegation.
3. Authentication: When a user from the managing tenant attempts to access the customer's resource (via Azure portal, CLI, or API), Azure AD authenticates the user in the managing tenant. The user's token includes the managing tenant ID.
4. Authorization Check: The customer's Azure Resource Manager receives the request. It checks if there is a registration definition that:
- Matches the managing tenant ID. - Includes the user's principal ID (or a group the user belongs to) in its authorizations. - Covers the target scope. 5. Token Issuance: If authorized, ARM issues a delegated token (a JWT) that allows the user to perform operations within the delegated scope, with permissions determined by the assigned RBAC role. 6. Management Operations: The user can now manage resources in the customer tenant using their own credentials, as if they were a native user with those roles. All actions are logged in the customer's Azure Activity Log.
Key Components, Values, and Defaults
- Managing Tenant: The Azure AD tenant that contains the users performing management. This tenant must be specified during onboarding.
- Customer Tenant: The Azure AD tenant that owns the resources being managed. The customer retains control and can revoke delegation at any time.
- Authorizations: Each authorization maps a principal from the managing tenant to an Azure RBAC role. You can use Azure AD groups to simplify management. Built-in roles like Contributor, Reader, and custom roles are supported. However, certain roles are not supported for delegation: Owner, User Access Administrator, and any roles with DataActions (e.g., Storage Blob Data Contributor) because Lighthouse cannot grant data plane permissions.
- Registration Definition: A resource in the customer tenant (Microsoft.ManagedServices/registrationDefinitions) that stores the delegation configuration. It contains the managing tenant ID, authorizations, and scope.
- Registration Assignment: A child resource (Microsoft.ManagedServices/registrationAssignments) that links the registration definition to a specific scope (subscription or resource group).
- Managed by: A property on delegated resources that indicates the managing tenant. This is visible in the Azure portal under 'Managed by' for subscriptions/resource groups.
- Onboarding Methods:
- ARM Template (JSON): The most common method. The customer deploys a template that creates the registration definitions.
- Managed Service Offer (Marketplace): For MSPs publishing offers to multiple customers. The customer accepts the offer in the Azure Marketplace.
- PowerShell/CLI: Using New-AzManagedServicesDefinition and New-AzManagedServicesAssignment cmdlets.
- Delegation Limits: A customer tenant can have up to 200 registration definitions per subscription. Each registration definition can have up to 400 authorizations.
- Auditing: All delegated actions are logged in the customer's Activity Log under the managing user's identity (e.g., user@managingtenant.onmicrosoft.com). The customer can also view the 'Managed by' information.
Configuration and Verification Commands
Onboarding with PowerShell:
# Create authorization object
$auth = New-AzManagedServicesAuthorizationObject `
-PrincipalId "<object-id-of-group-or-user>" `
-RoleDefinitionId "<role-definition-id>" `
-PrincipalIdDisplayName "My MSP Group"
# Create registration definition
$def = New-AzManagedServicesDefinition `
-Name "MyDelegation" `
-DisplayName "My MSP Delegation" `
-Description "Delegation to MSP" `
-ManagedByTenantId "<managing-tenant-id>" `
-Authorization $auth
# Create registration assignment
New-AzManagedServicesAssignment `
-RegistrationDefinitionId $def.Id `
-Scope "/subscriptions/<subscription-id>"Verification with Azure CLI:
# List all registration definitions in a customer tenant
az managedservices definition list
# List all registration assignments
az managedservices assignment list
# Show details of a specific definition
az managedservices definition show --definition <definition-id>Checking delegated access:
# From managing tenant, list accessible resources in customer tenant
az account list --query "[?tenantId=='<customer-tenant-id>']"
# Switch to customer tenant context (if you have access)
az account set --subscription <customer-subscription-id>Interaction with Related Technologies
Azure AD B2B Collaboration: Lighthouse is often compared to B2B guest accounts. B2B requires creating a guest user object in the customer tenant for each external user. Lighthouse does not create any user objects. B2B is better for per-user access (e.g., a single consultant), while Lighthouse is designed for group-based, scalable delegation.
Azure Blueprints: Blueprints can be used to deploy Lighthouse ARM templates across multiple subscriptions, enabling consistent onboarding.
Azure Policy: Delegated users can apply policies within the delegated scope, provided they have the appropriate RBAC role (e.g., Contributor can create policy assignments).
Cost Management: Delegated users can view cost data for the delegated subscriptions if they have Reader or Contributor roles, but billing information remains in the customer tenant.
Azure Monitor: Delegated users can view logs and metrics from resources in the delegated scope.
Important Exam Numbers and Defaults
Maximum registration definitions per customer subscription: 200.
Maximum authorizations per registration definition: 400.
Roles not supported for delegation: Owner, User Access Administrator, and any role with DataActions.
Delegation is scoped to a subscription or resource group; you cannot delegate a management group directly.
The managing tenant must be an Azure AD tenant; you cannot use a Microsoft account (e.g., @outlook.com) as the managing tenant.
The customer tenant must be in the same Azure cloud (e.g., both commercial, both government).
How Delegation Works at the Token Level
When a managing user authenticates, Azure AD issues an access token for the resource https://management.azure.com. This token contains the user's home tenant (managing tenant) and the requested audience. The customer's ARM endpoint receives the token and performs a lookup in its registration definitions. If a matching delegation exists, ARM issues a new token scoped to the delegated subscription/resource group with the appropriate RBAC claims. This token is then used for subsequent resource operations. The entire process is transparent to the user, who simply selects the customer's subscription in the Azure portal or CLI.
Customer Creates ARM Template
The customer tenant administrator prepares an ARM template that defines the delegation. The template must include the managing tenant's tenant ID (a GUID) and one or more authorizations. Each authorization specifies a principal from the managing tenant (user, group, or service principal) and a built-in or custom RBAC role. The template also specifies the scope (subscription or resource group ID). The customer can generate this template from the Azure portal under 'Lighthouse' > 'Service providers' > 'Add offer' or by using a sample from the Lighthouse documentation. The template creates a `registrationDefinitions` resource of type `Microsoft.ManagedServices`.
Customer Deploys Template
The customer deploys the ARM template using the Azure portal, PowerShell, Azure CLI, or via Azure Blueprints. Deployment must be done by a user with Owner role at the target scope (subscription or resource group). The deployment creates a registration definition resource and a registration assignment that links the definition to the scope. The customer can also optionally provide a display name and description for the delegation. Once deployed, the delegation is active immediately. The customer can verify by navigating to the subscription's 'Access control (IAM)' and seeing the managing tenant's users under 'Role assignments' but with a note that they are delegated from the managing tenant.
Managing Tenant User Authenticates
A user from the managing tenant signs in to Azure (portal, CLI, or API) using their managing tenant credentials. Azure AD authenticates the user and issues an access token for the ARM endpoint. The token includes the user's home tenant ID and object ID. The user then attempts to access a resource in the customer tenant, e.g., by selecting the customer's subscription in the portal or running `az account set --subscription <customer-subscription-id>`. The request is sent to the customer's ARM endpoint.
ARM Checks Registration Definitions
The customer's ARM endpoint receives the request and extracts the managing tenant ID from the token. It then queries the registration definitions for that tenant at the requested scope. ARM checks if there is a registration definition that includes the user's object ID (or a group the user belongs to) and matches the requested scope. If a match is found, ARM verifies that the authorization includes the required role for the operation. This check is performed for every API call.
ARM Issues Delegated Token
If the authorization check passes, ARM internally issues a delegated token (a JWT) that is valid for the specific scope and contains the RBAC role claims. This token is then used to authorize the specific resource operation (e.g., create a VM, read a storage account). The user never sees this token; it is handled internally by ARM. The operation is logged in the customer's Activity Log with the managing user's identity (e.g., `user@managingtenant.onmicrosoft.com`). The customer can audit all actions performed by delegated users.
Enterprise Scenario 1: MSP Managing 50+ Customer Tenants
A managed service provider (MSP) manages cloud infrastructure for 50+ small to medium businesses, each with its own Azure AD tenant. Before Lighthouse, the MSP had to create a dedicated user account in each customer tenant for each of its 20 engineers, resulting in 1,000+ accounts to manage. Password policies, MFA, and account lifecycle were a nightmare. With Azure Lighthouse, the MSP creates a single security group in its own tenant (e.g., 'MSP-Engineers') and adds engineers to that group. Each customer deploys an ARM template that delegates their subscription to that group with Contributor role. Now, when an engineer leaves, the MSP simply removes them from the group, and access is revoked across all customers within minutes (Azure AD group membership changes propagate quickly). The MSP also uses Lighthouse's ability to view all delegated subscriptions in a single 'My customers' blade in the Azure portal, enabling centralized monitoring and management. Performance is excellent because Lighthouse adds negligible latency (the token exchange is fast). Misconfiguration risk: if the MSP accidentally assigns Owner role (which is not allowed), the deployment fails with an error. The most common mistake is forgetting to include the role definition ID (a GUID) correctly in the ARM template, leading to deployment failure.
Enterprise Scenario 2: Enterprise with Multiple Tenants After Acquisition
A large enterprise acquires a company that has its own Azure AD tenant. The enterprise wants to manage the acquired company's Azure resources from its central IT team's tenant without migrating everything immediately. Using Azure Lighthouse, the central IT team (in the enterprise tenant) is delegated Contributor access to the acquired company's subscriptions. This allows them to apply Azure Policy, deploy resources, and monitor costs while the acquired company retains ownership and can revoke access if needed. The central IT team uses Azure Blueprints to deploy Lighthouse templates consistently across multiple acquired tenants. A common challenge is that the acquired company's administrators may not be familiar with Lighthouse; they need to be trained to understand that delegating does not give away ownership. If the central IT team accidentally delegates to a group that includes external contractors, that could be a security risk. The enterprise mitigates this by using Privileged Identity Management (PIM) for the managing tenant group, requiring just-in-time activation for delegated roles.
Scenario 3: Cross-Tenant Backup and Disaster Recovery
A company uses a separate 'DR tenant' for disaster recovery. They want their primary tenant's administrators to be able to manage resources in the DR tenant during a failover. Instead of creating duplicate accounts, they use Azure Lighthouse to delegate Contributor access to the DR tenant's subscriptions from the primary tenant. This allows the same users to manage both environments seamlessly. However, they must ensure that during normal operations, the primary tenant users have limited access (e.g., Reader) to prevent accidental changes. They achieve this by creating two delegations: one with Reader for normal operations and one with Contributor that is activated only during a DR event. This scenario highlights the importance of using groups and role-based access to enforce least privilege.
Exam Objective Codes and Coverage
Azure Lighthouse is tested under AZ-104 Domain 1: Manage Azure Identities and Governance, specifically objective 1.2: Manage Azure RBAC. The exam expects you to:
Understand the difference between Azure Lighthouse and Azure AD B2B collaboration.
Know the onboarding process and the required permissions (Owner role on the customer side to delegate).
Be able to identify which roles can and cannot be delegated (Owner and User Access Administrator are explicitly forbidden).
Understand that delegation is scoped to a subscription or resource group, not a management group.
Know the maximum limits: 200 registration definitions per subscription, 400 authorizations per definition.
Recognize that Azure Lighthouse is used for cross-tenant management, not for delegating within the same tenant.
Common Wrong Answers and Why Candidates Choose Them
'Azure Lighthouse requires creating guest user accounts in the customer tenant.' This is the most common trap. Candidates confuse Lighthouse with B2B collaboration. Lighthouse does NOT create any user objects in the customer tenant. The managing users authenticate in their own tenant.
'You can delegate the Owner role using Azure Lighthouse.' This is false. Owner and User Access Administrator roles are explicitly blocked because they would allow the managing tenant to delegate further or take ownership. The exam tests this directly.
'Azure Lighthouse can be used to delegate management groups.' This is incorrect. Delegation is limited to subscription and resource group scopes. You cannot delegate a management group directly, though you can delegate all subscriptions under a management group individually.
'Delegated users appear as Guest users in the customer tenant.' No. Delegated users are not represented as any user object in the customer tenant. They appear only in role assignments as 'Delegated' from the managing tenant.
Specific Numbers and Terms on the Exam
200 registration definitions per subscription.
400 authorizations per registration definition.
Owner and User Access Administrator are the roles that cannot be delegated.
DataActions roles (e.g., Storage Blob Data Contributor) are not supported.
The managing tenant must be an Azure AD tenant (not a Microsoft account).
The customer must have Owner role at the scope to delegate.
The feature is called Azure Lighthouse, not 'Cross-tenant management' or 'Azure Delegated Resource Management' (though the latter is the original name).
Edge Cases and Exceptions
If a user is a member of multiple groups that are delegated, they get the union of permissions (but if there is a conflict, deny takes precedence).
Delegation can be removed by the customer at any time by deleting the registration definition. This immediately revokes access.
Azure Lighthouse supports managed identities in the managing tenant? No. The principal must be a user, group, or service principal. Managed identities are not supported as delegated principals.
If the managing tenant is deleted, all delegations become orphaned and must be cleaned up manually by the customer.
How to Eliminate Wrong Answers
Always look for keywords: if the question mentions 'guest accounts', it is likely a distractor. If the question says 'without creating user objects', the answer is Azure Lighthouse. If the question asks for a role that can be delegated, eliminate Owner and User Access Administrator. Remember that Lighthouse is for cross-tenant, not intra-tenant, management.
Azure Lighthouse enables cross-tenant management without creating user objects in the customer tenant.
The customer must have Owner role at the target scope to delegate.
Maximum 200 registration definitions per subscription, each with up to 400 authorizations.
Owner and User Access Administrator roles cannot be delegated via Lighthouse.
Roles with DataActions (e.g., Storage Blob Data Contributor) are not supported.
Delegation is scoped to a subscription or resource group, not a management group.
Delegated users authenticate in their own managing tenant; no guest accounts are created.
The managing tenant must be an Azure AD tenant, not a Microsoft account.
These come up on the exam all the time. Here's how to tell them apart.
Azure Lighthouse
No user objects created in customer tenant.
Uses delegation model with registration definitions.
Best for group-based, scalable cross-tenant management.
Supports up to 200 definitions and 400 authorizations per definition.
Roles like Owner and User Access Administrator cannot be delegated.
Azure AD B2B Collaboration
Creates guest user objects in the customer tenant.
Uses invite and redemption flow.
Best for per-user access (e.g., a single external consultant).
No explicit definition limits, but guest user count is limited by Azure AD quota.
Can assign any role, including Owner, to guest users.
Mistake
Azure Lighthouse creates guest user accounts in the customer tenant.
Correct
No. Azure Lighthouse does not create any user objects in the customer tenant. Users authenticate in their own managing tenant, and access is granted via delegated tokens.
Mistake
You can delegate the Owner role using Azure Lighthouse.
Correct
False. The Owner and User Access Administrator roles are explicitly forbidden because they would allow the managing tenant to delegate further or take ownership of resources.
Mistake
Azure Lighthouse can delegate access to management groups.
Correct
No. Delegation is scoped to a subscription or resource group only. You cannot delegate a management group directly, though you can delegate all subscriptions under it individually.
Mistake
Delegated users appear as Guest users in the customer's Azure AD.
Correct
Delegated users do not appear in the customer's Azure AD at all. They only appear in role assignments as 'Delegated' from the managing tenant.
Mistake
Azure Lighthouse can be used to manage resources within the same tenant.
Correct
Azure Lighthouse is designed for cross-tenant management. Within the same tenant, you simply use Azure RBAC directly.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
Azure Lighthouse does not create any user objects in the customer tenant; it uses a delegation model where the customer authorizes the managing tenant's users via registration definitions. Azure AD B2B creates guest user objects in the customer tenant that must be invited and managed individually. Lighthouse is designed for group-based, scalable management of multiple tenants, while B2B is for per-user access.
No. The Owner and User Access Administrator roles are explicitly forbidden in Azure Lighthouse delegations. Attempting to assign them will result in a deployment error. This is a common exam trap.
The customer deploys an ARM template that defines the managing tenant ID, authorizations (principal ID and role), and scope. The template must be deployed by a user with Owner role at the scope. You can also use PowerShell or CLI, or publish a managed service offer in Azure Marketplace.
The delegations become orphaned. The customer must manually delete the registration definitions to clean up. There is no automatic cleanup.
No. Delegation is limited to subscription and resource group scopes. You cannot delegate a management group directly. However, you can delegate all subscriptions under a management group individually.
Delegated users do not appear in the customer's Azure AD. They appear in the subscription's Access control (IAM) under Role assignments with a note that they are 'Delegated' from the managing tenant. The customer can also see the managing tenant in the 'Managed by' column.
400. Each authorization maps a principal (user, group, or service principal) to an RBAC role. You can have up to 200 registration definitions per subscription.
You've just covered Azure Lighthouse for Multi-Tenant Management — now see how well it sticks with free AZ-104 practice questions. Full explanations included, no account needed.
Done with this chapter?