Aracılığıyla paylaş


Azure Kubernetes Service (AKS) ile Gizli Kapsayıcılar (önizleme)

Gizli Kapsayıcılar, daha yüksek veri güvenliği, veri gizliliği ve çalışma zamanı kod bütünlüğü hedeflerine ulaşmak için standart kapsayıcı iş yüklerinizin güvenliğini daha da sağlamak için bir dizi özellik ve özellik sağlar. Azure Kubernetes Service (AKS), AKS'de Gizli Kapsayıcılar (önizleme) içerir.

Gizli Kapsayıcılar, kapsayıcı belleğini şifrelemek için Kata Gizli Kapsayıcıları ve donanım tabanlı şifreleme üzerine kurulur. Hesaplama sırasında bellekteki verilerin düz metin, okunabilir biçimde olmasını engelleyerek yeni bir veri gizliliği düzeyi oluşturur. Kapsayıcıda güven, donanım kanıtlama aracılığıyla kazanılır ve güvenilen varlıklar tarafından şifrelenmiş verilere erişim sağlanır.

Pod Korumalı Alanı ile birlikte verilerinizi ve iş yüklerinizi korumak için Azure'da yalıtılmış hassas iş yüklerini çalıştırabilirsiniz. Kapsayıcıyı gizli kılan şey:

  • Saydamlık: Hassas uygulamanızın paylaşıldığı gizli kapsayıcı ortamı, güvenli olup olmadığını görebilir ve doğrulayabilirsiniz. Güvenilen Bilgi İşlem Tabanı'nın (TCB) tüm bileşenleri açık kaynak.
  • Denetlenebilirlik: Linux Konuk İşletim Sistemi ve tüm bileşenler dahil olmak üzere CoCo ortam paketinin hangi sürümünün geçerli olduğunu doğrulayabilir ve görebilirsiniz. Microsoft, kanıtlama aracılığıyla doğrulamalar için konuk işletim sistemi ve kapsayıcı çalışma zamanı ortamında oturum açar. Ayrıca, bir dize udibility ve denetim hikayesi oluşturmak için konuk işletim sistemi derlemelerinin güvenli karma algoritmasını (SHA) yayınlar.
  • Tam kanıtlama: TEE'nin parçası olan her şey, uzaktan doğrulama özelliğine sahip CPU tarafından tam olarak ölçülür. AMD SEV-SNP işlemcisinin donanım raporu, kanıtlama talepleri aracılığıyla kapsayıcı katmanlarını ve kapsayıcı çalışma zamanı yapılandırma karması yansıtacaktır. Uygulama, Konuk işletim sistemi görüntüsünü ve kapsayıcı çalışma zamanını yansıtan rapor da dahil olmak üzere donanım raporunu yerel olarak getirebilir.
  • Kod bütünlüğü: Çalışma zamanı zorlaması, kapsayıcılar ve kapsayıcı yapılandırması için sabit ilkeler ve kapsayıcı imzalama gibi müşteri tanımlı ilkeler aracılığıyla her zaman kullanılabilir.
  • operatörden yalıtım: Müşteri/kiracı yöneticileri de dahil olmak üzere güvenilmeyen tüm taraflardan en az ayrıcalık ve en yüksek yalıtım korumasını üstlenen güvenlik tasarımları. Mevcut Kubernetes kontrol düzlemi erişimini (kubelet) gizli podlara sağlamlaştırmayı içerir.

Bu özellikler, genel mimarinizin bir parçası olarak diğer güvenlik önlemleri veya veri koruma denetimleriyle hassas bilgilerin güvenliğini sağlamaya yönelik mevzuat, sektör veya idare uyumluluğu gereksinimlerini karşılamanıza yardımcı olur.

Bu makale Gizli Kapsayıcılar özelliğini ve aşağıdakileri nasıl uygulayıp yapılandırabileceğinizi anlamanıza yardımcı olur:

  • Azure CLI kullanarak AKS kümesini dağıtma veya yükseltme
  • Podu gizli kapsayıcı olarak çalıştırılıyor olarak işaretlemek için pod YAML'nize bir ek açıklama ekleyin
  • Pod YAML'nize güvenlik ilkesi ekleme
  • Uygulamanızı gizli bilgi işlemde dağıtma

Desteklenen senaryolar

Gizli Kapsayıcılar (önizleme), hassas veriler içeren dağıtım senaryoları için uygundur. Örneğin, kişisel bilgiler (PII) veya mevzuat uyumluluğu için gerekli güçlü güvenliğe sahip veriler. Kapsayıcılarla ilgili bazı yaygın senaryolar şunlardır:

  • Finansal sektörde sahtekarlık deseni tanıma için Apache Spark kullanarak büyük veri analizi çalıştırma.
  • Sürekli Tümleştirme ve Sürekli Dağıtım (CI/CD) DevOps uygulamalarının bir parçası olarak kodu güvenli bir şekilde imzalamak için şirket içinde barındırılan GitHub çalıştırıcılarını çalıştırma.
  • Makine Öğrenmesi, güvenilir bir kaynaktan şifrelenmiş bir veri kümesi kullanarak ML modellerini çıkarım ve eğitiyor. Gizliliği korumak için yalnızca gizli bir kapsayıcı ortamında şifresi çözülür.
  • Dijital reklam ile perakende gibi sektörlerde çok partili hesaplamanın bir parçası olarak kimlik eşleştirme için büyük veri temiz odaları oluşturma.
  • Buluta uygulama geçişlerine yönelik gizlilik düzenlemelerini karşılamak için gizli bilgi işlem Sıfır Güven giriş bölgeleri oluşturma.

Dikkat edilmesi gereken noktalar

Gizli Kapsayıcılar'ın bu önizlemesinde dikkat edilmesi gerekenler şunlardır:

  • Runc podlarına ve çekirdek yalıtılmış podlara kıyasla pod başlatma süresinde artış.
  • Sürüm 1 kapsayıcı görüntüleri desteklenmez.
  • Kısa ömürlü kapsayıcılar exec ve kapsayıcıya ekleme, kapsayıcılardan çıkışları günlüğe kaydetme ve stdio ExecProcessRequest, ReadStreamRequest, WriteStreamRequest ve CloseStdinRequest'i etkinleştirmek için ilke değişikliği ve yeniden dağıtma gerektiren diğer sorun giderme yöntemleri.
  • Kapsayıcı görüntüsü katmanı ölçümleri güvenlik ilkesinde kodlandığından, kapsayıcıları belirtirken etiketinin kullanılmasını latest önermeyiz.
  • Hizmetler, Load Balancer'lar ve EndpointSlices yalnızca TCP protokollerini destekler.
  • İlke oluşturucu yalnızca IPv4 adreslerini kullanan podları destekler.
  • Pod dağıtıldıktan sonra ConfigMap'leri ve Gizli Dizileri temel alan pod ortam değişkenleri değiştirilemez.
  • Pod sonlandırma günlükleri desteklenmez. Podlar, pod bildiriminde belirtilirse sonlandırma günlüklerini /dev/termination-log özel bir konuma veya özel bir konuma yazarken, konak/kubelet bu günlükleri okuyamaz. Poddan bu dosyaya yapılan değişiklikler konağa yansıtılamaz.

Kaynak ayırmaya genel bakış

Bu sürümdeki bellek ve işlemci kaynak ayırma davranışını anlamanız önemlidir.

  • CPU: Dolgu, podun içindeki temel işletim sistemine bir vCPU atar. Kaynak limits belirtilmezse, iş yüklerinin atanmış ayrı CPU paylaşımları yoktur; vCPU daha sonra bu iş yüküyle paylaşılır. CPU sınırları belirtilirse, CPU paylaşımları iş yükleri için açıkça ayrılır.
  • Bellek: Kata-CC işleyicisi UVM OS için 2 GB bellek ve X MB ek bellek kullanır; burada X, YAML bildiriminde belirtilirse kaynaktır limits (kapsayıcılar için örtük bellek olmadan sınır verilmediğinde 2 GB VM ile sonuçlanır). Kata işleyicisi, YAML bildiriminde kaynak limits belirtildiğinde UVM işletim sistemi için 256 MB temel bellek ve X MB ek bellek kullanır. Sınırlar belirtilmezse, kapsayıcılar için 2 GB VM ve 1.792 MB örtük bellek elde etmek üzere 1.792 MB örtük sınır eklenir.

Bu sürümde, pod bildirimlerinde kaynak isteklerinin belirtilmesi desteklenmez. containerd istekleri Kata Dolgusu'na geçirmez ve sonuç olarak pod bildirimi kaynak isteklerine göre kaynak ayırma uygulanmaz. limits İş yükleri veya kapsayıcılar için bellek veya CPU kaynakları ayırmak için kaynak yerine kaynak requests kullanın.

VM belleği tarafından yedeklenen yerel kapsayıcı dosya sistemiyle, kapsayıcı dosya sistemine yazmak (günlüğe kaydetme dahil) poda sağlanan kullanılabilir belleği doldurabilir. Bu durum olası pod kilitlenmelerine neden olabilir.

Sonraki adımlar