Kubernetes SecurityContext(s)
Last updated
Last updated
Bir Pod'un güvenlik bağlamını belirtirken birkaç özniteliği kullanabilirsiniz. Savunma amaçlı güvenlik açısından aşağıdakileri göz önünde bulundurmalısınız:
runASNonRoot'u True olarak ayarlamak
runAsUser'ı yapılandırmak
Mümkünse, seLinuxOptions ve seccompProfile ile izinleri sınırlamak
runAsGroup ve supplementaryGroups aracılığıyla ayrıcalık grubu erişimini VERMEMEK
Bu bağlam, konteyner tanımları içinde ayarlanır. Savunma odaklı bir güvenlik açısından aşağıdaki hususları göz önünde bulundurmalısınız:
allowPrivilegeEscalation'ı False olarak ayarlayın
Hassas yetenekleri eklemeyin (ve ihtiyaç duymadıklarınızı kaldırın)
privileged'ı False olarak ayarlayın
Mümkünse, readOnlyFilesystem'i True olarak ayarlayın
runAsNonRoot'u True olarak ayarlayın ve bir runAsUser belirleyin
Mümkünse, seLinuxOptions ve seccompProfile'ı belirterek izinleri sınırlayın
runAsGroup üzerinden privilege group erişimini VERMEYİN.
Unutmayın ki, SecurityContext ve PodSecurityContext içinde ayarlanan özelliklerde, SecurityContext'te belirtilen değer önceliklidir.
fsGroup tamsayı
Bir Pod'daki tüm konteynerlara uygulanan özel bir ek grup. Bazı hacim türleri, Kubelet'in bu hacmin sahipliğini Pod tarafından sahiplenilen bir şekilde değiştirmesine izin verir: 1. Sahip olan GID FSGroup olur 2. setgid biti ayarlanır (hacimde oluşturulan yeni dosyalar FSGroup'a ait olur) 3. İzin bitleri rw-rw---- ile OR'lanır. Ayarlanmamışsa, Kubelet hiçbir hacmin sahipliğini ve izinlerini değiştirmez
fsGroupChangePolicy dize
Bu, Pod içinde görünmeden önce hacmin sahipliğini ve iznini değiştirme davranışını tanımlar.
runAsGroup tamsayı
Konteyner sürecinin giriş noktasını çalıştırmak için kullanılacak GID. Ayarlanmamışsa, çalışma zamanı varsayılanı kullanılır. Ayrıca SecurityContext içinde de ayarlanabilir.
runAsNonRoot mantıksal
Konteynerin bir kök kullanıcı olarak çalışmaması gerektiğini belirtir. Eğer true ise, Kubelet, konteynerin UID 0 (kök) olarak çalışmadığından emin olmak için görüntüyü çalışma zamanında doğrular ve konteyneri başlatamazsa hata verir.
runAsUser tamsayı
Konteyner sürecinin giriş noktasını çalıştırmak için kullanılacak UID. Belirtilmemişse, görüntü meta verilerinde belirtilen kullanıcıya varsayılan olarak ayarlanır.
seLinuxOptions SELinuxOptions seLinux hakkında daha fazla bilgi
Tüm konteynerlara uygulanacak SELinux bağlamı. Belirtilmemişse, konteyner çalışma zamanı her konteyner için rastgele bir SELinux bağlamı tahsis eder.
seccompProfile SeccompProfile Seccomp hakkında daha fazla bilgi
Bu Pod'daki konteynerler tarafından kullanılacak seccomp seçenekleri.
supplementalGroups tamsayı dizisi
Her konteynerde ilk olarak çalıştırılan sürece uygulanan grupların listesi, konteynerin birincil GID'sine ek olarak.
Sysctls, Pod için kullanılan isim alanlı sysctl'lerin bir listesini tutar. Konteyner çalışma zamanı tarafından desteklenmeyen sysctl'lerle (tarafından) çalıştırılan Pod'lar başlatılamaz.
Tüm konteynerlara uygulanan Windows özel ayarlar. Belirtilmemişse, bir konteynerin SecurityContext içindeki seçenekler kullanılır.
## SecurityContext
allowPrivilegeEscalation boolean
AllowPrivilegeEscalation, bir işlemin ebeveyn işleminden daha fazla ayrıcalık kazanıp kazanamayacağını kontrol eder. Bu bool, no_new_privs bayrağının konteyner işlemine ayarlanıp ayarlanmayacağını doğrudan kontrol eder. AllowPrivilegeEscalation, konteyner Privileged olarak çalıştırıldığında veya CAP_SYS_ADMIN'e sahip olduğunda her zaman true'dur.
capabilities Capabilities Capabilities hakkında daha fazla bilgi
Konteynerler çalıştırılırken eklenecek/düşürülecek yetenekler. Varsayılan olarak, varsayılan yetenek kümesi kullanılır.
privileged boolean
Ayrıcalıklı modda konteyneri çalıştırın. Ayrıcalıklı konteynerlerdeki işlemler, temelde ana bilgisayardaki root ile eşdeğerdir. Varsayılan olarak false'dur.
procMount string
procMount, konteynerler için kullanılacak proc mount türünü belirtir. Varsayılan olarak, DefaultProcMount kullanılır ve salt okunur yolları ve maskelenmiş yolları için konteyner çalışma zamanı varsayılanlarını kullanır.
readOnlyRootFilesystem boolean
Bu konteynerin salt okunur bir kök dosya sistemi olup olmadığını belirtir. Varsayılan olarak false'dur.
runAsGroup integer
Konteyner işlemi giriş noktasını çalıştırmak için GID'yi belirtir. Ayarlanmamışsa, çalışma zamanı varsayılanı kullanılır.
runAsNonRoot boolean
Konteynerin root kullanıcısı olarak çalışmaması gerektiğini belirtir. True ise, Kubelet, konteynerin başlatılamaması için çalışma zamanında görüntüyü UID 0 (root) olarak çalıştırmamasını doğrulayacaktır.
runAsUser integer
Konteyner işlemi giriş noktasını çalıştırmak için UID'yi belirtir. Ayarlanmamışsa, görüntü meta verilerinde belirtilen kullanıcıya varsayılan olarak ayarlanır.
seLinuxOptions SELinuxOptions seLinux hakkında daha fazla bilgi
Konteynere uygulanacak SELinux bağlamını belirtir. Belirtilmemişse, konteyner çalışma zamanı her konteyner için rastgele bir SELinux bağlamı tahsis eder.
Bu konteyner tarafından kullanılacak seccomp seçenekleri.
Tüm konteynerlere uygulanan Windows özel ayarları.