Tüm Ürünler
Search
Belge Merkezi

Elastic Container Instance:Configure a security context

Son Güncelleme:Oct 06, 2026

Güvenlik bağlamı, bir pod veya kapsayıcı için ayrıcalık ve erişim denetimi ayarlarını tanımlar. Hangi Linux çekirdek parametrelerinin etkin olduğunu, iş yükünüzü hangi kullanıcı kimliğinin çalıştırdığını ve kapsayıcı süreçlerine hangi Linux yeteneklerinin verildiğini denetlemek için bu özelliği kullanın.

ECI, iki düzeyde güvenlik bağlamını destekler:

  • Pod güvenlik bağlamı — Ayarlar, örnekteki tüm kapsayıcılara ve birimlere uygulanır. Sysctl parametrelerini yapılandırmak için bu seçeneği kullanın.

  • Kapsayıcı güvenlik bağlamı — Ayarlar yalnızca belirtilen kapsayıcıya uygulanır. Kullanıcı kimliğini, yetenekleri ve ayrıcalıklı modu yapılandırmak için bu seçeneği kullanın.

Kubernetes güvenlik bağlamları hakkında arka plan bilgisi için bkz. Bir Pod veya Kapsayıcı İçin Güvenlik Bağlamı Yapılandırma.

Pod güvenlik bağlamı yapılandırma

Nasıl çalışır

Linux'ta sysctl arayüzü, çalışma zamanı çekirdek parametrelerini okumanıza ve değiştirmenize olanak tanır. ECI, sysctl yapılandırmasını Kubernetes güvenli/güvensiz ayrımına karşılık gelen iki API parametresi aracılığıyla sunar:

  • SecurityContext.Sysctl — Güvenli sysctl'ler için. Güvenli sysctl'ler varsayılan olarak etkindir ve örnek ile izole edilir; bu nedenle yapılan değişiklikler aynı düğümdeki diğer iş yüklerini etkilemez.

  • HostSecurityContext.Sysctl — Güvensiz sysctl'ler için. Güvensiz sysctl'ler, düğüm kararlılığını veya komşu iş yüklerini etkileyebileceğinden açık yapılandırma gerektirir.

Bir ECI örneğinin geçerli çekirdek parametrelerini görüntülemek için aşağıdaki komutu çalıştırın:

sysctl -a

Referans betiği için bkz. sysctl.sh.

Uyarı

Sysctl parametrelerini yanlış şekilde değiştirmek işletim sistemini kararsız hale getirebilir. Değişiklikleri uygulamadan önce her bir parametrenin etkisini anlayın. Parametre referansı için bkz. sysctl(8).

Desteklenen sysctl parametreleri

Güvenli sysctl'ler (SecurityContext.Sysctl kullanın):

Parametre Notlar
net.ipv4.ping_group_range
net.ipv4.ip_unprivileged_port_start

Güvensiz sysctl'ler (HostSecurityContext.Sysctl kullanın):

Parametre Notlar
kernel.shm* kernel.shm_rmid_forced hariç
kernel.msg*
kernel.sem
fs.mqueue.*
net.* net.ipv4.ip_local_port_range, net.ipv4.tcp_syncookies, net.ipv4.ping_group_range ve net.ipv4.ip_unprivileged_port_start hariç
Not

vm.min_free_kbytes değerini de değiştirebilirsiniz. Bu değerin toplam örnek belleği boyutunun %20'sinden fazla olmamasını öneririz.

API parametreleri

Bir ECI örneği oluştururken bu parametreleri CreateContainerGroup API'sine iletin.

Parametre Tür Örnek Açıklama
SecurityContext.Sysctl.N.Name string net.ipv4.ping_group_range Ayarlanacak güvenli sysctl adı
SecurityContext.Sysctl.N.Value string 1 Güvenli sysctl değeri
HostSecurityContext.Sysctl.N.Name string kernel.msgmax Ayarlanacak güvensiz sysctl adı
HostSecurityContext.Sysctl.N.Value string 65536 Güvensiz sysctl değeri

Kapsayıcı güvenlik bağlamı yapılandırma

Desteklenen parametreler

Kapsayıcı düzeyinde bir güvenlik bağlamı yapılandırmak için Container.N.SecurityContext ile ilgili parametreleri CreateContainerGroup API'sine iletin.

ParametreTürÖrnekAçıklama
Container.N.SecurityContext.RunAsUserlong1000Kapsayıcıyı çalıştıran kullanıcı kimliği. Dockerfile'daki USER yönergesini geçersiz kılar.
Container.N.SecurityContextRunAsGrouplong3000Kapsayıcıyı çalıştıran grup kimliği.
Container.N.SecurityContextRunAsNonRootbooleantrueKapsayıcının kök olmayan bir kullanıcı olarak çalıştırılıp çalıştırılmayacağı. Varsayılan: false.
Container.N.SecurityContextPrivilegedbooleantrueKapsayıcının ayrıcalıklı modda çalıştırılıp çalıştırılmayacağı. Varsayılan: false.
Not

Bu özellik dahili ön izleme aşamasındadır. Etkinleştirmek için bir destek bileti oluşturun.

Container.N.SecurityContext.Capability.Add.NarrayNET_ADMINKapsayıcı süreçlerine verilecek Linux yetenekleri.
Container.N.SecurityContext.ReadOnlyRootFilesystembooleantrueKapsayıcının kök dosya sisteminin salt okunur olup olmadığı. true olarak ayarlayın.

Desteklenen yetenekler

Not

Linux yetenek sabitleri çekirdek belgelerinde CAP_XXX biçimindedir, ancak ECI API'si CAP_ ön eki olmadan adı kullanır. Örneğin, CAP_NET_ADMIN yeteneğini vermek için değeri NET_ADMIN olarak ayarlayın.

YetenekAçıklama
AUDIT_WRITEKayıtları çekirdek denetim günlüğüne yazar.
CHOWNDosya UID'lerinde ve GID'lerinde keyfi değişiklikler yapar.
DAC_OVERRIDEDosya okuma, yazma ve çalıştırma izin denetimlerini atlar.
FOWNERDosya sistemi UID'sinin süreç UID'siyle eşleşmesini gerektiren işlemler için izin denetimlerini atlar.
FSETIDBir dosya değiştirildiğinde set-user-ID ve set-group-ID izin bitlerini temizlemez.
KILLSinyal gönderme işlemleri için izin denetimlerini atlar.
MKNODmknod(2) kullanarak özel dosyalar oluşturur.
NET_ADMINArayüzleri ve yönlendirme tablolarını yapılandırma gibi ağ ile ilgili işlemleri gerçekleştirir.
NET_BIND_SERVICEBir soketi ayrıcalıklı bir bağlantı noktasına (1024'ten küçük bağlantı noktası numarası) bağlar.
NET_RAWHam ve paket soketlerini kullanır.
SETFCAPDosyalarda keyfi yetenekler ayarlar.
SETGIDSüreç GID'lerinde ve ek GID listesinde keyfi değişiklikler yapar.
SETPCAPSüreç yetenek sınırlayıcı kümesini değiştirir.
SETUIDSüreç UID'lerinde keyfi değişiklikler yapar.
SYS_CHROOTchroot(2) kullanır.
SYS_PTRACEptrace(2) kullanarak keyfi süreçleri izler.
SYS_RAWIOG/Ç bağlantı noktası işlemleri gerçekleştirir.
Not

Süreçlere SYS_RAWIO verilmesi desteklenmez. Bu yeteneği kullanmak için bir destek bileti oluşturun.

Desteklenmeyen parametreler

Aşağıdaki parametreler yapılandırılamaz ve sabit varsayılan değerler kullanılır:

Parametre Varsayılan değer
AllowedProcMountTypes DefaultProcMount
readOnlyRootFilesystem true

Başlatma kapsayıcıları

Güvenlik bağlamları, yukarıda listelenen aynı parametreler kullanılarak başlatma kapsayıcıları için de yapılandırılabilir. Aşağıdaki parametreler başlatma kapsayıcıları için desteklenmez:

  • SecurityContextRunAsGroup

  • SecurityContextRunAsNonRoot