Overview
LowerPlane connects to Azure using an App Registration (service principal) with read-only permissions across your subscription and Entra ID tenant.Services Monitored
| Azure Service | What LowerPlane Collects |
|---|---|
| Defender for Cloud | Security recommendations and secure score |
| Entra ID (Azure AD) | Users, groups, MFA status, conditional access policies |
| Activity Log | Administrative and security event audit trails |
| Network Watcher | Network security group rules and flow logs |
| Key Vault | Key and secret management configuration |
| Storage | Storage account encryption and access settings |
| Policy | Azure Policy compliance state |
Step 1: Open Azure Portal
Go to https://portal.azure.com/ and sign in with a Global Administrator or Application Administrator account.Step 2: Create App Registration
- Navigate to Microsoft Entra ID
- Select App registrations
- Click New registration
- Name:
LowerPlane Read-Only - Supported account types: Single tenant (this organization only)
- Redirect URI: Leave blank
Step 3: Create Client Secret
- In the app registration, go to Certificates & secrets
- Click New client secret
- Description:
lowerplane-integration - Expiry: 24 months (recommended)
Step 4: Note Application IDs
From the app registration Overview page, copy:- Application (client) ID — used as Client ID in LowerPlane
- Directory (tenant) ID — used as Tenant ID in LowerPlane
Step 5: Assign Subscription Reader Role
- Navigate to your Subscription
- Select Access control (IAM)
- Click Add role assignment
- Role: Reader
- Assign access to: User, group, or service principal
- Select: Search for
LowerPlane Read-Only(the app registration)
Step 6: Add Entra ID API Permissions
- Go back to the App Registration
- Select API permissions
- Click Add a permission
- Select Microsoft Graph
- Select Application permissions
- Add the following permissions:
| Permission | Purpose |
|---|---|
Directory.Read.All | Read users, groups, and directory data |
SecurityEvents.Read.All | Read security findings and alerts |
AuditLog.Read.All | Read audit log entries |
- Click Grant admin consent for [your organization]
Step 7: Connect in LowerPlane
- Go to Integrations in LowerPlane
- Find Azure and click Connect
- Enter:
- Tenant ID
- Client ID
- Client Secret
- Click Connect
Important Notes
- Set a reminder to rotate the client secret before it expires (Azure does not auto-renew)
- If your organization uses both Azure AD for identity and Azure for infrastructure, you may need two separate connections
- The Reader role provides read-only access. LowerPlane never modifies resources in your Azure subscription
Automated Tests
When Azure is connected, LowerPlane automatically creates and runs tests including:- MFA is enforced for all users
- Conditional access policies are configured
- Network security groups do not allow unrestricted inbound access
- Storage account encryption is enabled
- Diagnostic logging is configured
- Azure Policy compliance is monitored