Ako spravovať tajomstvá pomocou AWS Secrets Manager a RDS?

Ako Spravovat Tajomstva Pomocou Aws Secrets Manager A Rds



Amazon Relational Database je jednou zo služieb relačných databáz, ktoré sa ľahšie a jednoduchšie obsluhujú a spúšťajú zložité dotazy. Podľa syntaxe SQL dotazov je táto služba AWS rýchlejšia ako tradičné databázy a automaticky škáluje databázu na základe požiadaviek aplikácie. S AWS RDS eliminuje potrebu vlastného nastavenia hardvéru alebo konfigurácie softvéru na spustenie dopytov.

Tento článok ukazuje, ako spravovať tajomstvá pomocou AWS Secrets Manager a RDS.

Čo je to tajný manažér?

Odborníci a ľudia na celom svete upozornili aj na bezpečnostné hrozby a obavy o súkromie. Na ochranu vašich digitálnych tajomstiev, ako sú poverenia k databáze, API a tokeny, je AWS Secret Manager vaším nástrojom na tento účel.







AWS Secret Manager pomáha spoločnostiam a organizáciám chrániť ich zdroje a služby pred škodlivými úmyslami a kybernetickými útokmi s cieľom uniesť alebo ukradnúť citlivé údaje. Táto služba pridáva k zdrojom ďalšiu vrstvu zabezpečenia a umožňuje vám jednoducho škálovať a spravovať tajomstvá.



Ako spravovať tajomstvá pomocou AWS Secret Manager a RDS?

Kedykoľvek používateľ konfiguruje klaster RDS, vyžaduje informácie o regióne, používateľskom mene a hesle klastra a identifikuje ho pomocou jedinečného identifikátora klastra. Integrácia RDS s Secret Manager vám umožní chrániť vaše RDS poverenia a podľa toho ich spravovať.



Pomocou správcu tajomstiev môžete definovať životný cyklus týchto tajomstiev a integrovať ich s inými zdrojmi. Tu v tomto článku pridáme do nášho klastra RDS AWS Secret Manager s funkciou Lambda.





Nižšie uvádzame niekoľko krokov na tento účel:

Krok 1: Vytvorte klaster RDS

Tajný manažér je široko používaný na ochranu poverení databázy. Prvým krokom je teda vytvorenie klastra RDS. Na tento účel si pozrite tento článok: „ Ako vytvoriť klaster RDS na AWS? “. Máme klaster RDS v prevádzke:



Krok 2: Tajný manažér AWS

Na konzole AWS Management Console vyhľadajte a vyberte „ Správca tajomstiev “:

V rozhraní Secret Manager kliknite na „Uložiť nové tajomstvo“ tlačidlo:

V Tajný typ , vyberte „Poverenia pre databázu Amazon RDS“ možnosť, keď ju konfigurujeme pre RDS:

Ďalej je poverenia oddiele. V tejto časti uveďte Používateľské meno a heslo pre databázu RDS, ktorú sme práve vytvorili:

V Šifrovací kľúč používateľ môže buď použiť predvolenú sekciu poskytnutú správcom tajných informácií AWS alebo vytvoriť novú kliknutím na 'Pridať nový kľúč' možnosť. Podobne v Databáza sekciu, vyberte 'Inštancia DB' ktoré ste vytvorili a narazili na 'Ďalšie' tlačidlo:

Zadajte jedinečný názov pre 'Tajomstvo' ktoré nám to neskôr pomôžu identifikovať. Popis je voliteľný. Používateľ tu však môže poskytnúť aj vlastný popis:

Na rozhraní , Tajný manažér nám tiež poskytuje zariadenie na replikáciu tajomstva. Na tento účel vyberte oblasť, v ktorej chcete vytvoriť replikáciu. V tejto ukážke nevyžadujeme žiadnu replikáciu, preto ponechaním ostatných nastavení ako predvolených klepnite na 'Ďalšie' tlačidlo:

Pri zachovaní predvoleného nastavenia teraz kontrolujeme a upravujeme informácie. Po potvrdení poskytnutých informácií kliknite na 'Obchod' tlačidlo na vytvorenie a uloženie tajomstva:

Tu je tajomstvo úspešne vytvorený . Klikni na ' Tajné meno ” na zobrazenie jeho konfigurácií:

Posúvaním nadol rozhraním budeme mať časť Vzorový kód. V tejto časti je kód vygenerovaný pomocou Tajný manažér. Skopírujte tento kód tak, ako bude použitý v Funkcia lambda:

// Použite tento útržok kódu v vašu aplikáciu.
// Ak potrebuješ viac informácie o konfiguráciách alebo implementácii vzorového kódu nájdete v dokumentoch AWS:
// https: // docs.aws.amazon.com / sdk-for-javascript / v3 / sprievodca pre vývojárov / začíname.html

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

const secret_name = 'mysecret1/sh' ;

const client = nový SecretsManagerClient ( {
región: 'ap-juhovýchod-1' ,
} ) ;

nech odozva;

skúste {
odpoveď = čakať na klienta.odoslať (
nový príkaz GetSecretValueCommand ( {
SecretId: secret_name,
VersionStage: 'AKTUÁLNE' , // Predvolená hodnota VersionStage je AWSCURRENT ak nešpecifikované
} )
) ;
} chytiť ( chyba ) {
// Zoznam vyvolaných výnimiek nájdete v časti
// https: // docs.aws.amazon.com / tajný manažér / najnovšie / apireference /
API_GetSecretValue.html
hádzať chybu;
}

const secret = odpoveď.SecretString;

// Váš kód je tu

Krok 3: Vytvorte funkciu Lambda

V rozhraní funkcie Lambda kliknite na „ Vytvorte funkciu tlačidlo ”:

Klikni na “Autor od nuly” možnosť z 'Vytvoriť funkciu' rozhranie:

Ďalej sa presunieme smerom k 'Základné informácie' oddiele. Zadajte názov funkcie v 'Názov funkcie' pole a potom poskytnúť 'Beh programu' životné prostredie. Tu sme vybrali 'Node.js 16. x' v poli Runtime:

Klikni na 'Vytvoriť funkciu' tlačidlo:

Tu sme prilepili kód, ktorý vygeneroval Tajný manažér . Po vložení kódu kliknite na 'Nasadiť' tlačidlo:

Po nasadení všetkých zmien kliknite na 'Konfigurácia' karta na povolenie povolení pre Secret Manager:

Klikni na 'Povolenia' možnosť z 'Konfigurácie' tab. Tým sa zobrazí „ Úloha vykonávania“ a kliknite na nasledujúci odkaz pod 'Názov role' lúka:

V 'Pravidlá povolení' kliknite na 'Pridať povolenia' tlačidlo. V rozbaľovacej ponuke kliknite na položku 'Pripojiť zásady' možnosť:

V 'Ďalšie pravidlá povolení' sekciu, vyhľadajte a vyberte 'SecretsManagerReadWrite' možnosť. Zasiahnite 'Pridať povolenia' tlačidlo:

Tu bola politika úspešne pripojená a nakonfigurovaná:

Krok 4: Overte tajný prístup

Teraz prejdite do rozhrania Lambda Dashboard Interface. Klikni na 'Test' karta:

Na ďalšom rozhraní zadajte názov testovacej udalosti v 'Názov udalosti' lúka. Klikni na 'Uložiť' tlačidlo na použitie konfigurácií:

Tu bol test úspešne nakonfigurovaný. Klikni na 'Test' tlačidlo:

Tu klikneme na 'Test' znova a zobrazí sa nasledujúci výstup:

To je všetko z tohto návodu.

Záver

Ak chcete spravovať tajomstvá v Secret Manager, vytvorte klaster RDS, pripojte ho k Secret Manager a potom spustite tento kód v nakonfigurovanej funkcii Lambda. Funkcia Lambda bude definovať, či je možné pristupovať k tajomstvu alebo nie, spustením kódu v ňom, ktorý obsahuje špecifikáciu klastra RDS. Tento článok je podrobný návod na správu tajomstiev pomocou AWS Secret Manager a RDS.