

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 Gestione dei segreti AWS
<a name="configure-asm"></a>

Gestione dei segreti AWS aiuta a proteggere i segreti necessari per accedere alle applicazioni, ai servizi e alle risorse IT. Il servizio archivia, gestisce, crittografa e ruota in modo sicuro le credenziali del database, le chiavi API e altri segreti, 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 Manager APIs, che elimina la necessità di codificare le informazioni sensibili in testo non crittografato. 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 applicazioni.NET Framework
<a name="configure-asm-prereq"></a>
+ Un attivo Account AWS
+ [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/), installato
+ AWS Command Line Interface (AWS CLI) versione 2, installata e configurata per accedere a Account AWS (vedi [istruzioni](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html))
+ AWS Toolkit for Visual Studio, configurato (vedi [istruzioni](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/setup.html))
+ Un segreto, creato e recuperato utilizzando la console Secrets Manager o il AWS CLI (vedi [istruzioni](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html))

## Esempio
<a name="configure-asm-example"></a>

Per accedere ai segreti di Secrets Manager nell'API web ASP.NET Core (.NET 6):

1. Aggiungi il seguente NuGet pacchetto all'API web ASP.NET Core.

   ```
   AWSSDK.SecretsManager.Caching
   ```

1. Nel `Program.cs` file, apporta le seguenti modifiche.
   + Aggiungete 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\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/modernization-net-applications-security/images/asm-program-cs.png)

1. 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\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/modernization-net-applications-security/images/asm-controller-class.png)
**Nota**  
`secretName`si riferisce al nome o all'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. 