Skip to content

🌟 **Azure Lighthouse


πŸ“Œ What is Azure Lighthouse?

Azure Lighthouse allows cross-tenant management of Azure resources at scale.
It lets MSPs (Managed Service Providers) or enterprise teams manage multiple customer tenants/subscriptions securely, natively, and at scale from their own tenant.


🧠 Why Use Azure Lighthouse?

Feature Benefit
Cross-tenant management Manage multiple customer environments from one portal
Just-in-time (JIT) access Reduce standing privileges using PIM integration
RBAC-based access delegation Granular control over who can do what
Security and compliance Auditability, least privilege, and MFA enforced
Automation support ARM, Bicep, Terraform, and REST APIs supported

🧰 Key Concepts

Term Description
Managing tenant The service provider’s tenant (your tenant)
Customer tenant The tenant you are managing
Delegated resource Subscription or Resource Group assigned to be managed externally
Authorization RBAC roles assigned during delegation (e.g., Reader, Contributor, etc.)

βš™οΈ Setup Overview

πŸͺ„ Option 1: Portal-Based (Manual)

  1. Go to Azure Lighthouse > Service Providers

  2. Click Add customer

  3. Choose subscription/resource group

  4. Assign RBAC roles

  5. Customer must accept the delegation


🧱 Option 2: Programmatic (ARM/Bicep)

ARM Template Example

{
  "properties": {
    "authorizations": [
      {
        "principalId": "<objectId-of-user-or-group>",
        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/<role-guid>",
        "principalIdDisplayName": "DevOps Engineer"
      }
    ],
    "managedByTenantId": "<managing-tenant-id>"
  }
}

Deploy via CLI

az deployment create \
  --name lighthouse-delegation \
  --location eastus \
  --template-file delegation.json \
  --parameters principalId=<user/group ID> roleDefinitionId=<role-id> managedByTenantId=<your-tenant-id>

🌍 Terraform Example

resource "azurerm_lighthouse_definition" "example" {
  name                = "my-lighthouse-def"
  scope               = azurerm_subscription.primary.id
  managing_tenant_id  = "00000000-0000-0000-0000-000000000000"
  description         = "Lighthouse access for DevOps team"

  authorization {
    principal_id       = "12345678-1234-1234-1234-123456789abc"
    role_definition_id = "b24988ac-6180-42a0-ab88-20f7382dd24c" # Contributor
  }
}

πŸ›  Use Cases

Use Case Example
Managed Service Provider (MSP) Manage multiple customer environments from one console
Multi-team internal access Central IT manages many business unit subscriptions securely
DevOps-as-a-Service Your team manages customer pipelines, infra, monitoring centrally
Security Auditing Give read-only (RBAC) access to auditors without full trust delegation

πŸ”’ Security Features

Feature Azure Lighthouse
Role-based Access Control (RBAC) βœ… Granular and scoped
Azure AD Conditional Access βœ… Enforce MFA, location policies
Just-in-time access (PIM) βœ… Via Azure AD Privileged Identity Mgmt
Audit Logs βœ… Cross-tenant activity tracked in Azure

🀝 Azure Lighthouse vs AWS Resource Access Manager (RAM)

Feature Azure Lighthouse AWS RAM
Cross-tenant resource access βœ… Full RBAC, native delegation ⚠️ Only limited resource types (VPC, FSx)
Fine-grained permissions βœ… RBAC + PIM + Conditional Access ⚠️ IAM-based, but not as flexible
Multi-subscription management βœ… Native in Azure Portal/CLI ❌ Not directly centralized
MSP / external party support βœ… Built-in for service providers ❌ Needs Org-level trust or workarounds
GitOps and DevOps automation βœ… ARM, Bicep, Terraform, REST, PowerShell ⚠️ Only limited CloudFormation support

πŸ“Œ Conclusion: Azure Lighthouse is more powerful for centralized cross-tenant access and DevOps automation than AWS RAM.


πŸ“Š Monitoring and Auditing

Use Azure Monitor, Activity Logs, and Log Analytics to:

  • View cross-tenant activity logs

  • Track who accessed which resource

  • Monitor compliance of managed environments


πŸ” Azure Lighthouse vs AWS Organizations

Feature/Concept Azure Lighthouse AWS Organizations
πŸ”‘ Purpose Delegate resource access across tenants (MSP-focused) Account management and centralized billing/governance
🧩 Scope Cross-tenant (customer β†’ service provider) Intra-org (within same AWS org accounts)
πŸ” Access Control RBAC delegation (Contributor, Reader, etc.) across tenants SCPs (Service Control Policies), IAM Roles within Org Units
πŸ§‘β€πŸ”§ Use Case MSP managing multiple customer environments securely Large enterprise managing multiple internal AWS accounts
πŸ’° Billing Management ❌ No billing features βœ… Consolidated billing, cost management
πŸ“Š Policy and Security Mgmt Delegated via RBAC, PIM, Conditional Access SCPs, Guardrails, central config enforcement
πŸ” Trust Model Explicit delegation by customer (they retain ownership) Implicit trust under same AWS Org root
βš™οΈ Automation Support βœ… ARM, Bicep, Terraform, REST, PowerShell βœ… CloudFormation, AWS CLI, Terraform
🧾 Auditability βœ… Delegated access, full logs in managing tenant βœ… CloudTrail logs per account
πŸ§‘β€πŸ’» Target Audience MSPs, Partners, Multi-Tenant DevOps Enterprises managing many business unit AWS accounts

🧠 Summary

πŸ”§ Use Case Use
Managing customers’ Azure environments βœ… Azure Lighthouse
Managing multiple internal AWS accounts βœ… AWS Organizations
Consolidated billing and budgets βœ… AWS Organizations
Secure cross-tenant DevOps/Monitoring βœ… Azure Lighthouse

πŸ”„ Analogy

Scenario Azure Equivalent AWS Equivalent
Partner managing multiple client tenants Azure Lighthouse ❌ No direct equivalent
Company managing multiple internal accounts Management Groups + Policy βœ… AWS Organizations

βœ… Conclusion:

  • Azure Lighthouse β‰  AWS Organizations

  • Azure Lighthouse is like giving external access to a customer's environment in a controlled, auditable way.

  • AWS Organizations is like managing your own family of accounts under one umbrella.