Skip to content

Commit 079b176

Browse files
authored
Revise MSI V2 token acquisition process documentation (#5512)
* Revise MSI V2 token acquisition process documentation Updated token acquisition process for MSI V2 with new diagrams and detailed steps. * Update msi_with_credential_design.md
1 parent 719e7e8 commit 079b176

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

docs/msi_v2/msi_with_credential_design.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ The primary objective is to enable seamless token acquisition in MSI V2 for VM/V
1616

1717
In **MSI V1**, IMDS or any other Managed Identity Resource Provider (MIRP) directly returns an **access token**. However, in **MSI V2**, the process involves few more steps:
1818

19+
Conceptual diagram
20+
1921
```mermaid
2022
sequenceDiagram
2123
participant App as Application
@@ -24,10 +26,31 @@ sequenceDiagram
2426
participant MAA as Azure MAA
2527
participant ESTS as Entra STS (mTLS)
2628
27-
App ->> MSAL: AcquireTokenForManagedIdentity()
29+
App ->> MSAL: AcquireToken
30+
MSAL -> MSAL: Detect that MSIv2 is available, otherwise bail
31+
MSAL -> MSAL: Create the strongest key possible, e.g. in the TPM
32+
MSAL ->> MAA: Acquire an attestation token, which proves the key strength
33+
MSAL ->> IMDS: Certificate Signing Request with (key, attestation token)
34+
IMDS -->> MSAL: Certificate associated with key
35+
MSAL ->> ESTS: Open mTLS connection to ESTS with this certificate and acquire token
36+
ESTS -->> MSAL: token with special claim xms_tb
37+
MSAL -->> App: token and certificate
38+
```
39+
40+
Technical diagram
41+
42+
```mermaid
43+
sequenceDiagram
44+
participant App as Application
45+
participant MSAL
46+
participant IMDS
47+
participant MAA as Azure MAA
48+
participant ESTS as Entra STS (mTLS)
49+
50+
App ->> MSAL: AcquireToken
2851
MSAL ->> IMDS: GET /metadata/identity/getPlatformMetadata
2952
IMDS -->> MSAL: client_id, tenant_id, cuid, maa_endpoint
30-
53+
3154
alt Attestable CU
3255
MSAL ->> MAA: POST /attest/keyguard (attestation info)
3356
MAA -->> MSAL: attestation_token

0 commit comments

Comments
 (0)