Cirreum.Secrets.Azure
2.0.0
dotnet add package Cirreum.Secrets.Azure --version 2.0.0
NuGet\Install-Package Cirreum.Secrets.Azure -Version 2.0.0
<PackageReference Include="Cirreum.Secrets.Azure" Version="2.0.0" />
<PackageVersion Include="Cirreum.Secrets.Azure" Version="2.0.0" />
<PackageReference Include="Cirreum.Secrets.Azure" />
paket add Cirreum.Secrets.Azure --version 2.0.0
#r "nuget: Cirreum.Secrets.Azure, 2.0.0"
#:package Cirreum.Secrets.Azure@2.0.0
#addin nuget:?package=Cirreum.Secrets.Azure&version=2.0.0
#tool nuget:?package=Cirreum.Secrets.Azure&version=2.0.0
Cirreum.Secrets.Azure
Azure Key Vault secrets provider for the Cirreum Foundation Framework
Overview
Cirreum.Secrets.Azure provides seamless integration between Azure Key Vault and the Cirreum secrets provider framework, enabling secure configuration management for .NET applications.
This package implements the SecretsProviderRegistrar pattern to automatically configure Azure Key Vault as a secrets source, with built-in support for Azure Identity authentication and flexible configuration options.
Key Features
- Seamless Integration: Drop-in Azure Key Vault support for Cirreum-based applications
- Azure Identity: the nested
Credentialblock selectsDefaultAzureCredential, a deterministicManagedIdentityCredential, or developer tooling credentials, with optional tenant-specific authentication - Flexible Configuration: Two-tier settings model for provider and instance-level configuration
- Activity Tracing: Built-in support for distributed tracing with Azure SDK telemetry
- Production Ready: Follows Microsoft.Extensions.* patterns and conventions
Usage
// Register Azure Key Vault as a secrets provider
services.AddSecretsProvider<AzureKeyVaultRegistrar>(configuration =>
{
configuration.Configure<AzureKeyVaultSettings>(settings =>
{
settings.Instances.Add(new AzureKeyVaultInstanceSettings
{
Endpoint = "https://your-vault.vault.azure.net/",
Identifier = "your-tenant-id" // Optional
});
});
});
Credential Modes
The nested Credential block (shared across Cirreum providers) selects how the instance authenticates:
| Mode | Credential | When to use |
|---|---|---|
Default |
DefaultAzureCredential |
General-purpose; tries the full credential chain |
ManagedIdentity |
ManagedIdentityCredential |
Production; deterministic, no chain fallback |
Developer |
Visual Studio → Azure CLI → Azure PowerShell | Local runs as the signed-in developer |
settings.Instances.Add(new AzureKeyVaultInstanceSettings
{
Endpoint = "https://your-vault.vault.azure.net/",
Credential = new()
{
Mode = CredentialMode.ManagedIdentity,
IdentityId = "<user-assigned-client-id>" // Optional; omit for system-assigned
}
});
"Instances": {
"default": {
"Endpoint": "https://your-vault.vault.azure.net/",
"Credential": { "Mode": "ManagedIdentity", "IdentityId": "<user-assigned-client-id>" }
}
}
IdentityId selects a user-assigned managed identity: under ManagedIdentity it picks the
identity directly, and under Default it pins the chain's managed-identity leg. It is ignored by
Developer.
Identifier sets the tenant ID and applies to Default and Developer. It has no effect under
ManagedIdentity, since a managed identity's tenant is implicit to the resource it's attached to.
Configuration
The provider supports hierarchical configuration through:
AzureKeyVaultSettings: Provider-level settingsAzureKeyVaultInstanceSettings: Individual Key Vault instance settings. SetEndpointto the vault's URI (appears as "DNS Name" in the Azure portal) — it's parsed into the vault URI used by the underlyingSecretClientinternally.
Contribution Guidelines
Be conservative with new abstractions
The API surface must remain stable and meaningful.Limit dependency expansion
Only add foundational, version-stable dependencies.Favor additive, non-breaking changes
Breaking changes ripple through the entire ecosystem.Include thorough unit tests
All primitives and patterns should be independently testable.Document architectural decisions
Context and reasoning should be clear for future maintainers.Follow .NET conventions
Use established patterns from Microsoft.Extensions.* libraries.
Versioning
Cirreum.Secrets.Azure follows Semantic Versioning:
- Major - Breaking API changes
- Minor - New features, backward compatible
- Patch - Bug fixes, backward compatible
License
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Extensions.AspNetCore.Configuration.Secrets (>= 1.5.1)
- Azure.Identity (>= 1.21.0)
- Cirreum.SecretsProvider (>= 1.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cirreum.Secrets.Azure:
| Package | Downloads |
|---|---|
|
Cirreum.Runtime.Secrets
The Runtime Secrets Provider configuration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0 | 128 | 7/30/2026 |
| 1.1.0 | 106 | 7/28/2026 |
| 1.0.21 | 118 | 7/20/2026 |
| 1.0.20 | 107 | 7/19/2026 |
| 1.0.19 | 125 | 7/4/2026 |
| 1.0.18 | 98 | 7/4/2026 |
| 1.0.17 | 122 | 5/7/2026 |
| 1.0.16 | 122 | 5/1/2026 |
| 1.0.15 | 118 | 4/28/2026 |
| 1.0.14 | 119 | 4/26/2026 |
| 1.0.12 | 134 | 4/14/2026 |
| 1.0.11 | 132 | 4/13/2026 |
| 1.0.10 | 131 | 4/10/2026 |
| 1.0.9 | 145 | 3/13/2026 |
| 1.0.8 | 122 | 3/12/2026 |
| 1.0.7 | 126 | 3/9/2026 |
| 1.0.6 | 123 | 3/6/2026 |
| 1.0.5 | 153 | 1/22/2026 |
| 1.0.4 | 142 | 1/21/2026 |
| 1.0.3 | 177 | 12/20/2025 |