Hassas Veriler için Gizli Bilgiler
Parolalar ve API anahtarları gibi hassas bilgileri Gizli Bilgileri kullanarak güvenli bir şekilde depolayın ve yönetin.
Hassas Veriler için Gizli Bilgiler, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
Hassas Bilgileri Koruma
Uygulamalar geliştirirken veritabanı parolaları, API anahtarları veya özel sertifikalar gibi hassas bilgilerle sık sık çalışırsınız.
Bunları doğrudan uygulama kodunuzda veya yapılandırma dosyalarınızda saklamak büyük bir güvenlik riskidir! Bu durum veri ihlallerine yol açabilir ve sisteminizi açığa çıkarabilir.
Kubernetes Secrets ile Tanışın
Kubernetes Secrets, hassas verileri kümeniz içinde güvenli bir şekilde saklamak için tasarlanmış nesnelerdir.
Hassas bilgileri Pod tanımlarınızdan ve uygulama kodunuzdan ayrı tutmanıza yardımcı olarak dağıtımlarınızı daha güvenli ve yönetilebilir hâle getirirler.
- Ayrı: Hassas verileri kapsayıcı görüntülerinden ve Pod YAML dosyalarından uzak tutun.
- Erişilebilir: Pod'lar bunları ortam değişkenleri veya bağlanmış dosyalar olarak kullanabilir.
Secrets ve ConfigMaps Karşılaştırması
Önceki bir derste hassas olmayan yapılandırma verileri için kullanılan ConfigMaps konusunu hatırlıyor olabilirsiniz.
Secrets benzerdir, ancak özellikle hassas veriler için kullanılır. Her ikisi de anahtar-değer çiftleri saklar; Secrets ise verilerin hassas niteliğini ele alır.
- ConfigMaps: Genel ve hassas olmayan yapılandırmalar için (ör. günlük düzeyleri, API uç noktaları).
- Secrets: Hassas veriler için (ör. parolalar, belirteçler, özel anahtarlar).
Secrets verilerinin varsayılan olarak şifrelenmediğini, yalnızca base64 ile kodlandığını unutmayın!
Değişmez Değerden Secret Oluşturma
Secret oluşturmanın en basit yolu, bir değişmez değer kullanarak kubectl create secret generic komutunu çalıştırmaktır.
Bu yöntem, basit bir parola gibi tek ve kısa hassas veri parçaları için kullanışlıdır.
kubectl create secret generic my-db-secret \
--from-literal=username=admin \
--from-literal=password=SuperSecretP@ssw0rd!Dosyalardan Secret Oluşturma
Daha büyük veya birden çok satırdan oluşan hassas veriler (özel anahtar ya da tam bir yapılandırma dosyası gibi) için bir dosyadan Secret oluşturmak daha iyidir.
Önce dosyaları yerel olarak oluşturun, ardından bunlara başvurun. Kubernetes dosya içeriğini okuyup saklar.
# 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.txtSecrets Verilerini Ortam Değişkeni Olarak Kullanma
Pod'lar, Secret verilerini doğrudan ortam değişkenlerine ekleyerek kullanabilir. Bu yöntem, basit anahtar-değer çiftleri için yaygındır.
Bir Secret içindeki tek tek anahtarlara veya envFrom kullanarak tüm anahtarlara başvurabilirsiniz.
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: passwordSecrets Verilerini Bağlanmış Dosyalar Olarak Kullanma
Hassas dosyalar (sertifikalar ve özel anahtarlar gibi) için veya bir uygulama belirli dosya yollarından yapılandırma beklediğinde Secrets verilerini bir Pod içindeki dosyalar olarak bağlayabilirsiniz.
Secret içindeki her anahtar, bağlanan dizinde bir dosyaya dönüşür; anahtarın değeri de dosyanın içeriği olur.
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-credentialsSecrets İçin Güvenlik
Secrets verileri gelişigüzel incelenmeye karşı korusa da her derde deva değildir. Şu noktaları unutmayın:
- Base64 Kodlaması: Secrets verileri şifrelenmez, base64 ile kodlanır. Secret'a erişimi olan herkes kodu çözebilir.
- RBAC: Secrets verilerini kimlerin okuyabileceğini, oluşturabileceğini veya değiştirebileceğini kısıtlamak için Rol Tabanlı Erişim Denetimi (RBAC) kullanın.
- Beklemede Şifreleme: Gerçek güvenlik için etcd verilerinizde (Kubernetes'in arka plandaki veri deposunda) beklemede şifrelemeyi etkinleştirin. Bulut sağlayıcıları bunu çoğu zaman sunar.
Secrets Verilerini Güncelleme
Hassas verileriniz değişirse Secret'ı güncellemeniz gerekir. Yeni değerlerle kubectl create secret komutunu yeniden çalıştırmak Secret'ı günceller; alternatif olarak güncellenmiş bir YAML dosyasıyla kubectl apply -f kullanabilirsiniz.
Ancak Secret'ı kullanan çalışan Pod'lar değişiklikleri otomatik olarak almaz. Değişiklikleri uygulamak için genellikle Secret'ı kullanan Pod'ları yeniden başlatmanız veya yeniden dağıtmanız gerekir.
Hızlı Kontrol: Secrets
Uygulamanızın erişmesi gereken özel bir API anahtarınız olduğunu düşünün. Bu anahtarı bir Kubernetes Pod'unda saklamak ve Pod'a sağlamak için en güvenli ve uygun yöntem hangisidir?
Özet: Hassas Veriler İçin Secrets
Harika iş çıkardınız! Kubernetes'te hassas verileri nasıl yöneteceğinizi öğrendiniz!
- Secrets, parolalar ve API anahtarları gibi hassas bilgileri saklar.
- Bu veriler base64 ile kodlanır ve ortam değişkenleri veya bağlanmış dosyalar olarak kullanılabilir.
- Maksimum güvenlik için her zaman RBAC uygulayın ve beklemede şifrelemeyi değerlendirin.
- Secret güncellemelerinin alınması için Pod'ların yeniden başlatılması gerektiğini unutmayın.
Sıkça Sorulan Sorular
“Hassas Veriler için Gizli Bilgiler” dersi ücretsiz mi?
Evet — “Hassas Veriler için Gizli Bilgiler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Hassas Veriler için Gizli Bilgiler” dersinde ne öğreneceğim?
Parolalar ve API anahtarları gibi hassas bilgileri Gizli Bilgileri kullanarak güvenli bir şekilde depolayın ve yönetin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Hassas Veriler için Gizli Bilgiler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yapılandırma için ConfigMaps
- Hassas Veriler için Gizli Bilgiler
- Kalıcı Birimler ve Talepler
- StorageClasses ve Dinamik Sağlama