Configurazione AWS Secrets Manager - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione AWS Secrets Manager

AWS Secrets Manager ti aiuta a proteggere i segreti di cui hai bisogno per accedere alle tue applicazioni, servizi e risorse IT. Il servizio archivia, gestisce, crittografa e ruota in modo sicuro le credenziali, le API chiavi e altri segreti del database, inclusi i OAuth token, e fornisce l'integrazione nativa con Amazon Relational Database Service (Amazon)RDS, Amazon Redshift e Amazon DocumentDB. Gli utenti e le applicazioni recuperano i segreti chiamando Secrets ManagerAPIs, che elimina la necessità di codificare le informazioni sensibili in testo normale. Secrets Manager include autorizzazioni di controllo degli accessi granulari e fornisce una posizione centralizzata per controllare la rotazione dei segreti in ambienti locali e di Cloud AWS terze parti.

Prerequisiti per l'utilizzo di Secrets Manager con. NETApplicazioni framework

  • Un attivo Account AWS

  • Microsoft Visual Studio, installato

  • AWS Command Line Interface (AWS CLI) versione 2, installata e configurata per accedere a Account AWS (vedi istruzioni)

  • AWS Toolkit for Visual Studio, configurato (vedi istruzioni)

  • Un segreto, creato e recuperato utilizzando la console Secrets Manager o il AWS CLI (vedi istruzioni)

Esempio

Per accedere ai segreti di Secrets Manager inASP. NETWeb principale API (. NET6):

  1. Aggiungere il seguente NuGet pacchetto alASP. NETWeb principaleAPI.

    AWSSDK.SecretsManager.Caching
  2. Nel Program.cs file, apporta le seguenti modifiche.

    • Aggiungi lo spazio Amazon.SecretsManager dei nomi (1).

      using Amazon.SecretsManager;
    • Registrare il servizio (2).

      builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
    Modifiche al file Program.cs per l'accesso a Secrets Manager
  3. Per recuperare i segreti da Secrets Manager, apportate le seguenti modifiche al file della classe del controller (ad esempio,ValuesController.cs).

    • Aggiungete il costruttore (1).

      private readonly IAmazonSecretsManager _secretsManager; public SecretsController(IAmazonSecretsManager secretsManager) { _secretsManager = secretsManager; }
    • Implementa il GetSecret metodo (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 });

      dove 111122223333 si riferisce all'ID dell'account.

    Modifiche al file della classe controller per il recupero dei segreti da Secrets Manager
    Nota

    secretNamesi riferisce al nome o Amazon Resource Name (ARN) del segreto. Dopo aver creato un segreto, questo valore può essere recuperato dalla console Secrets Manager. È necessario chiamare in secretName modo dinamico o da variabili di ambiente. Non codificate questo valore negli ambienti di produzione.