การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก
หยุดบันทึกข้อมูลลับแบบข้อความธรรมดาไว้ในคลังโค้ด และเชื่อม Kubernetes เข้ากับคลังข้อมูลลับภายนอก เช่น HashiCorp Vault โดยใช้ External Secrets Operator
การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก เป็นบทเรียน Docker & Kubernetes for Developers ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & Kubernetes for Developers และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & Kubernetes for Developers มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Kubernetes Secrets Are Only Encoded
By default a Kubernetes Secret is just base64-encoded, not encrypted. Anyone with API access or etcd access can read it unless extra protection is added.
Encryption at Rest
A first step is enabling encryption at rest in the API server so Secret data is encrypted before being written to etcd.
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources: ["secrets"]
providers:
- aescbc:
keys:
- name: key1
secret: <base64-key>The Git Problem
In GitOps, committing Secret YAML to a repo leaks credentials. We need secrets that live outside git but still flow into the cluster.
External Secret Stores
Tools like HashiCorp Vault, AWS Secrets Manager, and GCP Secret Manager store secrets centrally with auditing, rotation, and fine-grained access.
The External Secrets Operator
The External Secrets Operator (ESO) syncs values from an external store into native Kubernetes Secrets, so workloads consume them normally.
Defining a SecretStore
A SecretStore tells ESO how to authenticate to the backend.
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: vault-backend
spec:
provider:
vault:
server: https://vault.example.com
path: secret
auth:
kubernetes:
role: my-appDefining an ExternalSecret
An ExternalSecret maps a key in the store to a generated Kubernetes Secret.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-creds
spec:
secretStoreRef:
name: vault-backend
kind: SecretStore
target:
name: db-creds
data:
- secretKey: password
remoteRef:
key: database/prod
property: passwordAutomatic Rotation
ESO refreshes synced secrets on an interval, so rotating a value in Vault propagates into the cluster without redeploys.
spec:
refreshInterval: 1hSealed Secrets Alternative
If you must keep secrets in git, Sealed Secrets encrypts them with a cluster-only key, producing a safe-to-commit SealedSecret that only the controller can decrypt.
Limiting Access With RBAC
Restrict who can read Secrets using RBAC, and prefer mounting secrets as files over environment variables to reduce accidental logging.
Avoiding Leaks
Never echo secrets in logs or CI output, and add secret-scanning to your pipeline to catch accidental commits.
Quick Check
Test what you have learned.
Recap
You learned that Secrets are only base64-encoded, how encryption at rest helps, and how the External Secrets Operator syncs from Vault and similar stores, plus Sealed Secrets, rotation, and RBAC to keep credentials safe.
คำถามที่พบบ่อย
บทเรียน “การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & Kubernetes for Developers ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & Kubernetes for Developers มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก”
หยุดบันทึกข้อมูลลับแบบข้อความธรรมดาไว้ในคลังโค้ด และเชื่อม Kubernetes เข้ากับคลังข้อมูลลับภายนอก เช่น HashiCorp Vault โดยใช้ External Secrets Operator คุณปฏิบัติ Docker & Kubernetes for Developers ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & Kubernetes for Developers หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & Kubernetes for Developers บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Docker & Kubernetes for Developers นี้ได้ไหม
ได้ บทเรียน Docker & Kubernetes for Developers ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การควบคุมการเข้าถึงตามบทบาท (RBAC)
- ความปลอดภัยของพ็อดและการสแกนอิมเมจ
- การรักษาความปลอดภัยทราฟฟิกเครือข่าย Kubernetes
- การจัดการข้อมูลลับอย่างปลอดภัยด้วยที่จัดเก็บข้อมูลลับภายนอก