-
Notifications
You must be signed in to change notification settings - Fork 6k
Update visual studio code auth content and diagrams #48182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
efc7876
bc1052f
8c4a38f
03ef5f1
aaa4e72
9bb3d06
6e03fa3
41a7f94
788b37c
2c0aae8
dce1297
d7379a8
f72eb22
02c0579
0130b2a
813aeb8
ad6cdd6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
ms.topic: include | ||
ms.date: 08/07/2024 | ||
--- | ||
|
||
```mermaid | ||
%% STEPS TO GENERATE IMAGE | ||
%% ======================= | ||
%% 1. Install mermaid CLI v10.9.1 (see https://github.com/mermaid-js/mermaid-cli/blob/master/README.md): | ||
%% npm i -g @mermaid-js/mermaid-cli@10.9.1 | ||
%% 2. Run command: mmdc -i authentication-environments.md -o ../../media/mermaidjs/authentication-environments.svg | ||
|
||
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#fff', 'edgeLabelBackground':'#fff', 'fontSize': '24px'}}}%% | ||
flowchart LR | ||
NetApp[".NET app"] | ||
Q1{Where is the app running?} | ||
|
||
NetApp --> Q1 | ||
|
||
%% Local Development Machine Branch | ||
Q1 --> LocalDev[Development machine] | ||
LocalDev --> AppSP["**Service principal**"] | ||
LocalDev --> DevAccount["**Developer account**"] | ||
LocalDev --> Broker["**Broker**"] | ||
|
||
%% Azure Branch | ||
Q1 --> AzureApp[Azure] | ||
AzureApp --> ManagedId["**Managed identity**"] | ||
|
||
%% On-premises Server Branch | ||
Q1 --> OnPremApp[On-premises server] | ||
OnPremApp --> ServicePrincipal["**Service principal**"] | ||
|
||
%% Styling | ||
classDef questionBox fill:#4472C4,stroke:#333,stroke-width:2px,color:#fff,font-size:24px | ||
classDef authMethod fill:#e6f2ff,stroke:#4472C4,stroke-width:2px,color:#000,font-size:24px | ||
classDef envNode fill:#8fbc8f,stroke:#333,stroke-width:2px,color:#000,font-size:24px | ||
classDef startNode fill:#2d5f3f,stroke:#333,stroke-width:2px,color:#fff,font-size:24px | ||
|
||
%% Edge label styling | ||
linkStyle default font-size:24px | ||
|
||
class NetApp startNode | ||
class Q1 questionBox | ||
class AppSP,DevAccount,Broker,ManagedId,ServicePrincipal authMethod | ||
class LocalDev,AzureApp,OnPremApp envNode | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
ms.topic: include | ||
ms.date: 08/07/2024 | ||
--- | ||
|
||
```mermaid | ||
alexwolfmsft marked this conversation as resolved.
Show resolved
Hide resolved
|
||
%% STEPS TO GENERATE IMAGE | ||
%% ======================= | ||
%% 1. Install mermaid CLI v10.9.1 (see https://github.com/mermaid-js/mermaid-cli/blob/master/README.md): | ||
%% npm i -g @mermaid-js/mermaid-cli@10.9.1 | ||
%% 2. Run command: mmdc -i local-broker-authentication.md -o ../../media/mermaidjs/local-broker-authentication.svg | ||
|
||
flowchart LR | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What are we trying to communicate with this diagram? I think we should either use a component diagram that illustrates how the broker interacts with the application or remove it. |
||
APP["Local .NET app"] | ||
BK["User credentials supplied by broker"] | ||
AS["Azure services"] | ||
|
||
APP --> BK | ||
BK --> AS | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It might be helpful to add another layer to this diagram to emphasize that the Broker is part of Windows (WAM), Intune in Linux and MacOS and that these OS component and tools are the one interacting with the .NET App to get the User's credentials. |
||
|
||
classDef app fill:#e6f3ff,stroke:#0078d4,stroke-width:2px,color:#000,font-size:16px | ||
classDef serviceP fill:#D4F4D4,stroke:#7BC97B,stroke-width:2px,color:#000,font-size:16px | ||
classDef services fill:#0078d4,stroke:#005ba1,stroke-width:2px,color:#fff,font-size:16px | ||
|
||
class APP app | ||
class SP serviceP | ||
class AS services | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
ms.topic: include | ||
ms.date: 08/07/2024 | ||
--- | ||
|
||
```mermaid | ||
%% STEPS TO GENERATE IMAGE | ||
%% ======================= | ||
%% 1. Install mermaid CLI v10.9.1 (see https://github.com/mermaid-js/mermaid-cli/blob/master/README.md): | ||
%% npm i -g @mermaid-js/mermaid-cli@10.9.1 | ||
%% 2. Run command: mmdc -i local-developer-authentication.md -o ../../media/mermaidjs/local-developer-authentication.svg | ||
flowchart TD | ||
ARL[Local .NET app] | ||
VS[Visual Studio] | ||
VSC[Visual Studio Code] | ||
AZCLI[Azure CLI] | ||
AZPS[Azure PowerShell] | ||
AZD[Azure Developer CLI] | ||
DevAccount["Developer account credentials"] | ||
AS["Azure services"] | ||
ARL --> VS | ||
ARL --> VSC | ||
ARL --> AZD | ||
ARL --> AZCLI | ||
ARL --> AZPS | ||
VS --> DevAccount | ||
VSC --> DevAccount | ||
AZD --> DevAccount | ||
AZCLI --> DevAccount | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The CLI and perhaps others can authenticate service principles in addition to developer accounts. I'm not sure if this diagram adds any new information other than these tools can interact with developer credentials. |
||
AZPS --> DevAccount | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Broker is also part of the Dev credentials; it's another way to get access to the Developer account credentials |
||
DevAccount --> AS | ||
classDef highlight fill:#0078d4,stroke:#005ba1,stroke-width:2px,color:#fff,font-size:16px | ||
classDef tools fill:#e6f3ff,stroke:#0078d4,stroke-width:1px,font-size:16px | ||
classDef default font-size:16px | ||
classDef lightgreen fill:#D4F4D4,stroke:#7BC97B,stroke-width:2px,color:#000,font-size:16px | ||
class AS highlight | ||
class VS,VSC,AZD,AZCLI,AZPS tools | ||
class LA,ARL default | ||
class DevAccount lightgreen | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
ms.topic: include | ||
ms.date: 08/07/2024 | ||
--- | ||
|
||
```mermaid | ||
%% STEPS TO GENERATE IMAGE | ||
%% ======================= | ||
%% 1. Install mermaid CLI v10.9.1 (see https://github.com/mermaid-js/mermaid-cli/blob/master/README.md): | ||
%% npm i -g @mermaid-js/mermaid-cli@10.9.1 | ||
%% 2. Run command: mmdc -i local-service-principal-authentication.md -o ../../media/mermaidjs/local-service-principal-authentication.svg | ||
|
||
flowchart LR | ||
APP["Local .NET app"] | ||
SP["App service principal stored in environment variables"] | ||
AS["Azure services"] | ||
|
||
APP --> SP | ||
SP --> AS | ||
|
||
classDef app fill:#e6f3ff,stroke:#0078d4,stroke-width:2px,color:#000,font-size:16px | ||
classDef serviceP fill:#D4F4D4,stroke:#7BC97B,stroke-width:2px,color:#000,font-size:16px | ||
classDef services fill:#0078d4,stroke:#005ba1,stroke-width:2px,color:#fff,font-size:16px | ||
|
||
class APP app | ||
class SP serviceP | ||
class AS services | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we are mixing concepts here - Broker would be a developer account also. Should we use only
Service principal
andUser principal
? We could probably get rid of Broker.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea behind this diagram is the authentication approach or technique that the user would implement, so even though the underlying account is the same its acquired using a different approach.