Beskytte hemmeligheter med AWS Secrets Manager
Slutt å hardkode legitimasjon i Lambda. Lær å lagre, rotere og hente API-nøkler og databasepassord sikkert ved hjelp av AWS Secrets Manager.
Beskytte hemmeligheter med AWS Secrets Manager er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Serverløs backend med AWS Lambda & API Gateway, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.
Hvorfor bør hemmeligheter ikke hardkodes?
Det er risikabelt å legge inn API-nøkler eller DB-passord i Lambda-koden eller miljøvariablene: Alle med lesetilgang kan se dem, og rotering av dem krever en ny utrulling.
AWS Secrets Manager sentraliserer hemmeligheter, krypterer dem og støtter automatisk rotering.
Hva lagrer Secrets Manager?
Vanlige hemmeligheter omfatter:
- Databaselegitimasjon
- API-nøkler for tredjeparter
- OAuth-tokener
- Krypteringsnøkler
Hver hemmelighet krypteres når den er lagret, med AWS KMS.
Opprette en hemmelighet
Hemmeligheter lagres som JSON med nøkkel/verdi-par. De kan opprette en fra CLI-en.
aws secretsmanager create-secret \
--name prod/db/credentials \
--secret-string '{"username":"admin","password":"S3cr3t!"}'Gi Lambda tilgang
Lambda-kjøringsrollen Deres trenger tillatelse til å lese hemmeligheten. Begrens den til den nøyaktige ARN-en, ikke et jokertegn.
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:us-east-1:123:secret:prod/db/credentials-*"
}Hente en hemmelighet i kode
Bruk AWS SDK til å hente hemmelighetsverdien under kjøring.
const { SecretsManager } = require("@aws-sdk/client-secrets-manager");
const sm = new SecretsManager();
const res = await sm.getSecretValue({ SecretId: "prod/db/credentials" });
const creds = JSON.parse(res.SecretString);Bufre hemmeligheter
Hvis Secrets Manager kalles ved hver aktivering, øker det ventetid og kostnader. Hent verdien én gang utenfor handler-funksjonen, slik at den kan brukes på nytt ved varme aktiveringer.
let cached;
async function getCreds() {
if (!cached) {
const r = await sm.getSecretValue({ SecretId: "prod/db/credentials" });
cached = JSON.parse(r.SecretString);
}
return cached;
}Automatisk rotering
Secrets Manager kan rotere legitimasjon etter en tidsplan ved hjelp av en rotasjons-Lambda. For støttede databaser (RDS) tilbyr AWS en ferdig rotasjonsfunksjon, slik at passord endres uten kodeendringer.
Secrets Manager kontra Parameter Store
SSM Parameter Store lagrer også konfigurasjon og SecureString-verdier, og er rimeligere. Bruk Parameter Store for vanlig konfigurasjon, og Secrets Manager når De trenger innebygd rotering og deling på tvers av kontoer.
Kryptering med KMS
Hver hemmelighet krypteres med en KMS-nøkkel. Bruk den standard AWS-administrerte nøkkelen for enkelhets skyld, eller en kundeadministrert nøkkel (CMK) for detaljert tilgangskontroll og revisjon.
Revidere tilgang
Hvert GetSecretValue-kall logges i CloudTrail. Gå gjennom disse loggene for å oppdage uventet tilgang og dokumentere samsvar med krav.
Beste praksis
Hold hemmeligheter sikre:
- Logg aldri hemmelighetsverdien
- Begrens IAM til den nøyaktige ARN-en for hemmeligheten
- Aktiver rotering for legitimasjon som varer lenge
- Bufre på tvers av varme aktiveringer, ikke i kildekontrollen
Rask sjekk
Test kunnskapen Deres om Secrets Manager.
Oppsummering
De har lært å sikre legitimasjon:
- Lagre hemmeligheter i Secrets Manager, aldri i kode
- Gi IAM-tilgang med minste privilegium til den nøyaktige ARN-en
- Hent med SDK-en og bufre på tvers av varme aktiveringer
- Aktiver automatisk rotering og revisjon via CloudTrail
Lær deg Serverløs backend med AWS Lambda & API Gateway med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Beskytte hemmeligheter med AWS Secrets Manager» gratis?
Ja – hele teksten i «Beskytte hemmeligheter med AWS Secrets Manager» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Serverløs backend med AWS Lambda & API Gateway-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.
Hva lærer jeg i «Beskytte hemmeligheter med AWS Secrets Manager»?
Slutt å hardkode legitimasjon i Lambda. Lær å lagre, rotere og hente API-nøkler og databasepassord sikkert ved hjelp av AWS Secrets Manager. Du øver på Serverløs backend med AWS Lambda & API Gateway med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Serverløs backend med AWS Lambda & API Gateway?
Ingen tidligere erfaring er nødvendig. Serverløs backend med AWS Lambda & API Gateway på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Beskytte hemmeligheter med AWS Secrets Manager»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Serverløs backend med AWS Lambda & API Gateway-leksjonen?
Ja. Alle Serverløs backend med AWS Lambda & API Gateway-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- IAM-roller og tillatelser
- API Gateway-autoriseringsmekanismer
- Sikring av Lambda med VPC
- Beskytte hemmeligheter med AWS Secrets Manager