Melindungi Rahasia dengan AWS Secrets Manager
Hentikan penyematan kredensial secara langsung dalam kode Lambda. Pelajari cara menyimpan, merotasi, dan mengambil kunci API serta kata sandi basis data dengan aman menggunakan AWS Secrets Manager.
Melindungi Rahasia dengan AWS Secrets Manager adalah pelajaran Serverless Backend with AWS Lambda & API Gateway gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Serverless Backend with AWS Lambda & API Gateway, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Serverless Backend with AWS Lambda & API Gateway mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Why Not Hardcode Secrets?
Embedding API keys or DB passwords in your Lambda code or environment variables is risky: anyone with read access can see them, and rotating them means a redeploy.
AWS Secrets Manager centralizes secrets, encrypts them, and supports automatic rotation.
What Secrets Manager Stores
Common secrets include:
- Database credentials
- Third-party API keys
- OAuth tokens
- Encryption keys
Each secret is encrypted at rest with AWS KMS.
Creating a Secret
Secrets are stored as key/value JSON. You can create one from the CLI.
aws secretsmanager create-secret \
--name prod/db/credentials \
--secret-string '{"username":"admin","password":"S3cr3t!"}'Granting Lambda Access
Your Lambda execution role needs permission to read the secret. Scope it to the exact ARN, not a wildcard.
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:us-east-1:123:secret:prod/db/credentials-*"
}Retrieving a Secret in Code
Use the AWS SDK to fetch the secret value at runtime.
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);Caching Secrets
Calling Secrets Manager on every invocation adds latency and cost. Fetch once outside the handler so the value is reused across warm invocations.
let cached;
async function getCreds() {
if (!cached) {
const r = await sm.getSecretValue({ SecretId: "prod/db/credentials" });
cached = JSON.parse(r.SecretString);
}
return cached;
}Automatic Rotation
Secrets Manager can rotate credentials on a schedule using a rotation Lambda. For supported databases (RDS), AWS provides a ready-made rotation function so passwords change without code edits.
Secrets vs Parameter Store
SSM Parameter Store also stores config and SecureString values, and is cheaper. Use Parameter Store for plain config; use Secrets Manager when you need built-in rotation and cross-account sharing.
Encryption with KMS
Every secret is encrypted with a KMS key. Use the default AWS-managed key for simplicity, or a customer-managed key (CMK) for fine-grained access control and audit.
Auditing Access
Every GetSecretValue call is logged to CloudTrail. Review these logs to detect unexpected access and prove compliance.
Best Practices
Keep secrets safe:
- Never log the secret value
- Scope IAM to the exact secret ARN
- Enable rotation for long-lived credentials
- Cache across warm invocations, not in source control
Quick Check
Test your Secrets Manager knowledge.
Recap
You learned to secure credentials:
- Store secrets in Secrets Manager, never in code
- Grant least-privilege IAM to the exact ARN
- Fetch with the SDK and cache across warm invocations
- Enable automatic rotation and audit via CloudTrail
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Melindungi Rahasia dengan AWS Secrets Manager” gratis?
Ya — teks lengkap “Melindungi Rahasia dengan AWS Secrets Manager” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Serverless Backend with AWS Lambda & API Gateway, upgrade ke CoddyKit PRO. Kursus Serverless Backend with AWS Lambda & API Gateway mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Melindungi Rahasia dengan AWS Secrets Manager”?
Hentikan penyematan kredensial secara langsung dalam kode Lambda. Pelajari cara menyimpan, merotasi, dan mengambil kunci API serta kata sandi basis data dengan aman menggunakan AWS Secrets Manager. Kamu berlatih Serverless Backend with AWS Lambda & API Gateway dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Serverless Backend with AWS Lambda & API Gateway?
Tidak diperlukan pengalaman sebelumnya. Serverless Backend with AWS Lambda & API Gateway di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Melindungi Rahasia dengan AWS Secrets Manager” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Serverless Backend with AWS Lambda & API Gateway ini?
Ya. Setiap pelajaran Serverless Backend with AWS Lambda & API Gateway menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Peran dan Izin IAM
- Pemberi Otorisasi API Gateway
- Mengamankan Lambda dengan VPC
- Melindungi Rahasia dengan AWS Secrets Manager