Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration AWS Secrets Manager
AWS Secrets Manager vous aide à protéger les secrets dont vous avez besoin pour accéder à vos applications, services et ressources informatiques. Le service stocke, gère, chiffre et fait pivoter en toute sécurité les informations d'identification, les API clés et autres secrets de base de données, y compris les OAuth jetons, et fournit une intégration native avec Amazon Relational Database Service (Amazon), Amazon Redshift et RDS Amazon DocumentDB. Les utilisateurs et les applications récupèrent les secrets en appelant Secrets ManagerAPIs, ce qui élimine le besoin de coder en dur les informations sensibles en texte brut. Secrets Manager inclut des autorisations de contrôle d'accès détaillées et fournit un emplacement centralisé pour auditer la rotation des secrets dans les AWS Cloud environnements, locaux et tiers.
Conditions préalables à l'utilisation de Secrets Manager avec. NETApplications du framework
-
Un actif Compte AWS
-
Microsoft Visual Studio
, installé -
AWS Command Line Interface (AWS CLI) version 2, installée et configurée pour accéder à votre Compte AWS (voir les instructions)
-
AWS Toolkit for Visual Studio, configuré (voir les instructions)
-
Un secret, créé et récupéré à l'aide de la console Secrets Manager ou du AWS CLI (voir les instructions)
Exemple
Pour accéder aux secrets depuis Secrets Manager dans leASP. NETWeb principal API (. NET6) :
-
Ajoutez le NuGet package suivant auASP. NETWeb principalAPI.
AWSSDK.SecretsManager.Caching
-
Dans le
Program.cs
fichier, apportez les modifications suivantes.-
Ajoutez l'
Amazon.SecretsManager
espace de noms (1).using Amazon.SecretsManager;
-
Enregistrez le service (2).
builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
-
-
Pour récupérer les secrets depuis Secrets Manager, apportez les modifications suivantes au fichier de classe du contrôleur (par exemple,
ValuesController.cs
).-
Ajoutez le constructeur (1).
private readonly IAmazonSecretsManager _secretsManager; public SecretsController(IAmazonSecretsManager secretsManager) { _secretsManager = secretsManager; }
-
Implémentez la
GetSecret
méthode (2).string secretName = "arn:aws:secretsmanager:eu-west-2:111122223333:secret:dev/myapp/tenant-gSj6qd"; GetSecretValueRequest request = new GetSecretValueRequest(); request.SecretId = secretName; request.VersionStage = "AWSCURRENT"; Task<GetSecretValueResponse> response = _secretsManager.GetSecretValueAsync(request); return Ok(new { Secret = response.Result.SecretString });
où 111122223333 fait référence à l'ID du compte.
Note
secretName
fait référence au nom ou au Amazon Resource Name (ARN) du secret. Après la création d'un secret, cette valeur peut être récupérée depuis la console Secrets Manager. Vous devez appelersecretName
dynamiquement ou à partir de variables d'environnement. Ne codez pas cette valeur en dur dans les environnements de production. -