0Pricing
DevOps Bootcamp · Pelajaran

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.txt

Menggunakan 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: password

Menggunakan 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-credentials

Keamanan 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

  1. ConfigMaps untuk Konfigurasi
  2. Secret untuk Data Sensitif
  3. Volume Persisten dan Klaim
  4. StorageClasses dan Provisioning Dinamis
← Kembali ke DevOps Bootcamp