Hvordan administrerer man hemmeligheder ved hjælp af AWS Secrets Manager og RDS?

Hvordan Administrerer Man Hemmeligheder Ved Hjaelp Af Aws Secrets Manager Og Rds



Amazon Relational Database er en af ​​de relationelle databasetjenester, der er nemmere og enklere at betjene og køre komplekse forespørgsler. Efter syntaksen af ​​SQL-forespørgsler er denne AWS-tjeneste hurtigere end traditionelle databaser og skalerer databasen automatisk baseret på applikationens krav. Med AWS RDS eliminerer det behovet for at tilpasse hardwaren eller foretage konfigurationer til software for at køre forespørgslerne.

Denne artikel viser, hvordan man administrerer hemmeligheder ved hjælp af AWS Secrets Manager og RDS.

Hvad er en hemmelig leder?

Sikkerhedstrusler og bekymringer om privatlivets fred er også blevet rejst af eksperter og mennesker over hele kloden. For at beskytte dine digitale hemmeligheder såsom databaselegitimationsoplysninger, API og tokens er AWS Secret Manager dit værktøj til dette formål.







AWS Secret Manager hjælper virksomheder og organisationer med at beskytte deres ressourcer og tjenester mod ondsindede hensigter og cyberangreb for at kapre eller stjæle følsomme data. Denne service tilføjer et ekstra lag af sikkerhed til ressourcerne og giver dig mulighed for nemt at skalere og administrere hemmelighederne.



Hvordan administrerer man hemmeligheder ved hjælp af AWS Secret Manager og RDS?

Når en bruger konfigurerer RDS-klyngen, kræver den information om klyngens region, brugernavn og adgangskode og identificerer den ved at bruge en unik identifikator for klyngen. Ved at integrere RDS'en med Secret Manager kan du beskytte dine RDS-legitimationsoplysninger og administrere dem i overensstemmelse hermed.



Ved at bruge Secret Manager kan du definere livscyklussen for disse hemmeligheder og integrere dem med andre ressourcer. Her i denne artikel vil vi tilføje AWS Secret Manager med Lambda-funktion til vores RDS-klynge.





Nedenfor er nogle trin til dette formål:

Trin 1: Opret RDS-klynge

Secret Manager er meget brugt til at beskytte databasen legitimationsoplysninger. Så det første skridt er at oprette en RDS-klynge. Til dette formål henvises til denne artikel: ' Hvordan opretter man en RDS-klynge på AWS? ”. Vi har RDS-klyngen oppe at køre:



Trin 2: AWS Secret Manager

På AWS Management Console skal du søge og vælge ' Secrets Manager ”:

På Secret Manager-grænsefladen skal du klikke på 'Gem en ny hemmelighed' knap:

I den Hemmelig type , vælg 'Legitimationsoplysninger til Amazon RDS-database' mulighed, da vi konfigurerer den til RDS:

Næste er Legitimationsoplysninger afsnit. Angiv i dette afsnit Brugernavn og Adgangskode for RDS-databasen, som vi lige har oprettet:

I den Krypteringsnøgle sektionen, kan brugeren enten bruge den standard, der leveres af AWS Secret Manager eller oprette en ny ved at klikke på 'Tilføj ny nøgle' mulighed. Tilsvarende i Database sektion, skal du vælge 'DB-instans' som du har oprettet og ramt på 'Næste' knap:

Angiv et unikt navn til 'Hemmelighed' som vil hjælpe os med at identificere det senere. Beskrivelsen er valgfri. Brugeren kan dog også give en brugerdefineret beskrivelse her:

På grænsefladen , Secret Manager giver os også mulighed for at kopiere hemmeligheden. Til dette skal du vælge en region, hvor du vil oprette replikationen. I denne demo kræver vi ingen replikering, så ved at beholde resten af ​​indstillingerne som standard, tryk på 'Næste' knap:

Ved at beholde standarden gennemgår og redigerer vi nu oplysningerne. Når du har bekræftet de angivne oplysninger, skal du klikke på 'Butik' knap for at oprette og gemme hemmeligheden:

Her er hemmeligheden med succes oprettet . Klik på ' Hemmelighedens navn ' for at se dens konfigurationer:

Når vi ruller ned i grænsefladen, får vi sektionen Eksempelkode. I dette afsnit genereres en kode af Secret Manager. Kopiér denne kode, da den vil blive brugt i Lambda funktion:

// Brug dette kodestykke i din app.
// Hvis du har brug for mere oplysninger om konfigurationer eller implementering af prøvekoden, besøg AWS-dokumenterne:
// https: // docs.aws.amazon.com / sdk-til-javascript / v3 / udvikler-guide / at komme i gang.html

importere {
SecretsManager Client,
GetSecretValueCommand,
} fra '@aws-sdk/client-secrets-manager' ;

const hemmeligt_navn = 'mysecret1/sh' ;

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

lade respons;

prøve {
svar = afvent klient.send (
ny GetSecretValueCommand ( {
SecretId: hemmeligt_navn,
VersionStage: 'AWSCURRENT' , // VersionStage er som standard AWSCURRENT hvis uspecificeret
} )
) ;
} fangst ( fejl ) {
// For en liste over kastede undtagelser, se
// https: // docs.aws.amazon.com / secretsmanager / seneste / apireference /
API_GetSecretValue.html
kaste fejl;
}

const secret = respons.SecretString;

// Din kode kommer her

Trin 3: Opret Lambda-funktion

På Lambda Function-grænsefladen skal du klikke på ' Opret en funktion ” knap:

Klik på 'Forfatter fra bunden' mulighed fra 'Opret en funktion' grænseflade:

Dernæst bevæger vi os mod 'Grundlæggende oplysninger' afsnit. Angiv funktionsnavnet i 'Funktionsnavn' felt og derefter give 'Køretid' miljø. Her har vi udvalgt 'Node.js 16. x' i feltet Runtime:

Klik på 'Opret funktion' knap:

Her har vi indsat koden, der blev genereret af Secret Manager . Når du har indsat koden, skal du klikke på 'Indsætte' knap:

Når du har implementeret alle ændringerne, skal du klikke på 'Konfiguration' fanen for at tillade tilladelser til Secret Manager:

Klik på 'Tilladelser' mulighed fra 'Konfigurationer' fanen. Dette vil vise ' Eksekveringsrolle” interface og klik på følgende link under 'Rollenavn' Mark:

I den 'Tilladelser' sektionen skal du klikke på 'Tilføj tilladelser' knap. Fra rullemenuen skal du klikke på 'Vedhæft politikker' mulighed:

I den 'Andre tilladelsespolitikker' sektion, søg og vælg 'SecretsManagerReadWrite' mulighed. Tryk på 'Tilføj tilladelser' knap:

Her er politikken blevet vedhæftet og konfigureret:

Trin 4: Bekræft den hemmelige adgang

Gå nu til Lambda Dashboard Interface. Klik på 'Prøve' fane:

På den næste grænseflade skal du angive et navn til testhændelsen i 'Begivenhedsnavn' Mark. Klik på 'Gemme' knap for at anvende konfigurationer:

Her er testen blevet konfigureret med succes. Klik på 'Prøve' knap:

Her klikker vi på 'Prøve' knappen igen, og den vil vise følgende output:

Det er alt fra denne guide.

Konklusion

For at administrere hemmeligheder i Secret Manager skal du oprette RDS-klyngen, vedhæfte den til Secret Manager og derefter udføre denne kode i den konfigurerede Lambda-funktion. Lambda-funktionen vil definere, om hemmeligheden kan tilgås eller ej ved at udføre koden i den, som indeholder specifikationen for RDS-klyngen. Denne artikel er en trin-for-trin guide til håndtering af hemmeligheder ved hjælp af AWS Secret Manager og RDS.