Configuration AWS Secrets Manager - AWS Directives prescriptives

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) :

  1. Ajoutez le NuGet package suivant auASP. NETWeb principalAPI.

    AWSSDK.SecretsManager.Caching
  2. Dans le Program.cs fichier, apportez les modifications suivantes.

    • Ajoutez l'Amazon.SecretsManagerespace de noms (1).

      using Amazon.SecretsManager;
    • Enregistrez le service (2).

      builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
    Modifications apportées au fichier Program.cs pour accéder à Secrets Manager
  3. 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 });

      111122223333 fait référence à l'ID du compte.

    Modifications apportées au fichier de classe du contrôleur pour récupérer les secrets depuis Secrets Manager
    Note

    secretNamefait 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 appeler secretName dynamiquement ou à partir de variables d'environnement. Ne codez pas cette valeur en dur dans les environnements de production.