Hur hanterar man hemligheter med AWS Secrets Manager och RDS?

Hur Hanterar Man Hemligheter Med Aws Secrets Manager Och Rds



Amazon Relational Database är en av relationsdatabastjänsterna som är enklare och enklare att använda och köra komplexa frågor. Efter syntaxen för SQL-frågor är den här AWS-tjänsten snabbare än traditionella databaser och skalar automatiskt databasen baserat på applikationens krav. Med AWS RDS eliminerar det behovet av att anpassa hårdvaran eller göra konfigurationer till programvaran för att köra frågorna.

Den här artikeln visar hur man hanterar hemligheter med AWS Secrets Manager och RDS.

Vad är en hemlig chef?

Säkerhetshot och integritetsproblem har också tagits upp av experter och människor runt om i världen. För att skydda dina digitala hemligheter som databasuppgifter, API och tokens är AWS Secret Manager ditt bästa verktyg för detta ändamål.







AWS Secret Manager hjälper företag och organisationer att skydda sina resurser och tjänster från skadliga avsikter och cyberattacker för att kapa eller stjäla känslig data. Den här tjänsten lägger till ett extra lager av säkerhet till resurserna och låter dig enkelt skala och hantera hemligheterna.



Hur hanterar man hemligheter med AWS Secret Manager och RDS?

Närhelst en användare konfigurerar RDS-klustret kräver den information om klustrets region, användarnamn och lösenord och identifierar det genom att använda en unik identifierare för klustret. Genom att integrera RDS med Secret Manager kan du skydda dina RDS-uppgifter och hantera dem därefter.



Genom att använda Secret Manager kan du definiera livscykeln för dessa hemligheter och integrera dem med andra resurser. Här i den här artikeln kommer vi att lägga till AWS Secret Manager med Lambda-funktion till vårt RDS-kluster.





Nedan följer några steg för detta ändamål:

Steg 1: Skapa RDS-kluster

Secret Manager används ofta för att skydda databasuppgifterna. Så det första steget är att skapa ett RDS-kluster. För detta ändamål, se den här artikeln: ' Hur skapar man ett RDS-kluster på AWS? ”. Vi har RDS-klustret igång:



Steg 2: AWS Secret Manager

På AWS Management Console, sök och välj ' Secrets Manager ”:

I Secret Manager-gränssnittet klickar du på 'Lagra en ny hemlighet' knapp:

I den Hemlig typ , Välj 'Inloggningsuppgifter för Amazon RDS-databas' alternativet när vi konfigurerar det för RDS:

Nästa är Referenser sektion. Ange i det här avsnittet Användarnamn och Lösenord för RDS-databasen som vi just har skapat:

I den Krypteringsnyckel kan användaren antingen använda standarden som tillhandahålls av AWS Secret Manager eller skapa en ny genom att klicka på 'Lägg till ny nyckel' alternativ. På samma sätt, i Databas sektionen väljer du 'DB-instans' som du har skapat och trycker på 'Nästa' knapp:

Ange ett unikt namn för 'Hemlighet' som hjälper oss att identifiera det senare. Beskrivningen är valfri. Däremot kan användaren också ge en anpassad beskrivning här:

På gränssnittet , Secret Manager ger oss också möjlighet att replikera hemligheten. För detta väljer du en region där du vill skapa replikeringen. I den här demon kräver vi ingen replikering, därför genom att behålla resten av inställningarna som standard, tryck på 'Nästa' knapp:

Genom att behålla standarden granskar och redigerar vi nu informationen. När du har bekräftat informationen klickar du på 'Lagra' knappen för att skapa och lagra hemligheten:

Här är hemligheten framgångsrikt skapat . Klicka på ' Hemlighetens namn ' för att se dess konfigurationer:

Scrolla ner i gränssnittet, vi kommer att ha avsnittet Exempelkod. I det här avsnittet genereras en kod av Hemlig chef. Kopiera denna kod eftersom den kommer att användas i Lambdafunktion:

// Använd det här kodavsnittet i din app.
// Om du behöver Mer information om konfigurationer eller implementering av exempelkoden, besök AWS-dokumentationen:
// https: // docs.aws.amazon.com / sdk-för-javascript / v3 / utvecklar-guide / get-started.html

importera {
SecretsManagerClient,
GetSecretValueCommand,
} från '@aws-sdk/client-secrets-manager' ;

const hemligt_namn = 'mysecret1/sh' ;

const klient = ny SecretsManagerClient ( {
område: 'ap-sydöst-1' ,
} ) ;

låta svar;

Prova {
svar = inväntar klient.sänd (
nya GetSecretValueCommand ( {
SecretId: secret_name,
VersionStage: 'AWSCURRENT' , // VersionStage är AWSCURRENT som standard om ospecificerad
} )
) ;
} fånga ( fel ) {
// För en lista över kastade undantag, se
// https: // docs.aws.amazon.com / hemlighetschef / senast / apireference /
API_GetSecretValue.html
kastfel;
}

const hemlighet = respons.SecretString;

// Din kod kommer hit

Steg 3: Skapa Lambda-funktion

På Lambda Function-gränssnittet klickar du på ' Skapa en funktion ' knapp:

Klicka på 'Författare från grunden' alternativ från 'Skapa en funktion' gränssnitt:

Därefter går vi mot 'Grundläggande information' sektion. Ange funktionsnamnet i 'Funktionsnamn' fältet och tillhandahåll sedan 'Körning' miljö. Här har vi valt ut 'Node.js 16. x' i fältet Runtime:

Klicka på 'Skapa funktion' knapp:

Här har vi klistrat in koden som genererades av Hemlig chef . När du har klistrat in koden klickar du på 'Distribuera' knapp:

När du har implementerat alla ändringar klickar du på 'Konfiguration' fliken för att tillåta behörigheter för Secret Manager:

Klicka på 'Behörigheter' alternativ från 'Konfigurationer' flik. Detta kommer att visa ' Utförande roll” gränssnittet och klicka på följande länk under 'Rollnamn' fält:

I den 'Behörighetspolicyer' sektionen, klicka på 'Lägg till behörigheter' knapp. Från rullgardinsmenyn klickar du på 'Bifoga policyer' alternativ:

I den 'Andra behörighetspolicyer' sektion, sök och välj 'SecretsManagerReadWrite' alternativ. Slå 'Lägg till behörigheter' knapp:

Här har policyn bifogats och konfigurerats:

Steg 4: Verifiera den hemliga åtkomsten

Gå nu till Lambda Dashboard Interface. Klicka på 'Testa' flik:

I nästa gränssnitt, ange ett namn för testhändelsen i 'Event namn' fält. Klicka på 'Spara' knapp för att tillämpa konfigurationer:

Här har testet konfigurerats framgångsrikt. Klicka på 'Testa' knapp:

Här kommer vi att klicka på 'Testa' knappen igen, och den kommer att visa följande utdata:

Det är allt från den här guiden.

Slutsats

För att hantera hemligheter i Secret Manager, skapa RDS-klustret, anslut det till Secret Manager och kör sedan den koden i den konfigurerade Lambda-funktionen. Lambdafunktionen kommer att definiera om hemligheten kan nås eller inte genom att exekvera koden i den som innehåller specifikationen för RDS-klustret. Den här artikeln är en steg-för-steg-guide för att hantera hemligheter med AWS Secret Manager och RDS.