Choose an AWS Secrets Manager access mode
masterThe library provides three distinct modes for loading secrets, depending on your access patterns and IAM permissions:
- Discovery Mode (
AddSecretsManagerDiscovery): Automatically finds and fetches secrets. It callsListSecretsfollowed byBatchGetSecretValue. Requiressecretsmanager:ListSecretsandsecretsmanager:BatchGetSecretValueIAM permissions. - KnownSecrets Mode (
AddSecretsManagerKnownSecrets): Fetches a specific list of secrets without searching for them. It callsBatchGetSecretValue. Requiressecretsmanager:BatchGetSecretValueIAM permissions. - KnownSecret Mode (
AddSecretsManagerKnownSecret): Fetches exactly one specific secret. It callsGetSecretValue. Requiressecretsmanager:GetSecretValueIAM permissions.
using Microsoft.Extensions.Configuration;
// Discovery: calls ListSecrets + BatchGetSecretValue
var configuration = new ConfigurationBuilder()
.AddSecretsManagerDiscovery()
.Build();
// KnownSecrets: calls BatchGetSecretValue for a fixed list — no ListSecrets
var configuration = new ConfigurationBuilder()
.AddSecretsManagerKnownSecrets(new[] { "my-app/db", "my-app/api-key" })
.Build();
// KnownSecret: calls GetSecretValue for exactly one secret — no ListSecrets, no Batch
var configuration = new ConfigurationBuilder()
.AddSecretsManagerKnownSecret("my-app/prod")
.Build();