Skip to content

Commit a8ead8b

Browse files
committed
Update credential chains doc for Azure Identity v1.15.0 release
1 parent dc17c8a commit a8ead8b

11 files changed

+51
-22
lines changed

docs/azure/sdk/authentication/credential-chains.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: 'Credential chains in the Azure Identity library for .NET'
33
description: 'This article describes the DefaultAzureCredential and ChainedTokenCredential classes in the Azure Identity library.'
44
ms.topic: concept-article
5-
ms.date: 05/30/2025
5+
ms.date: 08/13/2025
66
---
77

88
# Credential chains in the Azure Identity library for .NET
@@ -37,7 +37,7 @@ There are two disparate philosophies to credential chaining:
3737

3838
[DefaultAzureCredential](/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet&preserve-view=true) is an opinionated, preconfigured chain of credentials. It's designed to support many environments, along with the most common authentication flows and developer tools. In graphical form, the underlying chain looks like this:
3939

40-
:::image type="content" source="../media/mermaidjs/DefaultAzureCredentialAuthFlow.svg" alt-text="DefaultAzureCredential auth flowchart":::
40+
:::image type="content" source="../media/mermaidjs/DefaultAzureCredentialAuthFlow-inline.svg" alt-text="Diagram that shows DefaultAzureCredential authentication flow." lightbox="../media/mermaidjs/DefaultAzureCredentialAuthFlow-expanded.png":::
4141

4242
The order in which `DefaultAzureCredential` attempts credentials follows.
4343

@@ -47,19 +47,24 @@ The order in which `DefaultAzureCredential` attempts credentials follows.
4747
| 2 | [Workload Identity][wi-cred] |If the app is deployed to an Azure host with Workload Identity enabled, authenticate that account. | Yes |
4848
| 3 | [Managed Identity][mi-cred] |If the app is deployed to an Azure host with Managed Identity enabled, authenticate the app to Azure using that Managed Identity. | Yes |
4949
| 4 | [Visual Studio][vs-cred] |If the developer authenticated to Azure by logging into Visual Studio, authenticate the app to Azure using that same account. | Yes |
50-
| 5 | [Azure CLI][az-cred] |If the developer authenticated to Azure using Azure CLI's `az login` command, authenticate the app to Azure using that same account. | Yes |
51-
| 6 | [Azure PowerShell][pwsh-cred] |If the developer authenticated to Azure using Azure PowerShell's `Connect-AzAccount` cmdlet, authenticate the app to Azure using that same account. | Yes |
52-
| 7 | [Azure Developer CLI][azd-cred] |If the developer authenticated to Azure using Azure Developer CLI's `azd auth login` command, authenticate with that account. | Yes |
53-
| 8 | [Interactive browser][int-cred] |If enabled, interactively authenticate the developer via the current system's default browser. | No |
50+
| 5 | [Visual Studio Code][vsc-cred] |If the developer authenticated via Visual Studio Code's [Azure Resources extension][vsc-ext] and the [Azure.Identity.Broker package][broker-pkg] is installed, authenticate that account. | Yes |
51+
| 6 | [Azure CLI][az-cred] |If the developer authenticated to Azure using Azure CLI's `az login` command, authenticate the app to Azure using that same account. | Yes |
52+
| 7 | [Azure PowerShell][pwsh-cred] |If the developer authenticated to Azure using Azure PowerShell's `Connect-AzAccount` cmdlet, authenticate the app to Azure using that same account. | Yes |
53+
| 8 | [Azure Developer CLI][azd-cred] |If the developer authenticated to Azure using Azure Developer CLI's `azd auth login` command, authenticate with that account. | Yes |
54+
| 9 | [Interactive browser][int-cred] |If enabled, interactively authenticate the developer via the current system's default browser. | No |
55+
| 10 | [Broker][int-cred] |Authenticates using the default account logged into the OS via a broker. Requires that the [Azure.Identity.Broker package][broker-pkg] is installed, since an instance of `InteractiveBrowserBrokerCredential` is used. | Yes |
5456

5557
[env-cred]: /dotnet/api/azure.identity.environmentcredential?view=azure-dotnet&preserve-view=true
5658
[wi-cred]: /dotnet/api/azure.identity.workloadidentitycredential?view=azure-dotnet&preserve-view=true
5759
[mi-cred]: /dotnet/api/azure.identity.managedidentitycredential?view=azure-dotnet&preserve-view=true
5860
[vs-cred]: /dotnet/api/azure.identity.visualstudiocredential?view=azure-dotnet&preserve-view=true
61+
[vsc-cred]: /dotnet/api/azure.identity.visualstudiocodecredential?view=azure-dotnet&preserve-view=true
5962
[az-cred]: /dotnet/api/azure.identity.azureclicredential?view=azure-dotnet&preserve-view=true
6063
[pwsh-cred]: /dotnet/api/azure.identity.azurepowershellcredential?view=azure-dotnet&preserve-view=true
6164
[azd-cred]: /dotnet/api/azure.identity.azuredeveloperclicredential?view=azure-dotnet&preserve-view=true
6265
[int-cred]: /dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet&preserve-view=true
66+
[vsc-ext]: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureresourcegroups
67+
[broker-pkg]: https://www.nuget.org/packages/Azure.Identity.Broker
6368

6469
In its simplest form, you can use the parameterless version of `DefaultAzureCredential` as follows:
6570

16.6 KB
Loading

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialAuthFlow-inline.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialAuthFlow.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
---
22
ms.topic: include
3-
ms.date: 08/07/2024
3+
ms.date: 08/13/2025
44
---
55

66
```mermaid
77
%% STEPS TO GENERATE IMAGE
88
%% =======================
99
%% 1. Install mermaid CLI v10.9.1 (see https://github.com/mermaid-js/mermaid-cli/blob/master/README.md):
1010
%% npm i -g @mermaid-js/[email protected]
11-
%% 2. Run command: mmdc -i DefaultAzureCredentialAuthFlow.md -o ../../media/mermaidjs/DefaultAzureCredentialAuthFlow.svg
11+
%% 2. Run commands:
12+
%% mmdc -i DefaultAzureCredentialAuthFlow.md -o ../../media/mermaidjs/DefaultAzureCredentialAuthFlow-inline.svg
13+
%% mmdc -i DefaultAzureCredentialAuthFlow.md -o ../../media/mermaidjs/DefaultAzureCredentialAuthFlow-expanded.png -w 1156
1214
1315
%%{
1416
init: {
@@ -31,7 +33,16 @@ flowchart LR;
3133
3234
subgraph CREDENTIALS;
3335
direction LR;
34-
A(Environment):::deployed --> B(Workload Identity):::deployed --> C(Managed Identity):::deployed --> D(Visual Studio):::developer --> E(Azure CLI):::developer --> F(Azure PowerShell):::developer --> G(Azure Developer CLI):::developer --> H(Interactive browser):::interactive;
36+
A(Environment):::deployed -->
37+
B(Workload Identity):::deployed -->
38+
C(Managed Identity):::deployed -->
39+
D(Visual Studio):::developer -->
40+
E(Visual Studio Code):::developer -->
41+
F(Azure CLI):::developer -->
42+
G(Azure PowerShell):::developer -->
43+
H(Azure Developer CLI):::developer -->
44+
I(Interactive browser):::interactive -->
45+
J(Broker):::developer;
3546
end;
3647
3748
%% Define styles for credential type boxes
@@ -44,8 +55,10 @@ flowchart LR;
4455
click B "https://learn.microsoft.com/dotnet/api/azure.identity.workloadidentitycredential?view=azure-dotnet" _blank;
4556
click C "https://learn.microsoft.com/dotnet/api/azure.identity.managedidentitycredential?view=azure-dotnet" _blank;
4657
click D "https://learn.microsoft.com/dotnet/api/azure.identity.visualstudiocredential?view=azure-dotnet" _blank;
47-
click E "https://learn.microsoft.com/dotnet/api/azure.identity.azureclicredential?view=azure-dotnet" _blank;
48-
click F "https://learn.microsoft.com/dotnet/api/azure.identity.azurepowershellcredential?view=azure-dotnet" _blank;
49-
click G "https://learn.microsoft.com/dotnet/api/azure.identity.azuredeveloperclicredential?view=azure-dotnet" _blank
50-
click H "https://learn.microsoft.com/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet" _blank;
58+
click E "https://learn.microsoft.com/dotnet/api/azure.identity.visualstudiocodecredential?view=azure-dotnet" _blank;
59+
click F "https://learn.microsoft.com/dotnet/api/azure.identity.azureclicredential?view=azure-dotnet" _blank;
60+
click G "https://learn.microsoft.com/dotnet/api/azure.identity.azurepowershellcredential?view=azure-dotnet" _blank;
61+
click H "https://learn.microsoft.com/dotnet/api/azure.identity.azuredeveloperclicredential?view=azure-dotnet" _blank
62+
click I "https://learn.microsoft.com/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet" _blank;
63+
click J "https://learn.microsoft.com/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet" _blank;
5164
```

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialAuthFlow.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialEnvVarDev.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 05/30/2025
3+
ms.date: 08/13/2025
44
---
55

66
```mermaid
@@ -24,7 +24,11 @@ flowchart LR;
2424
accTitle: DefaultAzureCredential authentication flow without deployed service credentials;
2525
accDescr: Flowchart showing the credential chain implemented by DefaultAzureCredential when AZURE_TOKEN_CREDENTIALS is set to "dev";
2626
27-
D(Visual Studio):::developer --> E(Azure CLI):::developer --> F(Azure PowerShell):::developer --> G(Azure Developer CLI):::developer;
27+
D(Visual Studio):::developer -->
28+
E(Visual Studio Code):::developer -->
29+
F(Azure CLI):::developer -->
30+
G(Azure PowerShell):::developer -->
31+
H(Azure Developer CLI):::developer;
2832
2933
%% Define styles for credential type boxes
3034
classDef developer fill:#F5AF6F, stroke:#EB7C39, stroke-width:2px;

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialEnvVarDev.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialExcludes.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 08/07/2024
3+
ms.date: 08/13/2025
44
---
55

66
```mermaid
@@ -21,7 +21,12 @@ ms.date: 08/07/2024
2121
}%%
2222
2323
flowchart LR;
24-
D(Visual Studio):::developer --> E(Azure CLI):::developer --> F(Azure PowerShell):::developer --> G(Azure Developer CLI):::developer;
24+
D(Visual Studio):::developer -->
25+
E(Visual Studio Code):::developer -->
26+
F(Azure CLI):::developer -->
27+
G(Azure PowerShell):::developer -->
28+
H(Azure Developer CLI):::developer -->
29+
I(Broker):::developer;
2530
2631
%% Define styles for credential type boxes
2732
classDef developer fill:#F5AF6F, stroke:#EB7C39, stroke-width:2px;

docs/azure/sdk/media/mermaidjs/DefaultAzureCredentialExcludes.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/azure/sdk/snippets/authentication/Directory.Packages.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
<PackageVersion Include="Microsoft.Extensions.AI" Version="9.3.0-preview.1.25114.11" />
99
<PackageVersion Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25114.11" />
1010
<PackageVersion Include="Microsoft.Extensions.Azure" Version="1.12.0" />
11-
<PackageVersion Include="Azure.Identity" Version="1.14.2" />
11+
<PackageVersion Include="Azure.Identity" Version="1.15.0" />
1212
<PackageVersion Include="Azure.Identity.Broker" Version="1.2.1" />
1313
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.8.0" />
1414
<PackageVersion Include="Azure.Storage.Blobs" Version="12.25.0" />
1515
<!-- ASP.NET Core packages -->
1616
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="8.0.8" />
1717
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.7.3" />
1818
</ItemGroup>
19-
</Project>
19+
</Project>

0 commit comments

Comments
 (0)