Come gestire i segreti utilizzando AWS Secrets Manager e RDS?

Come Gestire I Segreti Utilizzando Aws Secrets Manager E Rds



Amazon Relational Database è uno dei servizi di database relazionali più facili e semplici da utilizzare ed eseguire query complesse. Seguendo la sintassi delle query SQL, questo servizio di AWS è più veloce dei database tradizionali e scala automaticamente il database in base ai requisiti dell'applicazione. Con AWS RDS, elimina la necessità di configurare l'hardware in modo personalizzato o effettuare configurazioni del software per eseguire le query.

Questo articolo illustra come gestire i segreti utilizzando AWS Secrets Manager e RDS.

Cos'è un manager segreto?

Minacce alla sicurezza e preoccupazioni sulla privacy sono state sollevate anche da esperti e persone in tutto il mondo. Per proteggere i tuoi segreti digitali come credenziali del database, API e token, AWS Secret Manager è lo strumento di riferimento per questo scopo.







AWS Secret Manager aiuta le aziende e le organizzazioni a proteggere le proprie risorse e servizi da intenzioni dannose e attacchi informatici volti a dirottare o rubare dati sensibili. Questo servizio aggiunge un ulteriore livello di sicurezza alle risorse e consente di ridimensionare e gestire facilmente i segreti.



Come gestire i segreti utilizzando AWS Secret Manager e RDS?

Ogni volta che un utente configura il cluster RDS, richiede informazioni sulla regione, il nome utente e la password del cluster e lo identifica utilizzando un identificatore univoco del cluster. Integrare l'RDS con il Secret Manager ti permetterà di proteggere le tue credenziali RDS e gestirle di conseguenza.



Utilizzando Secret Manager è possibile definire il ciclo di vita di questi segreti e integrarli con altre risorse. Qui in questo articolo aggiungeremo AWS Secret Manager con la funzione Lambda al nostro cluster RDS.





Di seguito sono riportati alcuni passaggi a questo scopo:

Passaggio 1: crea il cluster RDS

Il Secret Manager è ampiamente utilizzato per proteggere le credenziali del database. Quindi, il primo passo è creare un cluster RDS. A questo scopo si rinvia a questo articolo: “ Come creare un cluster RDS su AWS? ”. Abbiamo il cluster RDS attivo e funzionante:



Passaggio 2: AWS Secret Manager

Nella Console di gestione AWS, cerca e seleziona ' Responsabile dei segreti ':

Nell'interfaccia Secret Manager, fare clic su “Memorizza un nuovo segreto” pulsante:

Nel Tipo segreto , seleziona il “Credenziali per il database Amazon RDS” opzione poiché la stiamo configurando per RDS:

Il prossimo è il Credenziali sezione. In questa sezione, fornire il Nome utente E Parola d'ordine per il database RDS che abbiamo appena creato:

Nel Chiave crittografica sezione, l'utente può utilizzare quella predefinita fornita da AWS Secret Manager o crearne una nuova facendo clic su 'Aggiungi nuova chiave' opzione. Allo stesso modo, nel Banca dati sezione, selezionare il 'Istanza database' che hai creato e premi il file 'Prossimo' pulsante:

Fornire un nome univoco per il file 'Segreto' questo ci aiuterà a identificarlo in seguito. La descrizione è facoltativa. Tuttavia, l'utente può anche fornire una descrizione personalizzata qui:

Sull'interfaccia , il Secret Manager ci fornisce anche la possibilità di replicare il segreto. Per fare ciò, seleziona una regione in cui desideri creare la replica. In questa demo non richiediamo alcuna replica, quindi mantenendo il resto delle impostazioni predefinite, tocca 'Prossimo' pulsante:

Mantenendo l'impostazione predefinita, ora esaminiamo e modifichiamo le informazioni. Dopo aver confermato le informazioni fornite, fare clic su 'Negozio' pulsante per creare e archiviare il segreto:

Ecco, il segreto è creato con successo . Clicca sul ' Il nome del segreto ” per visualizzarne le configurazioni:

Scorrendo verso il basso l'interfaccia, avremo la sezione Codice esempio. In questa sezione, un codice viene generato da Direttore segreto. Copia questo codice così come verrà utilizzato nel file Funzione Lambda:

// Utilizza questo snippet di codice In la tua app.
// Se avete bisogno Di più informazioni sulle configurazioni o sull'implementazione del codice di esempio, visita la documentazione AWS:
// https: // docs.aws.amazon.com / sdk-per-javascript / v3 / guida per sviluppatori / get-started.html

importare {
SecretsManagerClient,
OttieniComandoValoreSegreto,
} da '@aws-sdk/client-secrets-manager' ;

const nome_segreto = 'miosegreto1/sh' ;

const client = nuovo SecretsManagerClient ( {
regione: 'ap-sud-est-1' ,
} ) ;

permettere risposta;

Tentativo {
risposta = attendi client.send (
nuovo GetSecretValueCommand ( {
ID segreto: nome_segreto,
Fase di versione: 'AWSCORRENTE' , // Il valore predefinito di VersionStage è AWSCURRENT Se non specificato
} )
) ;
} presa ( errore ) {
// Per un elenco delle eccezioni generate, vedere
// https: // docs.aws.amazon.com / secretsmanager / ultimo / apireference /
API_GetSecretValue.html
errore di lancio;
}

const segreto = risposta.SecretString;

// Il tuo codice va qui

Passaggio 3: crea la funzione Lambda

Nell'interfaccia della funzione Lambda, fare clic su ' Crea una funzione pulsante ':

Clicca sul “Autore da zero” opzione da “Crea una funzione” interfaccia:

Successivamente, ci spostiamo verso il 'Informazioni di base' sezione. Fornire il nome della funzione nel file “Nome funzione” campo e quindi fornire il file “Tempo di esecuzione” ambiente. Qui abbiamo selezionato il “Node.js 16.x” nel campo Tempo di esecuzione:

Clicca sul “Crea funzione” pulsante:

Qui abbiamo incollato il codice generato dal file Direttore segreto . Dopo aver incollato il codice, fare clic su “Distribuisci” pulsante:

Dopo aver distribuito tutte le modifiche, fare clic su 'Configurazione' scheda per consentire le autorizzazioni per Secret Manager:

Clicca sul “Autorizzazioni” opzione da “Configurazioni” scheda. Verrà visualizzato il messaggio ' Ruolo di esecuzione” interfaccia e fare clic sul seguente collegamento sotto il file “Nome del ruolo” campo:

Nel “Politiche di autorizzazione” sezione, fare clic su 'Aggiungi autorizzazioni' pulsante. Dal menu a discesa, fare clic su 'Allega policy' opzione:

Nel 'Altre politiche di autorizzazione' sezione, cercare e selezionare il file “GestioneSegretiLeggiScrivi” opzione. Colpire il 'Aggiungi autorizzazioni' pulsante:

Qui la policy è stata allegata e configurata con successo:

Passaggio 4: verificare l'accesso segreto

Ora vai all'interfaccia della dashboard Lambda. Clicca sul 'Test' scheda:

Nell'interfaccia successiva, fornire un nome per l'evento di test nel file 'Nome dell'evento' campo. Clicca sul 'Salva' pulsante per applicare le configurazioni:

Qui il test è stato configurato con successo. Clicca sul 'Test' pulsante:

Qui faremo clic su 'Test' nuovamente il pulsante e verrà visualizzato il seguente output:

Questo è tutto da questa guida.

Conclusione

Per gestire i segreti in Secret Manager, crea il cluster RDS, collegalo a Secret Manager, quindi esegui il codice nella funzione Lambda configurata. La funzione Lambda definirà se è possibile accedere o meno al segreto eseguendo il codice in esso contenuto che contiene la specifica del cluster RDS. Questo articolo è una guida passo passo alla gestione dei segreti utilizzando AWS Secret Manager e RDS.