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):
-
Aggiungere il seguente NuGet pacchetto alASP. NETWeb principaleAPI.
AWSSDK.SecretsManager.Caching
-
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) );
-
-
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.
Nota
secretName
si 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 insecretName
modo dinamico o da variabili di ambiente. Non codificate questo valore negli ambienti di produzione. -