Kako upravljati tajnama pomoću AWS Secrets Managera i RDS-a?

Kako Upravljati Tajnama Pomocu Aws Secrets Managera I Rds A



Amazon Relational Database jedan je od servisa relacijskih baza podataka kojima je lakše i jednostavnije upravljati i pokretati složene upite. Slijedeći sintaksu SQL upita, ova usluga AWS-a brža je od tradicionalnih baza podataka i automatski skalira bazu podataka na temelju zahtjeva aplikacije. Uz AWS RDS, eliminira potrebu za prilagođenim postavljanjem hardvera ili konfiguracijom softvera za pokretanje upita.

Ovaj članak pokazuje kako upravljati tajnama pomoću AWS Secrets Managera i RDS-a.

Što je tajni upravitelj?

Sigurnosne prijetnje i brige o privatnosti također su iznijeli stručnjaci i ljudi diljem svijeta. Kako biste zaštitili svoje digitalne tajne kao što su vjerodajnice baze podataka, API i tokeni, AWS Secret Manager vaš je alat za tu svrhu.







AWS Secret Manager pomaže tvrtkama i organizacijama da zaštite svoje resurse i usluge od zlonamjernih namjera i kibernetičkih napada s ciljem otimanja ili krađe osjetljivih podataka. Ova usluga dodaje dodatni sloj sigurnosti resursima i omogućuje vam jednostavno skaliranje i upravljanje tajnama.



Kako upravljati tajnama pomoću AWS Secret Managera i RDS-a?

Kad god korisnik konfigurira RDS klaster, zahtijeva informacije o regiji, korisničkom imenu i lozinci klastera i identificira ga pomoću jedinstvenog identifikatora klastera. Integracija RDS-a s Secret Managerom omogućit će vam da zaštitite svoje RDS vjerodajnice i upravljate njima u skladu s tim.



Korištenjem Secret Managera možete definirati životni ciklus tih tajni i integrirati ih s drugim resursima. Ovdje u ovom članku ćemo dodati AWS Secret Manager s Lambda funkcijom u naš RDS klaster.





U nastavku su navedeni neki koraci u tu svrhu:

Korak 1: Stvorite RDS klaster

Tajni upravitelj naširoko se koristi za zaštitu vjerodajnica baze podataka. Dakle, prvi korak je stvaranje RDS klastera. U tu svrhu pogledajte ovaj članak: “ Kako stvoriti RDS klaster na AWS-u? ”. Imamo RDS klaster koji radi:



Korak 2: AWS Secret Manager

Na AWS konzoli za upravljanje pretražite i odaberite ' Upravitelj tajni ”:

Na sučelju Secret Manager kliknite na 'Pohrani novu tajnu' dugme:

u Tajni tip , odaberite “Vjerodavne podatke za Amazon RDS bazu podataka” opciju dok je konfiguriramo za RDS:

Sljedeće je vjerodajnice odjeljak. U ovom odjeljku navedite Korisničko ime i Lozinka za RDS bazu podataka koju smo upravo izradili:

u Ključ za šifriranje odjeljku, korisnik može upotrijebiti zadani koji nudi AWS Secret Manager ili stvoriti novi klikom na 'Dodaj novi ključ' opcija. Slično tome, u Baza podataka odjeljak, odaberite 'DB instanca' koje ste stvorili i pogodili 'Sljedeći' dugme:

Navedite jedinstveni naziv za 'Tajna' to će nam pomoći da ga kasnije identificiramo. Opis nije obavezan. Međutim, korisnik također može dati prilagođeni opis ovdje:

Na sučelju , tajni upravitelj također nam pruža mogućnost repliciranja tajne. Za to odaberite regiju u kojoj želite stvoriti replikaciju. U ovoj demonstraciji ne zahtijevamo nikakvu replikaciju, stoga zadržavajući ostale postavke kao zadane, dodirnite 'Sljedeći' dugme:

Zadržavajući zadane postavke, sada pregledavamo i uređujemo podatke. Nakon potvrde unesenih informacija kliknite na “Trgovina” gumb za stvaranje i pohranjivanje tajne:

Evo, tajna je uspješno kreiran . Klikni na ' Tajno ime ” da vidite njegove konfiguracije:

Pomičući sučelje prema dolje, imat ćemo odjeljak Uzorak koda. U ovom odjeljku kod generira Tajni upravitelj. Kopirajte ovaj kod jer će se koristiti u Lambda funkcija:

// Koristite ovaj isječak koda u svoju aplikaciju.
// Ako trebaš više informacije o konfiguracijama ili implementaciji uzorka koda, posjetite AWS dokumente:
// https: // docs.aws.amazon.com / sdk-za-javascript / v3 / programer-vodič / početak rada.html

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

const tajno_ime = 'moja tajna1/sh' ;

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

neka odgovor;

probati {
odgovor = čekaj klijenta.poslati (
nova GetSecretValueCommand ( {
SecretId: tajno_ime,
VersionStage: 'AWSCURRENT' , // VersionStage zadano je AWSCURRENT ako neodređeno
} )
) ;
} ulov ( greška ) {
// Za popis izbačenih izuzetaka, pogledajte
// https: // docs.aws.amazon.com / tajni upravitelj / najnoviji / apireference /
API_GetSecretValue.html
pogreška bacanja;
}

const tajna = odgovor.Tajni niz;

// Vaš kod ide ovdje

Korak 3: Stvorite Lambda funkciju

Na sučelju Lambda funkcije kliknite na ' Stvorite funkciju ' dugme:

Klikni na “Autor od nule” opcija iz 'Stvori funkciju' sučelje:

Zatim idemo prema 'Osnovne informacije' odjeljak. Navedite naziv funkcije u 'Naziv funkcije' polje, a zatim pružite 'vrijeme izvođenja' okoliš. Ovdje smo odabrali “Node.js 16. x” u polju Runtime:

Klikni na 'Stvori funkciju' dugme:

Ovdje smo zalijepili kod koji je generirao Tajni upravitelj . Nakon lijepljenja koda kliknite na 'Rasporedi' dugme:

Nakon implementacije svih promjena kliknite na 'Konfiguracija' karticu za dopuštanje dopuštenja za Secret Manager:

Klikni na 'Dozvole' opcija iz 'Konfiguracije' tab. Ovo će prikazati ' Izvršna uloga” sučelja i kliknite na sljedeću poveznicu ispod 'Ime uloge' polje:

u “Pravila dopuštenja” kliknite na 'Dodaj dopuštenja' dugme. Na padajućem izborniku kliknite na 'Priloži pravila' opcija:

u “Druga pravila dopuštenja” odjeljak, pretražite i odaberite “SecretsManagerReadWrite” opcija. Udari 'Dodaj dopuštenja' dugme:

Ovdje je pravilo uspješno priloženo i konfigurirano:

Korak 4: Provjerite tajni pristup

Sada idite na sučelje Lambda nadzorne ploče. Klikni na 'Test' kartica:

Na sljedećem sučelju unesite naziv za testni događaj u 'Naziv događaja' polje. Klikni na 'Uštedjeti' gumb za primjenu konfiguracija:

Ovdje je test uspješno konfiguriran. Klikni na 'Test' dugme:

Ovdje ćemo kliknuti na 'Test' ponovo i prikazat će se sljedeći izlaz:

To je sve iz ovog vodiča.

Zaključak

Za upravljanje tajnama u Secret Manageru, stvorite RDS klaster, pripojite ga Secret Manageru, a zatim izvršite taj kod u konfiguriranoj Lambda funkciji. Lambda funkcija će definirati može li se tajni pristupiti ili ne izvršavanjem koda u njoj koji sadrži specifikaciju RDS klastera. Ovaj je članak vodič korak po korak za upravljanje tajnama pomoću AWS Secret Managera i RDS-a.