Entra External ID Tenants¶
PRO + ENTERPRISE Feature
Entra External ID tenant management requires a PRO or ENTERPRISE tier licence.
Monitor and rotate App Registration credentials in Microsoft Entra External ID tenants. External ID is Microsoft's successor to Azure AD B2C, and CertifyClouds supports both tenant types side by side while you migrate.
Overview¶
CertifyClouds connects to an External ID tenant through a dedicated service principal and can:
- Discover App Registrations in the external tenant
- Inventory secrets and certificates with their expiry dates
- Rotate secrets and certificates
- Propagate rotated credentials to acknowledged Key Vault targets
- Send credential-expiry alerts, including owner-scoped alerts
External ID vs SSO
This feature is separate from SSO Setup. SSO authenticates users to CertifyClouds. External ID tenant management monitors the App Registrations used by your customer-facing applications.
Understanding External ID vs B2C¶
| Aspect | Azure AD B2C | Entra External ID external tenant |
|---|---|---|
| Purpose | Customer/consumer identity | Customer/consumer identity |
| Lifecycle | Closed to new customers | Microsoft's successor to B2C |
| App Registrations | Supported | Supported through the same Microsoft Graph surface |
| CertifyClouds support | Discovery, rotation, propagation, and alerts | The same discovery, rotation, propagation, and alerts |
You can register B2C and External ID tenants at the same time. This keeps credential monitoring and rotation available on both sides of a phased migration.
Migration tracking
CertifyClouds does not currently provide a migration-cockpit view or per-tenant migrated-state tracking. Tenant registration and credential operations are available side by side.
Prerequisites¶
Before configuring an External ID tenant:
- PRO or ENTERPRISE tier licence
- Entra External ID external tenant to monitor
- Admin access in the external tenant to create an App Registration and client secret
- Permission to grant tenant-wide admin consent for Microsoft Graph application permissions
Required Information¶
| Item | Description | Example |
|---|---|---|
| External tenant ID | Directory (tenant) GUID | 12345678-abcd-1234-... |
| External tenant domain | Primary domain | yourcompany.onmicrosoft.com |
| Service principal client ID | App Registration created for CertifyClouds | abcd1234-... |
| Service principal secret | Client secret for that App Registration | secret_... |
Setup Steps¶
Step 1: Access the External Tenant¶
- Go to Azure Portal (portal.azure.com)
- Click your profile icon, then Switch directory
- Select the Entra External ID external tenant you want CertifyClouds to manage
- Confirm that the directory ID and primary domain match the values you plan to register
Step 2: Create the CertifyClouds Service Principal¶
Create the App Registration inside the external tenant, not your workforce or home tenant:
- Navigate to Microsoft Entra ID → App registrations
- Click + New registration
- Configure:
| Field | Value |
|---|---|
| Name | CertifyClouds External ID Workload - <Tenant Name> (Production) |
| Supported account types | Accounts in this organizational directory only |
| Redirect URI | Leave blank |
- Click Register
- Copy the Application (client) ID and Directory (tenant) ID
Step 3: Create a Client Secret¶
- Open Certificates & secrets on the new App Registration
- Click + New client secret
- Enter a description such as
CertifyClouds External ID Access - Choose an expiry that meets your security policy
- Click Add
- Copy the secret Value immediately; Azure will not display it again
Step 4: Grant Required Microsoft Graph Permissions¶
- Go to API permissions
- Click + Add a permission
- Select Microsoft Graph → Application permissions
- Add permissions:
| Permission | Purpose |
|---|---|
Application.Read.All | Read App Registrations (discovery only) |
Organization.Read.All | Test the connection and read tenant information |
User.ReadBasic.All | Resolve App Registration owners for owner-scoped expiry alerts |
Application.ReadWrite.All | Modify registrations (for rotation) |
!!! tip "Least Privilege" For discovery-only, Application.Read.All is sufficient. Add ReadWrite.All only if you want CertifyClouds to rotate External ID credentials. ReadWrite.All is a strict superset, so don't grant both.
- Click Grant admin consent for [Your External Tenant]
- Verify that each permission you granted shows admin consent
Owner alerts need permission to read user details
Without User.ReadBasic.All or a broader permission that covers it, Microsoft Graph can return owner references without usable identity details. Discovery may still complete, but the resolved owner list is empty and owner-scoped expiry alerts are silently empty.
CertifyClouds Configuration¶
Once the external tenant has a service principal with consented permissions, register it in the app. The steps are the same for Entra External ID and Azure AD B2C, so they are documented once in Registering and managing external tenants: Tenants → External → Add Tenant, set Tenant Type to Entra External ID (CIAM), enter the tenant and credential details, Test Connection, then Register Tenant.
What Gets Discovered¶
For each App Registration credential in the External ID tenant:
| Item | Details |
|---|---|
| App name | App Registration display name |
| Client ID | Application ID |
| Secrets | Password credentials with expiry dates |
| Certificates | Key credentials with expiry dates |
| Owners | Resolved owners used for owner-scoped alerts |
| Expiry status | Expired, Expiring Soon (≤30 days), or Valid |
Discovery, Rotation, and Propagation¶
External ID tenants use the same CertifyClouds workflows as B2C tenants:
- Discovery inventories App Registration secrets and certificates
- You acknowledge the credential's matched Key Vault targets. The per-record Auto toggle only governs automated rotation; Rotate now also works with it off when the credential is otherwise ready.
- CertifyClouds creates a new secret or certificate in the external tenant
- The new credential is written to every acknowledged Key Vault target
- The rotation result and Key Vault propagation status appear in rotation history
- Expiry rules continue to evaluate the discovered credentials and notify configured recipients
Both secret rotation and certificate rotation are supported. Key Vault targets remain in the corporate tenant and are updated through the existing propagation workflow.
Differences from Azure AD B2C¶
| Area | External ID behaviour |
|---|---|
| Credential limit | External ID's organisation-audience apps do not have B2C's two-credential limit for Microsoft-account-audience apps, so the B2C at-cap replacement path does not apply to them |
| Sign-in domain | External ID does not use b2clogin.com; that domain is specific to B2C user flows |
| Trust framework | External ID has no B2C trust-framework keys or custom-policy keysets |
These differences do not change the standard CertifyClouds discovery, rotation, Key Vault propagation, or alert workflows described above.
Configuring Alerts¶
Expiry alerts for External ID credentials are set up the same way as for any external tenant, including owner-scoped delivery. See Configuring alerts.
Troubleshooting¶
Common Issues¶
| Issue | Cause | Solution |
|---|---|---|
| Connection failed | Invalid tenant ID, client ID, or secret | Verify the values came from the External ID tenant |
| Access denied during connection test | Missing Organization.Read.All or admin consent | Grant the permission as an application permission and grant admin consent |
| Discovery or rotation denied | Missing Application.ReadWrite.All or admin consent | Grant the permission and retry |
| Owner-scoped alerts have no recipients | Missing User.ReadBasic.All or a broader permission, missing admin consent, or no owners assigned | Grant the permission, confirm owners on the App Registration, then run discovery again |
| Target app not discovered | App is in a different directory | Confirm the App Registration exists in the registered external tenant |
Security Best Practices¶
See Security best practices on the shared page. They apply unchanged to External ID tenants.