AWSSecretsManager.Provider
                             
                            
                                1.1.2.18
                            
                        
                    See the version list below for details.
dotnet add package AWSSecretsManager.Provider --version 1.1.2.18
NuGet\Install-Package AWSSecretsManager.Provider -Version 1.1.2.18
<PackageReference Include="AWSSecretsManager.Provider" Version="1.1.2.18" />
<PackageVersion Include="AWSSecretsManager.Provider" Version="1.1.2.18" />
<PackageReference Include="AWSSecretsManager.Provider" />
paket add AWSSecretsManager.Provider --version 1.1.2.18
#r "nuget: AWSSecretsManager.Provider, 1.1.2.18"
#:package AWSSecretsManager.Provider@1.1.2.18
#addin nuget:?package=AWSSecretsManager.Provider&version=1.1.2.18
#tool nuget:?package=AWSSecretsManager.Provider&version=1.1.2.18
AWSSecretsManager.Provider
This is a modern, community-maintained fork of Kralizek/AWSSecretsManagerConfigurationExtensions, originally developed by Renato Golia.
It provides a configuration provider for Microsoft.Extensions.Configuration that loads secrets from AWS Secrets Manager.
🚀 What's New in This Fork
- ✅ Targeted to .NET 8 and .NET 9
 - ✅ Converted to use 
System.Text.Jsononly - ✅ Refactored structure for better modern SDK usage
 - ✅ NEW: Comprehensive logging support with 
ILoggerintegration - ✅ Published as a new NuGet package: 
AWSSecretsManager.Provider 
🔧 Usage
ASP.NET Core Example
public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((context, config) =>
            {
                config.AddSecretsManager(); // 👈 AWS Secrets Manager integration
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}
Console App Example
static void Main(string[] args)
{
    var builder = new ConfigurationBuilder();
    builder.AddSecretsManager();
    var config = builder.Build();
    Console.WriteLine("Secret: " + config["MySecret"]);
}
Your application must have AWS credentials available through the default AWS SDK mechanisms. Learn more here:
👉 AWS SDK Credential Config
📋 Logging Support
The provider includes comprehensive logging support for better observability:
// Using ILoggerFactory (recommended)
using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
builder.Configuration.AddSecretsManager(
    loggerFactory,
    configurator: options => options.PollingInterval = TimeSpan.FromMinutes(5));
// Using explicit ILogger
var logger = loggerFactory.CreateLogger<SecretsManagerConfigurationProvider>();
builder.Configuration.AddSecretsManager(
    logger,
    configurator: options => options.PollingInterval = TimeSpan.FromMinutes(5));
Log Levels:
- Information: Key operations (loading, reloading, polling status)
 - Debug: Batch processing details and secret counts
 - Trace: Individual secret processing and change detection
 - Warning: Polling errors and missing secrets (when ignored)
 - Error: Failed operations with full context
 
Example Log Output:
[Information] Loading secrets from AWS Secrets Manager
[Debug] Fetching 15 secrets in 1 batches
[Information] Successfully loaded 47 configuration keys in 1,234ms
[Information] Starting secret polling with interval 00:05:00
🔒 Configuration Options
This provider supports several customization options, including:
- Credentials: Pass your own credentials if needed.
 - Region: Customize the AWS region.
 - Filtering: Control which secrets are loaded via filters or explicit allow lists.
 - Key generation: Customize how configuration keys are named.
 - Version stage: Set version stages for secrets.
 - Logging: Full logging support with 
ILoggerintegration for observability. - LocalStack support: Override 
ServiceUrlfor local testing. 
Refer to samples for examples of each option.
📦 Installation
dotnet add package AWSSecretsManager.Provider
✅ Building Locally
This repo is built with the standard .NET SDK:
dotnet build
dotnet test
🙌 Acknowledgments
This project is based on the excellent work by Renato Golia and inspired by the broader .NET and AWS developer community.
📄 License
This project is licensed under the MIT License.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ncipollina"><img src="https://avatars.githubusercontent.com/u/1405469?v=4?s=100" width="100px;" alt="Nick Cipollina"/><br /><sub><b>Nick Cipollina</b></sub></a><br /><a href="https://github.com/LayeredCraft/aws-secrets-manager-provider/commits?author=ncipollina" title="Code">💻</a></td> </tr> </tbody> </table>
This project follows the all-contributors specification. Contributions of any kind welcome!
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. | 
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. | 
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. | 
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. | 
| MonoAndroid | monoandroid was computed. | 
| MonoMac | monomac was computed. | 
| MonoTouch | monotouch was computed. | 
| Tizen | tizen40 was computed. tizen60 was computed. | 
| Xamarin.iOS | xamarinios was computed. | 
| Xamarin.Mac | xamarinmac was computed. | 
| Xamarin.TVOS | xamarintvos was computed. | 
| Xamarin.WatchOS | xamarinwatchos was computed. | 
- 
                                                    
.NETStandard 2.0
- AWSSDK.SecretsManager (>= 4.0.0.20)
 - LayeredCraft.StructuredLogging (>= 1.1.1.8)
 - Microsoft.Extensions.Configuration (>= 9.0.8)
 - Microsoft.Extensions.Logging.Abstractions (>= 9.0.8)
 - System.Text.Json (>= 9.0.8)
 
 - 
                                                    
net8.0
- AWSSDK.SecretsManager (>= 4.0.0.20)
 - LayeredCraft.StructuredLogging (>= 1.1.1.8)
 - Microsoft.Extensions.Configuration (>= 9.0.8)
 - Microsoft.Extensions.Logging.Abstractions (>= 9.0.8)
 - System.Text.Json (>= 9.0.8)
 
 - 
                                                    
net9.0
- AWSSDK.SecretsManager (>= 4.0.0.20)
 - LayeredCraft.StructuredLogging (>= 1.1.1.8)
 - Microsoft.Extensions.Configuration (>= 9.0.8)
 - Microsoft.Extensions.Logging.Abstractions (>= 9.0.8)
 - System.Text.Json (>= 9.0.8)
 
 
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | 
|---|---|---|
| 1.1.5.21 | 1,894 | 10/19/2025 | 
| 1.1.4.20 | 663 | 10/14/2025 | 
| 1.1.3.19 | 13,093 | 9/8/2025 | 
| 1.1.2.18 | 163 | 9/8/2025 | 
| 1.1.2.16 | 1,689 | 8/22/2025 | 
| 1.1.1.15 | 22,225 | 7/25/2025 | 
| 1.1.1.14 | 3,263 | 7/10/2025 | 
| 1.1.0.13 | 18,217 | 6/23/2025 | 
| 1.1.0.12 | 8,961 | 6/6/2025 | 
| 1.1.0-beta.11 | 128 | 6/5/2025 | 
| 1.1.0-beta.10 | 131 | 6/5/2025 | 
| 1.0.2-beta.9 | 129 | 6/5/2025 | 
| 1.0.1.8 | 16,849 | 5/21/2025 | 
| 1.0.1.7 | 585 | 5/19/2025 | 
| 1.0.1.6 | 179 | 5/9/2025 | 
| 1.0.1.4 | 901 | 5/8/2025 |