Hvordan administrere hemmeligheter ved å bruke AWS Secrets Manager og RDS?

Hvordan Administrere Hemmeligheter Ved A Bruke Aws Secrets Manager Og Rds



Amazon Relational Database er en av relasjonsdatabasetjenestene som er enklere og enklere å betjene og kjøre komplekse spørringer. Etter syntaksen til SQL-spørringer er denne tjenesten til AWS raskere enn tradisjonelle databaser og skalerer databasen automatisk basert på applikasjonens krav. Med AWS RDS eliminerer det behovet for å tilpasse maskinvaren eller gjøre konfigurasjoner til programvare for å kjøre spørringene.

Denne artikkelen viser hvordan du administrerer hemmeligheter ved å bruke AWS Secrets Manager og RDS.

Hva er en hemmelig leder?

Sikkerhetstrusler og personvernbekymringer har også blitt tatt opp av eksperter og mennesker over hele verden. For å beskytte dine digitale hemmeligheter som databaselegitimasjon, API og tokens, er AWS Secret Manager ditt verktøy for dette formålet.







AWS Secret Manager hjelper bedrifter og organisasjoner med å beskytte ressursene og tjenestene deres mot ondsinnede hensikter og cyberangrep for å kapre eller stjele sensitive data. Denne tjenesten legger til et ekstra lag med sikkerhet til ressursene og lar deg enkelt skalere og administrere hemmelighetene.



Hvordan administrere hemmeligheter ved å bruke AWS Secret Manager og RDS?

Når en bruker konfigurerer RDS-klyngen, krever den informasjon om regionen, brukernavnet og passordet til klyngen og identifiserer den ved å bruke en unik identifikator for klyngen. Ved å integrere RDS med Secret Manager kan du beskytte RDS-legitimasjonen din og administrere dem deretter.



Ved å bruke Secret Manager kan du definere livssyklusen til disse hemmelighetene og integrere dem med andre ressurser. Her i denne artikkelen vil vi legge til AWS Secret Manager med Lambda-funksjon til RDS-klyngen vår.





Nedenfor er noen trinn for dette formålet:

Trinn 1: Opprett RDS-klynge

Secret Manager er mye brukt for å beskytte databaselegitimasjonen. Så det første trinnet er å lage en RDS-klynge. For dette formålet, se denne artikkelen: ' Hvordan opprette en RDS-klynge på AWS? '. Vi har RDS-klyngen oppe og går:



Trinn 2: AWS Secret Manager

På AWS Management Console, søk og velg ' Secrets Manager ':

På Secret Manager-grensesnittet klikker du på 'Lagre en ny hemmelighet' knapp:

I Hemmelig type , velg 'Påloggingsinformasjon for Amazon RDS-database' alternativet når vi konfigurerer det for RDS:

Neste er Legitimasjon seksjon. I denne delen oppgir du Brukernavn og Passord for RDS-databasen som vi nettopp har opprettet:

I Krypteringsnøkkel seksjonen, kan brukeren enten bruke standarden levert av AWS Secret Manager eller opprette en ny ved å klikke på 'Legg til ny nøkkel' alternativ. Tilsvarende i Database seksjon, velg 'DB-forekomst' som du har opprettet og trykket på 'Neste' knapp:

Oppgi et unikt navn for 'Hemmelig' som vil hjelpe oss å identifisere det senere. Beskrivelsen er valgfri. Imidlertid kan brukeren også gi en egendefinert beskrivelse her:

På grensesnittet , Secret Manager gir oss også muligheten til å gjenskape hemmeligheten. For dette, velg en region der du vil opprette replikasjonen. I denne demoen krever vi ingen replikering, så ved å beholde resten av innstillingene som standard, trykk på 'Neste' knapp:

Ved å beholde standarden gjennomgår og redigerer vi nå informasjonen. Etter å ha bekreftet informasjonen som er gitt, klikk på 'Butikk' knappen for å opprette og lagre hemmeligheten:

Her er hemmeligheten vellykket opprettet . Klikk på ' Hemmelighetens navn ' for å se konfigurasjonene:

Når du ruller nedover grensesnittet, vil vi ha prøvekodedelen. I denne delen genereres en kode av Hemmelig leder. Kopier denne koden slik den vil bli brukt i Lambda funksjon:

// Bruk denne kodebiten i appen din.
// Hvis du trenger mer informasjon om konfigurasjoner eller implementering av eksempelkoden, besøk AWS-dokumentene:
// https: // docs.aws.amazon.com / sdk-for-javascript / v3 / utviklerveiledning / komme i gang.html

import {
SecretsManagerClient,
GetSecretValueCommand,
} fra '@aws-sdk/client-secrets-manager' ;

const hemmelig_navn = 'mysecret1/sh' ;

const klient = ny SecretsManagerClient ( {
region: 'ap-sørøst-1' ,
} ) ;

la respons;

prøve {
respons = avventer klient.send (
ny GetSecretValueCommand ( {
SecretId: secret_name,
Versjonsstadium: 'AWSCURRENT' , // VersionStage har som standard AWSCURRENT hvis uspesifisert
} )
) ;
} å fange ( feil ) {
// For en liste over kastet unntak, se
// https: // docs.aws.amazon.com / secretsmanager / siste / apireference /
API_GetSecretValue.html
kaste feil;
}

const secret = respons.SecretString;

// Koden din kommer her

Trinn 3: Lag Lambda-funksjon

På Lambda Function-grensesnittet klikker du på ' Lag en funksjon ”-knapp:

Klikk på «Forfatter fra bunnen av» alternativ fra 'Opprett en funksjon' grensesnitt:

Deretter beveger vi oss mot 'Grunnleggende informasjon' seksjon. Oppgi funksjonsnavnet i 'Funksjonsnavn' feltet og deretter oppgi «Kjøretid» miljø. Her har vi valgt ut «Node.js 16. x» i Runtime-feltet:

Klikk på 'Opprett funksjon' knapp:

Her har vi limt inn koden som ble generert av Hemmelig leder . Etter å ha limt inn koden, klikk på 'Utplassere' knapp:

Etter å ha implementert alle endringene, klikk på 'Konfigurasjon' fanen for å tillate tillatelser for Secret Manager:

Klikk på «Tillatelser» alternativ fra 'Konfigurasjoner' fanen. Dette vil vise ' Gjennomføringsrolle' grensesnitt og klikk på følgende lenke under «Rollenavn» felt:

I «Retningslinjer for tillatelser» seksjonen, klikk på 'Legg til tillatelser' knapp. Fra rullegardinmenyen klikker du på 'Legg ved retningslinjer' alternativ:

I «Andre retningslinjer for tillatelser» seksjon, søk og velg 'SecretsManagerReadWrite' alternativ. Slå den 'Legg til tillatelser' knapp:

Her er policyen vedlagt og konfigurert:

Trinn 4: Bekreft den hemmelige tilgangen

Gå nå til Lambda Dashboard Interface. Klikk på 'Test' fane:

På neste grensesnitt, oppgi et navn for testhendelsen i 'Arrangementsnavn' felt. Klikk på 'Lagre' knapp for å bruke konfigurasjoner:

Her er testen vellykket konfigurert. Klikk på 'Test' knapp:

Her klikker vi på 'Test' knappen igjen, og den vil vise følgende utgang:

Det er alt fra denne guiden.

Konklusjon

For å administrere hemmeligheter i Secret Manager, opprett RDS-klyngen, koble den til Secret Manager, og kjør deretter den koden i den konfigurerte Lambda-funksjonen. Lambda-funksjonen vil definere om hemmeligheten kan nås eller ikke ved å utføre koden i den som inneholder spesifikasjonen til RDS-klyngen. Denne artikkelen er en trinn-for-trinn-guide for å administrere hemmeligheter ved å bruke AWS Secret Manager og RDS.