Guest Access Patterns for Azure Subscriptions Using Access Packages
External users—partners, vendors, contractors, auditors—often need access to Azure subscriptions. Without governance, this becomes risky fast. Access Packages provide a clean, controlled, auditable way to onboard and manage guest access.
This post covers how to design and implement guest access patterns for subscription access.
Why Guest Access Needs Special Governance
1. External users pose higher risk
They’re not part of your organisation, so:
- You can’t rely on internal HR processes
- You can’t assume their accounts are well-managed
- You must enforce strict expiry and reviews
2. Guests often need temporary access
Access Packages allow:
- Time-bound access
- Automatic removal
- Approval workflows
- Justification requirements
3. Auditors love Access Packages
They provide:
- Full request history
- Approval logs
- Expiry dates
- Review outcomes
4. Avoid direct RBAC assignments
Never assign RBAC roles directly to guest accounts. Access Packages give you:
- Controlled onboarding
- Automatic offboarding
- Centralised governance
Prerequisites for Guest Access
- Microsoft Entra ID P2
- External collaboration settings configured
- Allow B2B guests
- Restrict invitation permissions if needed
- Identity Governance Administrator role
- Defined approval chain for external users
- Defined expiry rules (guests should always have expiry)
Guest Access Patterns for Subscriptions
There are three common patterns:
Pattern 1 — Guest Access Package Per Subscription
Best for vendors or partners working on a specific environment.
Example:
- Guest-Access-Subscription-A
- Guest-Access-Subscription-B
Characteristics:
- Strict approval
- Short expiry (7–30 days)
- Mandatory justification
- Access Reviews enabled
- Limited roles (Reader or Contributor only)
Pattern 2 — Guest Access Package Per Project
Best for multi-subscription projects.
Example:
- Project-X-Guest-Access
- Includes Subscription A + Subscription B roles
- Includes Teams group or SharePoint site
- Includes project-specific apps
Characteristics:
- Unified access
- Project owner approval
- Expiry aligned with project timeline
- Access Reviews monthly
Pattern 3 — Guest Access Package for Auditors
Auditors often need read-only access across multiple subscriptions.
Example:
- Audit-Guest-Access
- Subscription A → Reader
- Subscription B → Reader
- Subscription C → Reader
Characteristics:
- Very short expiry (7–14 days)
- No Contributor roles
- Multi-stage approval (security + platform team)
- Mandatory justification
- Access Reviews weekly during audit period
Step-by-Step: Creating a Guest Access Package
Step 1 — Create a Catalog
Use a dedicated catalog:
- Guest-Access-Catalog
This keeps external access separate from internal packages.
Step 2 — Add Subscription Resources
Add subscription RBAC roles to the catalog:
- Reader
- Contributor (only if necessary)
Avoid Owner roles for guests.
Step 3 — Create the Access Package
- Go to Access packages → New access package
- Name: Guest-Subscription-A-Access
- Select Guest-Access-Catalog
Step 4 — Configure Resource Roles
Add:
- Subscription A → Reader
- Optional: specific resource groups
Step 5 — Configure Guest Request Policy
Under Policies → Add policy:
- Who can request:
- All users (including guests)
- Or Only users from specific domains
- Approval:
- Stage 1: Project owner
- Stage 2: Platform team
- Justification: Required
- Access duration:
- Expires after 14 days
- Require reapproval: Enabled
Step 6 — Configure Lifecycle
- Access Reviews: Weekly or monthly
- Auto-remove if no response: Enabled
- Block permanent access: Enabled
Step 7 — Validate
Use a test guest account to:
- Request access
- Trigger approval
- Validate RBAC assignment
- Confirm expiry behaviour
Operational Tips for Guest Access
- Use short expiry for all guest access
- Use multi-stage approvals
- Use Reader roles unless absolutely necessary
- Use Access Reviews aggressively
- Document guest access packages separately
- Monitor guest activity via Entra ID sign-in logs
Summary
Guest access is one of the highest-risk areas in Azure governance. Access Packages give you a controlled, auditable, and automated way to onboard and offboard external users. When combined with expiry, approvals, and Access Reviews, they form a robust governance pattern that scales across all subscriptions and projects.
