Gizli Bilgi Yönetimi ve RBAC
Kapsayıcı ortamlarında hassas verileri yönetmek ve Role-Based Access Control (RBAC) uygulamak için gelişmiş stratejileri öğrenin.
Gizli Bilgi Yönetimi ve RBAC, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 3. 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Kapsayıcı Ortamınızı Güvenli Hâle Getirin
Hoş geldiniz! Bu derste kapsayıcılı uygulamalar için çok önemli güvenlik uygulamalarını ele alacağız: Gizli Bilgilerin Yönetimi ve Role Dayalı Erişim Denetimi (RBAC).
Bu kavramlar, hassas verileri korumak ve kapsayıcı ortamlarınızda yalnızca yetkili varlıkların belirli işlemleri gerçekleştirebilmesini sağlamak için hayati önem taşır.

Gizli Bilgileri Sabit Kodlamanın Tehlikesi
API anahtarları, veritabanı parolaları veya özel sertifikalar gibi hassas bilgileri doğrudan uygulama kodunuza ya da Dockerfile'larınıza sabit olarak yazmak büyük bir güvenlik riskidir.
- Açığa Çıkma: Kod deponuza veya oluşturulmuş imajınıza erişimi olan herkes bunları kolayca görebilir.
- Denetim Eksikliği: Bir gizli bilgiyi değiştirmek, uygulamanızın tamamını yeniden oluşturmayı ve dağıtmayı gerektirir.
- Uyumluluk Sorunları: Birçok güvenlik en iyi uygulamasını ve mevzuat gereksinimini ihlal eder.
Ortam Değişkenleri (Dikkatli Kullanım)
Gizli bilgileri aktarmanın yaygın ancak her zaman güvenli olmayan bir yolu, ortam değişkenlerini kullanmaktır. Docker bunları -e seçeneğiyle aktarmanıza, uygulamalar da bunları okumanıza olanak tanır.
Ancak ortam değişkenleri kolayca incelenebilir (ör. docker inspect) ve kabuk geçmişinde veya günlüklerde kalabilir. Gerçekten hassas veriler için daha iyi çözümler vardır.
Docker Secrets Uygulamada
Docker Secrets, hassas verileri kapsayıcılarda güvenli bir şekilde depolamanıza ve aktarmanıza olanak tanır. Bir gizli bilgi bir kapsayıcıya eklendiğinde /run/secrets/ altında geçici bir dosya olarak bağlanır.
Önce bir gizli bilgi oluşturursunuz (ör. echo "my_secure_pass" | docker secret create app_secret -). Ardından uygulamanız bunu okuyabilir:
import os
def main():
secret_path = "/run/secrets/app_secret"
try:
with open(secret_path, 'r') as f:
secret_value = f.read().strip()
print(f"Secret read: {secret_value}")
except FileNotFoundError:
print("Secret file not found. Make sure it's mounted.")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
main()Kubernetes Secrets'a Genel Bakış
Docker Secrets'a benzer şekilde Kubernetes, hassas bilgileri depolamak ve yönetmek için "Secrets" adlı kendi nesnesine sahiptir. Bu gizli bilgiler Pod'lara dosya olarak bağlanabilir veya ortam değişkenleri olarak kullanıma sunulabilir.
Önemli: Kubernetes Secrets varsayılan olarak şifrelenmez, base64 ile kodlanır. Bu, kolayca çözülebilecekleri anlamına gelir. Bekleyen veriler için gerçek şifreleme sağlamak üzere ek yapılandırma gerekir (ör. KMS entegrasyonu).
K8s Secrets ile Dağıtım
Bir Kubernetes Secret'ın nasıl tanımlandığına ve ardından bir Pod içinde nasıl kullanıldığına bakalım. Gizli bilgileri YAML içinde tanımlayabilir veya kubectl komutlarıyla oluşturabilirsiniz.
Oluşturulduktan sonra bir Pod, gizli bilgiyi bir birim olarak bağlamak veya değerlerini ortam değişkenleri olarak eklemek için ona başvurabilir.
apiVersion: v1
kind: Pod
metadata:
name: my-secret-pod
spec:
containers:
- name: my-app-container
image: busybox
command: ["sh", "-c", "echo Username: $(cat /etc/secrets/username) Password: $(cat /etc/secrets/password)"]
volumeMounts:
- name: secret-volume
mountPath: "/etc/secrets"
readOnly: true
volumes:
- name: secret-volume
secret:
secretName: my-k8s-secretHarici Gizli Bilgi Kasaları
Son derece hassas veriler için veya birden fazla Cluster ve ortam genelindeki gizli bilgileri yönetirken harici gizli bilgi yönetimi araçları şu gelişmiş özellikleri sunar:
- Merkezi Depolama: Tüm gizli bilgiler için tek bir güvenilir kaynak.
- Bekleyen ve Aktarım Hâlindeki Veriler için Şifreleme: Daha güçlü güvenlik garantileri.
- Dinamik Gizli Bilgiler: Otomatik olarak oluşturulan, kısa ömürlü kimlik bilgileri.
- Denetleme ve Erişim Denetimi: Ayrıntılı izinler ve kapsamlı günlük kaydı.
Yaygın seçenekler arasında HashiCorp Vault, AWS Secrets Manager ve Azure Key Vault bulunur.
RBAC Nedir?
Role Dayalı Erişim Denetimi (RBAC), sistem erişimini yetkili kullanıcılarla sınırlayan bir yöntemdir. İzinler tek tek kullanıcılara doğrudan atanmak yerine "roller" altında gruplanır ve ardından kullanıcılar bu rollere atanır.
Kapsayıcı orkestrasyonunda RBAC, kullanıcıların, uygulamaların veya hizmetlerin kaynaklarla (Pod'lar, Deployment'lar ve Secrets gibi) etkileşim kurmak için yalnızca gerekli izinlere sahip olmasını sağlar.
K8s RBAC Yapı Taşları
Kubernetes RBAC birkaç temel kaynak türünü kullanır:
- Role: Belirli bir ad alanı içindeki izinleri tanımlar (ör. "dev" ad alanında "Pod'ları görüntüleyebilir").
- ClusterRole: Tüm Cluster genelindeki izinleri tanımlar (ör. "tüm Pod'ları görüntüleyebilir" veya "düğümleri yönetebilir").
- RoleBinding: Bir Role içinde tanımlanan izinleri bir ad alanındaki kullanıcıya, gruba veya hizmet hesabına verir.
- ClusterRoleBinding: Bir ClusterRole içinde tanımlanan izinleri tüm Cluster genelindeki kullanıcıya, gruba veya hizmet hesabına verir.
RBAC Örneği: Erişimi Sınırlama
Belirli bir hizmet hesabına, yalnızca belirli bir ad alanındaki Pod'ları listeleme ve alma izni verme örneğine bakalım. Bu, en az ayrıcalık ilkesini uygular.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods-binding
namespace: default
subjects:
- kind: ServiceAccount
name: pod-viewer-sa # Name of the ServiceAccount to bind to
namespace: default
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.ioAnlayışınızı Denetleyin
Hassas verileri güvenli hâle getirmeyi ve erişimi denetlemeyi öğrendiniz. Hızlı bir denetim zamanı!
Özet: Uygulamalarınızı Güvenli Hâle Getirin
Harika iş! Bu derste kapsayıcı güvenliğinin iki kritik temelini öğrendiniz:
- Gizli Bilgilerin Yönetimi: Docker Secrets ve Kubernetes Secrets kullanarak hassas verileri korumak, bunların güçlü ve sınırlı yönlerini anlamak.
- Role Dayalı Erişim Denetimi (RBAC): En az ayrıcalık ilkesini sağlamak için Kubernetes'te ayrıntılı izinler uygulamak.
Bunlarda uzmanlaşarak daha dayanıklı ve güvenli kapsayıcılı uygulamalar oluşturuyorsunuz!
Sıkça Sorulan Sorular
“Gizli Bilgi Yönetimi ve RBAC” dersi ücretsiz mi?
Evet — “Gizli Bilgi Yönetimi ve RBAC” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Gizli Bilgi Yönetimi ve RBAC” dersinde ne öğreneceğim?
Kapsayıcı ortamlarında hassas verileri yönetmek ve Role-Based Access Control (RBAC) uygulamak için gelişmiş stratejileri öğrenin. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 3. dersidir.
“Gizli Bilgi Yönetimi ve RBAC” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Kapsayıcı İmajı Güvenlik Taraması
- Çalışma Zamanında Kapsayıcı Güvenliği
- Gizli Bilgi Yönetimi ve RBAC
- Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi