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.