[VARIABLE 09 :: GATE 1 BOUNDARY]
9. Entra ID Tenant ID, Azure Subscription ID & Resource Group
-
What It Is (Physical Anatomy): The three nested routing addresses that define my Gate 1 Boundary in Azure:
- Entra ID Tenant ID: My dedicated organization directory instance inside Microsoft Entra ID.
- Azure Subscription ID: The billing and management container nested directly under that Entra ID Tenant ID.
- Resource Group: The logical folder inside that Azure Subscription ID that holds my Data-Plane Asset.
- How Gate 1 Works: Locked in during Phase 1 and recorded in Section 1 of the Phase 4 Identity Architecture Ledger (IAL). Because an Azure Subscription ID only trusts the Entra ID Tenant ID directory instance it is nested under, Gate 1 verifies that my Azure Subscription ID and Resource Group sit under the exact same Entra ID Tenant ID where my Gate 2 Service Principal lives.
AKA (ALSO KNOWN AS): "Cloud perimeter," "root domain structure," "environment coordinates," "account boundary."
[VARIABLE 10 :: GATE 2 IDENTITY]
10. Application Registration & Service Principal
-
What It Is (Physical Anatomy): The two linked objects inside Microsoft Entra ID that form a non-human machine identity in Gate 2:
- Application Registration: The identity definition and configuration blueprint (which holds the Application Client ID and the Gate 3 OpenID Connect trust rule).
- Service Principal: The local directory badge (Enterprise Application Object ID) instantiated from that blueprint inside my Entra ID Tenant ID that actually receives permissions in Gate 4.
- How Gate 2 Works: Provisioned or referenced inside my Entra ID Tenant ID with zero static passwords or client secrets. The Application Registration holds the Gate 3 OpenID Connect (OIDC) Subject Claim rule (and its Client ID is used by the Execution Agent to log in), while the Service Principal Object ID receives the Gate 4 Data-Plane Role on my Data-Plane Asset.
AKA (ALSO KNOWN AS): "Machine account," "bot identity," "client object," "service account," "app identity."
[VARIABLE 11 :: GATE 2 HARDENING]
11. Single-Tenant Mode & Disabled Browser Redirect URLs
- What It Is (Physical Anatomy): Two attack-surface lockdown settings applied to my Application Registration in Gate 2. Single-Tenant mode (AzureADMyOrg) restricts the identity strictly to my own Entra ID Tenant ID so external Microsoft directories cannot instantiate it. Disabling web browser redirect URLs (Blank Redirect URI) turns off interactive browser login callbacks.
- How Gate 2 Hardening Works: Enforced on my Gate 2 Application Registration in Phase 3 and verified in Section 2 of the Identity Architecture Ledger (IAL). Because an Execution Agent runs automated background jobs without a human at a web browser, disabling browser redirect URLs eliminates browser callback phishing completely.
AKA (ALSO KNOWN AS): "Headless mode," "browser callback vector elimination," "tenant isolation."
[VARIABLE 12 :: GATE 3 PROTOCOL]
12. OpenID Connect (OIDC)
- What It Is (Physical Anatomy): The industry-standard passwordless authentication protocol configured in Gate 3 (via a Federated Identity Credential attached to my Application Registration). It allows my external Execution Agent to prove its identity using a cryptographically signed digital ID card instead of a saved password.
- How Gate 3 Federation Works: Bridges my external Execution Agent and my Gate 2 Application Registration in Microsoft Entra ID. When my Execution Agent requests access, it sends its OIDC token to Microsoft Entra ID (`api://AzureADTokenExchange`); Microsoft Entra ID verifies the OIDC Issuer URL and the exact Subject Claim, and if they match 100%, issues a 60-Minute Login Token.
AKA (ALSO KNOWN AS): "Workload Identity Federation (WIF)," "federated trust," "cryptographic handshake," "passwordless federation."
[VARIABLE 13 :: GATE 3 RETURN ADDRESS]
13. Subject Claim & Code Repository and Branch
- What It Is (Physical Anatomy): The Subject Claim (`sub`) is the exact, case-sensitive workload source identifier string on the OpenID Connect (OIDC) digital ID card that specifies the single authorized Execution Agent source (such as the exact Code Repository and Branch or container service account) permitted to authenticate into Azure.
- How Gate 3 Subject Verification Works: Because Microsoft Entra ID performs a 100% case-sensitive comparison on the Subject Claim, I run a terminal extraction script in Phase 2 to pull the exact capital-and-lowercase source identifier string from my Execution Agent and lock it into the Gate 3 Subject Claim with zero wildcards (`*`). If any unauthorized repository, branch, or workload attempts to log in, the Subject Claim fails to match and Microsoft Entra ID drops the request immediately.
AKA (ALSO KNOWN AS): "Exact repository casing," "federated trust string," "sub claim," "cryptographic coordinate."
[VARIABLE 14 :: GATE 3 CREDENTIAL]
14. 60-Minute Login Token
- What It Is (Physical Anatomy): The temporary, short-lived Azure access token issued by Microsoft Entra ID in Gate 3 that automatically expires after 60 minutes, completely replacing 2-year static client secrets and saved passwords.
- How Gate 3 Token Exchange Works: Issued by Microsoft Entra ID to my Execution Agent only after the Gate 3 OpenID Connect (OIDC) Issuer URL and Subject Claim pass verification. My Execution Agent then presents this 60-Minute Login Token in Gate 4 (within Phase 4) to assume my Service Principal and read my single Data-Plane Asset.
AKA (ALSO KNOWN AS): "Ephemeral token," "short-lived JWT," "bearer token," "access token."
[VARIABLE 15 :: PHASE 3 EXECUTION TIMING]
15. 30-Second Server Sync Timer
- What It Is (Physical Anatomy): A mandatory 30-second pause (`time_sleep` in Terraform or `Start-Sleep -Seconds 30` in PowerShell) built directly into my Phase 3 IaC Payload between provisioning a new Microsoft Entra ID object (such as an Application Registration, Service Principal, or Named Location IP list) and binding the next block of code to it (such as an OpenID Connect Subject Claim, Conditional Access policy, or Data-Plane Role).
- What Phase 3 Crash It Prevents: This crash occurs during Phase 3 terminal deployment execution before Phase 4 ever starts. When an IaC Payload creates a brand-new object in Microsoft Entra ID and immediately tries to attach a dependent rule to that new object's ID a split-second later, Microsoft's global directory servers often haven't finished replicating the new object yet and the Phase 3 terminal run crashes with a `404 Resource Not Found` error. The 30-Second Server Sync Timer pauses the Phase 3 run so Microsoft's directory servers finish syncing before the next block executes.
AKA (ALSO KNOWN AS): "Eventual consistency barrier," "Graph API replication delay mitigation," "race condition buffer."
[VARIABLE 16 :: GATE 4 LEAST PRIVILEGE]
16. Data-Plane Role
- What It Is (Physical Anatomy): The specific, narrowly scoped Azure role assigned in Gate 4 that grants permission only to read data inside a single Data-Plane Asset (such as *Key Vault Secrets User* for Azure Key Vault, *Storage Blob Data Reader* for a Storage Account, or *Cosmos DB Built-in Data Reader* for SQL / Cosmos DB).
- How Gate 4 Access Works: Bound to my Gate 2 Service Principal during Phase 3 and scoped strictly to the exact resource ID of my single Data-Plane Asset (`/subscriptions/.../resourceGroups/.../providers/...`). This allows my Execution Agent (using its 60-Minute Login Token) to read that single Data-Plane Asset in Gate 4 (within Phase 4) while having zero access to any other resource in my Resource Group or Azure Subscription ID.
AKA (ALSO KNOWN AS): "Data-plane RBAC entitlement," "granular permission mapping," "least-privilege role binding."
[VARIABLE 17 :: GATE 4 BLOCKED ROLES]
17. Owner and Contributor Roles (Blocked Management Roles)
- What It Is (Physical Anatomy): Broad Azure control-plane (management) roles that allow an identity to create, modify, remodel, or delete cloud infrastructure across an Azure Subscription ID or Resource Group. Unconstrained AI models frequently grant Contributor as a shortcut ("The Contributor Trap").
- How Gate 4 Blocks Them: Strictly forbidden by The State Machine in Gate 4 and audited as a hard `[PASS/FAIL]` guardrail in the Phase 5 Audit Results Ledger (ARL). Blocking Owner and Contributor Roles ensures that my Service Principal can never modify or delete infrastructure in my Resource Group, restricting it strictly to the single Data-Plane Role on my Data-Plane Asset.
AKA (ALSO KNOWN AS): "Broad administrative permissions," "control-plane privileges," "over-permissioned entitlements."
[VARIABLE 18 :: GATE 4 MFA SAFETY]
18. Azure Portal MFA Handoff
- What It Is (Physical Anatomy): A guided, step-by-step web portal checklist generated by The State Machine in Phase 3 whenever Azure blocks a local terminal from assigning a Gate 4 Data-Plane Role because the local terminal credential broker drops interactive multi-factor authentication (MFA) claims.
- What Real-World Crash It Prevents: On Conditional Access for Workload Identities (CAWI) or PowerShell REST API builds, attempting to assign a Data-Plane Role from a local terminal throws a 401 `RequestDisallowedByAzure` error because the terminal cannot pop up an interactive browser MFA prompt. The State Machine decouples the Gate 4 role assignment from the code script so the Phase 3 terminal deployment finishes cleanly, and gives me the exact Azure Portal MFA Handoff steps to bind the Data-Plane Role in the browser.
AKA (ALSO KNOWN AS): "Control-plane decoupling," "interactive MFA claim fallback," "portal role binding."