Secret untuk Data Sensitif
Simpan dan kelola informasi sensitif seperti kata sandi dan kunci API secara aman menggunakan Secret.
Secret untuk Data Sensitif adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Melindungi Informasi Sensitif
Saat membangun aplikasi, Anda sering menangani informasi sensitif seperti kata sandi basis data, kunci API, atau sertifikat pribadi.
Menyimpan informasi tersebut langsung di kode aplikasi atau file konfigurasi merupakan risiko keamanan yang besar! Hal ini dapat menyebabkan kebocoran data dan mengekspos sistem Anda.
Memperkenalkan Rahasia Kubernetes
Rahasia Kubernetes adalah objek yang dirancang untuk menyimpan data sensitif dengan aman di dalam klaster Anda.
Rahasia ini membantu Anda memisahkan informasi sensitif dari definisi Pod dan kode aplikasi, sehingga penerapan menjadi lebih aman dan mudah dikelola.
- Terpisah: Jauhkan data sensitif dari image kontainer dan YAML Pod.
- Dapat diakses: Pod dapat menggunakannya sebagai variabel lingkungan atau file yang dipasang.
Rahasia vs. ConfigMaps
Anda mungkin mengingat ConfigMaps dari pelajaran sebelumnya, yang digunakan untuk data konfigurasi yang tidak sensitif.
Rahasia serupa, tetapi secara khusus digunakan untuk data sensitif. Keduanya menyimpan pasangan kunci-nilai, tetapi Rahasia menangani sifat sensitif dari data tersebut.
- ConfigMaps: Untuk konfigurasi umum yang tidak sensitif (misalnya, tingkat log dan titik akhir API).
- Rahasia: Untuk data sensitif (misalnya, kata sandi, token, dan kunci pribadi).
Ingat, Rahasia dikodekan dalam base64, bukan dienkripsi secara bawaan!
Membuat Rahasia dari Nilai Literal
Cara paling sederhana untuk membuat Rahasia adalah dari nilai literal menggunakan kubectl create secret generic.
Ini berguna untuk satu potongan data sensitif yang singkat, seperti kata sandi sederhana.
kubectl create secret generic my-db-secret \
--from-literal=username=admin \
--from-literal=password=SuperSecretP@ssw0rd!Membuat Rahasia dari File
Untuk data sensitif yang lebih besar atau terdiri dari beberapa baris (seperti kunci pribadi atau file konfigurasi lengkap), sebaiknya buat Rahasia dari file.
Pertama, buat file secara lokal, lalu referensikan file tersebut. Kubernetes akan membaca isi file dan menyimpannya.
# Create local files first
echo "my-api-key-12345" > api-key.txt
echo "my-token-abcde" > auth-token.txt
# Create the Secret
kubectl create secret generic app-credentials \
--from-file=api-key.txt \
--from-file=auth-token.txtMenggunakan Rahasia sebagai Variabel Lingkungan
Pod dapat menggunakan data Rahasia dengan menyuntikkannya langsung ke variabel lingkungannya. Ini umum digunakan untuk pasangan kunci-nilai sederhana.
Anda dapat mereferensikan kunci individual dari sebuah Rahasia, atau semuanya menggunakan envFrom.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-env
spec:
containers:
- name: my-app
image: nginx:latest
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: my-db-secret
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: my-db-secret
key: passwordMenggunakan Rahasia sebagai File yang Dipasang
Untuk file sensitif (seperti sertifikat dan kunci pribadi), atau ketika aplikasi mengharapkan konfigurasi dari jalur file tertentu, Anda dapat memasang Rahasia sebagai file di dalam Pod.
Setiap kunci dalam Rahasia menjadi sebuah file di direktori yang dipasang, dengan nilainya sebagai isi file tersebut.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-vol
spec:
containers:
- name: my-app
image: nginx:latest
volumeMounts:
- name: app-secret-volume
mountPath: "/etc/secrets"
readOnly: true
volumes:
- name: app-secret-volume
secret:
secretName: app-credentialsKeamanan Rahasia Anda
Meskipun Rahasia melindungi data dari pemeriksaan sekilas, Rahasia bukanlah solusi untuk semua masalah. Ingatlah hal-hal berikut:
- Pengodean Base64: Rahasia dikodekan dalam base64, bukan dienkripsi. Siapa pun yang memiliki akses ke Rahasia dapat mendekodekannya.
- RBAC: Gunakan Role-Based Access Control (RBAC) untuk membatasi pihak yang dapat membaca, membuat, atau mengubah Rahasia.
- Enkripsi Saat Tidak Digunakan: Untuk keamanan yang sesungguhnya, aktifkan enkripsi saat tidak digunakan untuk data etcd (penyimpanan pendukung Kubernetes). Penyedia cloud sering menyediakan fitur ini.
Memperbarui Rahasia
Jika data sensitif Anda berubah, Anda perlu memperbarui Rahasia tersebut. Menjalankan ulang kubectl create secret dengan nilai baru akan memperbaruinya, atau gunakan kubectl apply -f dengan YAML yang telah diperbarui.
Namun, Pod yang sedang berjalan dan menggunakan Rahasia tersebut tidak akan otomatis mengambil perubahan. Untuk menerapkan perubahan, biasanya Anda perlu memulai ulang atau menerapkan ulang Pod yang menggunakan Rahasia tersebut.
Pemeriksaan Singkat: Rahasia
Bayangkan Anda memiliki kunci API pribadi yang perlu diakses oleh aplikasi Anda. Metode manakah yang paling aman dan tepat untuk menyimpan serta menyediakan kunci ini kepada Pod Kubernetes?
Rangkuman: Rahasia untuk Data Sensitif
Bagus! Anda telah mempelajari cara menangani data sensitif di Kubernetes!
- Rahasia menyimpan informasi sensitif seperti kata sandi dan kunci API.
- Rahasia dikodekan dalam base64 dan dapat digunakan sebagai variabel lingkungan atau file yang dipasang.
- Selalu terapkan RBAC dan pertimbangkan enkripsi saat tidak digunakan untuk keamanan maksimum.
- Ingat, Pod perlu dimulai ulang agar dapat menggunakan pembaruan Rahasia.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Secret untuk Data Sensitif” gratis?
Ya — teks lengkap “Secret untuk Data Sensitif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Secret untuk Data Sensitif”?
Simpan dan kelola informasi sensitif seperti kata sandi dan kunci API secara aman menggunakan Secret. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 2 dari 4.
Berapa lama pelajaran “Secret untuk Data Sensitif” 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- ConfigMaps untuk Konfigurasi
- Secret untuk Data Sensitif
- Volume Persisten dan Klaim
- StorageClasses dan Provisioning Dinamis