Skip to content

Commit f50b0c1

Browse files
committed
PoC
1 parent a8e3811 commit f50b0c1

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

msal/slc.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
```mermaid
2+
sequenceDiagram
3+
participant S as SDK
4+
participant K as TPM/KeyGuard.<br/>TBD for non-VM
5+
participant RP as Resource Provider<br/>(VM, App Service, etc.)
6+
participant E as eSTS-R
7+
alt The current design is to have SDK manage the key
8+
rect rgb(191, 233, 235)
9+
K-->>S: Get a key (per VM)
10+
S->>RP: GetSLC(cnf=key, latch_key=true of false, msi_id=optional)
11+
note over S,RP: Q: Why does RP not obtain a key by itself?<br/>A: Not because it is more secure, since RP still receives the key from SDK,<br/> and RP even remembers the key for latching/TOFU purpose.<br/>* It is because SLC team moves away from the "managed identity" model.<br/>A key obtained by RP means RP manages the identity (of current RP).<br/>A key obtained by client-side means client manages their own identity.
12+
end
13+
else This alternative is similar to the Managed Identity model.
14+
rect rgb(240,248,255)
15+
K-->>RP: Get a key (per VM)
16+
S->>RP: GetSLC(msi_id=optional)
17+
end
18+
end
19+
note over RP: Issue a cached or refreshed MSI Certificate
20+
RP->>S: Return SLC
21+
S-->>E: GetToken(), via mTLS?
22+
E->>S: token
23+
```
24+

0 commit comments

Comments
 (0)