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
- Güvenlik ilkesini zorlamayı etkinleştirme
- 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.
- Gizli dizilerde ve ConfigMap'lerde yapılan güncelleştirmeler konukta yansıtılmamaktadır.
- Kısa ömürlü kapsayıcılar ve kapsayıcıya ekleme, kapsayıcılardan çıkışları günlüğe kaydetme ve (ReadStreamRequest ve
stdio
WriteStreamRequest) gibiexec
diğer sorun giderme yöntemleri için bir ilke değişikliği ve yeniden dağıtma gerekir. - İlke oluşturucu aracı cronjob dağıtım türlerini desteklemez.
- 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.
- Kümelerdeki tüm podlardaki tüm kapsayıcılar olarak
imagePullPolicy: Always
yapılandırılmalıdır. - İlke oluşturucu yalnızca IPv4 adreslerini kullanan podları destekler.
- Pod dağıtıldıktan sonra ortam değişkeni yöntemi kullanılarak ayarlanırsa ConfigMap'ler ve gizli dizi değerleri değiştirilemez. Güvenlik ilkesi bunu engeller.
- 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. Konuktan 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 kaynaklimits
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. Kata kapsayıcısı pod YAML bildiriminden gelen kaynak isteklerini yoksayar ve sonuç olarak kapsayıcılı, istekleri dolguya iletmez. limit
İş 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
- Bir poddaki iş yüklerinin ve verilerinin nasıl korunduğunu öğrenmek için Gizli Kapsayıcılar güvenlik ilkesine genel bakış konusuna bakın.
- Varsayılan güvenlik ilkesiyle AKS'de Gizli Kapsayıcılar dağıtın.
- Donanım yalıtımını kullanmak ve Azure platformu bakım olayları üzerinde denetim sağlamak üzere AKS kümenize sahip düğümler için Azure Ayrılmış konakları hakkında daha fazla bilgi edinin.
Azure Kubernetes Service