πŸ” Microsoft Entra ID

Microsoft Entra ID (formerly Azure Active Directory) is the cloud‑based identity and access management platform used in the homelab to provide centralized authentication, OAuth2 identity services, and secure application access.
In this environment, Entra ID acts as the primary OAuth2 provider for internal applications protected behind the reverse proxy, enabling modern authentication flows without maintaining local identity infrastructure.

Entra ID integrates seamlessly with the homelab’s automation stack, allowing service principals, OAuth2 clients, and application registrations to be provisioned programmatically using Ansible.


🧩 How Entra ID Fits Into the Homelab


🧱 Core Concepts

🧩 Service Principal

Think of a Service Principal as the cloud‑native equivalent of a service account β€” but designed specifically for applications rather than users. Where a service account is a user identity with a password, a Service Principal is an application identity that authenticates using client credentials (secret or certificate) and receives RBAC‑scoped access to Azure resources. It’s the secure, modern way for automation tools in the homelab to interact with Entra ID.

Why It Matters Here


πŸ” RBAC (Role‑Based Access Control)

RBAC is an access‑control model where permissions are assigned to roles, and identities gain permissions only by being assigned those roles.
It simplifies authorization by managing access at the role level instead of the individual level.

Homelab Usage


πŸ”‘ Credential Types

Client Secret

Certificate Authentication

OAuth2 Client Credentials Flow

Used by:


Diagram: App Registration β†’ Service Principal β†’ RBAC

THe following illustrates the relationship between the afformentioned core concepts of Microsoft Entra ID.

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚   Application Object     β”‚
                β”‚  (App Registration)      β”‚
                β”‚                          β”‚
                β”‚  β€’ Global definition     β”‚
                β”‚  β€’ Client ID             β”‚
                β”‚  β€’ Redirect URIs         β”‚
                β”‚  β€’ API permissions       β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚     Service Principal     β”‚
                β”‚   (Enterprise App)        β”‚
                β”‚                           β”‚
                β”‚  β€’ Instance of the app    β”‚
                β”‚  β€’ Auth via secret/cert   β”‚
                β”‚  β€’ Identity for automationβ”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚           RBAC            β”‚
                β”‚  Role Assignments         β”‚
                β”‚                           β”‚
                β”‚  β€’ Reader / Contributor   β”‚
                β”‚  β€’ Least‑privilege access β”‚
                β”‚  β€’ Scoped to resources    β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“˜ Related Pages


βœ… Summary

This page serves as the central hub for all Microsoft Entra ID–related documentation in the homelab.

Use the links above to explore automation workflows, service principal creation, and OAuth2 provisioning patterns.