Kako upravljati skrivnosti z uporabo AWS Secrets Manager in RDS?

Kako Upravljati Skrivnosti Z Uporabo Aws Secrets Manager In Rds



Amazon Relational Database je ena od storitev relacijskih baz podatkov, ki jih je lažje in enostavneje upravljati ter izvajati zapletene poizvedbe. V skladu s sintakso poizvedb SQL je ta storitev AWS hitrejša od tradicionalnih baz podatkov in samodejno prilagaja bazo podatkov glede na zahteve aplikacije. Z AWS RDS odpravlja potrebo po nastavitvi strojne opreme po meri ali izvajanju konfiguracij programske opreme za izvajanje poizvedb.

Ta članek prikazuje, kako upravljati skrivnosti z uporabo AWS Secrets Manager in RDS.

Kaj je Secret Manager?

Varnostne grožnje in skrbi glede zasebnosti so izpostavili tudi strokovnjaki in ljudje po vsem svetu. Za zaščito vaših digitalnih skrivnosti, kot so poverilnice baze podatkov, API in žetoni, je AWS Secret Manager vaše orodje za ta namen.







AWS Secret Manager pomaga podjetjem in organizacijam zaščititi svoje vire in storitve pred zlonamernimi nameni in kibernetskimi napadi za ugrabitev ali krajo občutljivih podatkov. Ta storitev virom doda dodatno raven varnosti in vam omogoča enostavno prilagajanje in upravljanje skrivnosti.



Kako upravljati skrivnosti z uporabo AWS Secret Manager in RDS?

Kadarkoli uporabnik konfigurira gručo RDS, ta zahteva podatke o regiji, uporabniškem imenu in geslu gruče ter jih identificira z uporabo edinstvenega identifikatorja gruče. Integracija RDS s Secret Managerjem vam bo omogočila zaščito vaših poverilnic RDS in njihovo ustrezno upravljanje.



Z uporabo Secret Managerja lahko definirate življenjski cikel teh skrivnosti in jih integrirate z drugimi viri. V tem članku bomo v našo gručo RDS dodali AWS Secret Manager s funkcijo Lambda.





Spodaj je nekaj korakov za ta namen:

1. korak: Ustvarite gručo RDS

Secret Manager se pogosto uporablja za zaščito poverilnic baze podatkov. Torej, prvi korak je ustvariti gruče RDS. V ta namen si oglejte ta članek: ' Kako ustvariti gručo RDS na AWS? ”. Imamo gručo RDS pripravljeno in deluje:



2. korak: AWS Secret Manager

Na upravljalni konzoli AWS poiščite in izberite » Upravitelj skrivnosti ”:

V vmesniku Secret Manager kliknite na 'Shrani novo skrivnost' gumb:

V Skrivni tip , izberite »Poverilnice za zbirko podatkov Amazon RDS« možnost, saj jo konfiguriramo za RDS:

Naslednja je Poverilnice razdelek. V tem razdelku navedite Uporabniško ime in Geslo za bazo podatkov RDS, ki smo jo pravkar ustvarili:

V Šifrirni ključ lahko uporabnik bodisi uporabi privzetega, ki ga ponuja AWS Secret Manager, bodisi ustvari novega s klikom na »Dodaj nov ključ« možnost. Podobno je v Baza podatkov izberite razdelek 'Primer DB' ki ste ga ustvarili in zadeli 'Naslednji' gumb:

Navedite edinstveno ime za 'Skrivnost' ki nam ga bo kasneje pomagal prepoznati. Opis ni obvezen. Vendar pa lahko uporabnik tukaj poda tudi opis po meri:

Na vmesniku , Secret Manager nam nudi tudi možnost za repliciranje skrivnosti. Za to izberite regijo, v kateri želite ustvariti replikacijo. V tej predstavitvi ne potrebujemo podvajanja, zato obdržimo ostale nastavitve kot privzete, tapnite 'Naslednji' gumb:

Obdržimo privzeto, zdaj pregledujemo in urejamo podatke. Ko potrdite vnesene podatke, kliknite na “Trgovina” gumb za ustvarjanje in shranjevanje skrivnosti:

Tukaj je skrivnost uspešno ustvarjen . Kliknite na ' Skrivno ime ” za ogled njegovih konfiguracij:

Če se pomaknete navzdol po vmesniku, bomo imeli razdelek Vzorčna koda. V tem razdelku ustvari kodo Tajni upravitelj. Kopirajte to kodo, kot bo uporabljena v Lambda funkcija:

// Uporabite ta delček kode v vašo aplikacijo.
// Če potrebujete več informacije o konfiguracijah ali implementaciji vzorčne kode obiščite dokumente AWS:
// https: // docs.aws.amazon.com / sdk-za-javascript / v3 / vodnik za razvijalce / začetek.html

uvoz {
SecretsManagerClient,
GetSecretValueCommand,
} od '@aws-sdk/client-secrets-manager' ;

const tajno_ime = 'mysecret1/sh' ;

const client = new SecretsManagerClient ( {
regija: 'ap-jugovzhod-1' ,
} ) ;

pustiti odgovor;

poskusi {
odgovor = počakaj stranko.pošlji (
nov ukaz GetSecretValueCommand ( {
SecretId: secret_name,
VersionStage: 'AWSCURRENT' , // VersionStage je privzeto nastavljen na AWSCURRENT če nedoločeno
} )
) ;
} ulov ( napaka ) {
// Za seznam vrženih izjem glejte
// https: // docs.aws.amazon.com / secretsmanager / najnovejši / apireference /
API_GetSecretValue.html
vrže napaka;
}

const secret = response.SecretString;

// Tukaj gre vaša koda

3. korak: Ustvarite funkcijo Lambda

V vmesniku Lambda Function kliknite » Ustvarite funkcijo ” gumb:

Kliknite na 'Avtor iz nič' možnost iz 'Ustvari funkcijo' vmesnik:

Nato se pomaknemo proti 'Osnovni podatki' razdelek. Vnesite ime funkcije v 'Ime funkcije' polje in nato zagotovite 'Izvajalni čas' okolju. Tukaj smo izbrali 'Node.js 16. x' v polju Runtime:

Kliknite na 'Ustvari funkcijo' gumb:

Tukaj smo prilepili kodo, ki jo je ustvaril Tajni upravitelj . Ko prilepite kodo, kliknite na »Razporedi« gumb:

Po uvedbi vseh sprememb kliknite na 'Konfiguracija' zavihek, da omogočite dovoljenja za Secret Manager:

Kliknite na 'Dovoljenja' možnost iz 'Konfiguracije' zavihek. To bo prikazalo ' Izvršilna vloga' in kliknite naslednjo povezavo pod 'Ime vloge' polje:

V »Politike dovoljenj« kliknite na »Dodaj dovoljenja« gumb. V spustnem meniju kliknite na »Priloži pravilnike« možnost:

V »Druga pravila o dovoljenjih« razdelek, poiščite in izberite “SecretsManagerReadWrite” možnost. Udari »Dodaj dovoljenja« gumb:

Tu je bil pravilnik uspešno priložen in konfiguriran:

4. korak: Preverite tajni dostop

Zdaj pojdite na vmesnik nadzorne plošče Lambda. Kliknite na 'Test' zavihek:

Na naslednjem vmesniku podajte ime za preskusni dogodek v 'Ime dogodka' polje. Kliknite na »Shrani« gumb za uporabo konfiguracij:

Tukaj je bil test uspešno konfiguriran. Kliknite na 'Test' gumb:

Tukaj bomo kliknili na 'Test' in prikazal se bo naslednji rezultat:

To je vse iz tega vodnika.

Zaključek

Če želite upravljati skrivnosti v Secret Managerju, ustvarite gručo RDS, jo priključite na Secret Manager in nato izvedite to kodo v konfigurirani funkciji Lambda. Funkcija Lambda bo določila, ali je do skrivnosti mogoče dostopati ali ne, tako da izvede kodo v njej, ki vsebuje specifikacijo gruče RDS. Ta članek je vodnik po korakih za upravljanje skrivnosti z uporabo AWS Secret Manager in RDS.