Düzenle

Aracılığıyla paylaş


Kubernetes üzerinde Apache Spark ile gizli bilgi işlemde büyük veri analizi

Azure Kubernetes Service (AKS)
Azure SQL Database
Azure Data Lake

Bu çözüm, Azure Data Lake ve Azure SQL Veritabanı verileri içeren gizli kapsayıcıların içinde Apache Spark ile büyük veri analizi çalıştırmak için Kubernetes'te gizli bilgi işlem kullanır. Gizli bilgi işlem, Güvenli Şifrelenmiş Sanallaştırma-Güvenli İç İçe Disk Belleğine sahip Intel Software Guard Uzantıları ve AMD EPYCTM işlemcileri tarafından sağlanır. AMD SEV-SNP gizli VM'leri ile AKS kümesi sağlama hakkında daha fazla bilgi için bkz . AMD SEV-SNP gizli VM'leri ile AKS üzerinde Gizli VM düğümü havuzu desteği. Gizli bilgi işlem Intel SGX aracı düğümleriyle AKS kümesi dağıtma hakkında daha fazla bilgi için bkz . Azure CLI kullanarak gizli bilgi işlem Intel SGX aracı düğümleriyle AKS kümesi dağıtma.

Apache®, Apache Ignite, Ignite ve alev logosu, Apache Software Foundation'ın Birleşik Devletler ve/veya diğer ülkelerdeki tescilli ticari markaları veya ticari markalarıdır. Bu işaretlerin kullanılması Apache Software Foundation tarafından onaylanmamaktadır.

Mimari

Apache Spark, Azure SQL Always Encrypted, AKS ve Güvenli Kapsayıcı Ortamı ile gizli büyük veri analizi diyagramı.

Bu mimarinin PowerPoint dosyasını indirin.

Yukarıdaki diyagramda mimari özetlenmektedir: daha büyük veri kümelerini dağıtılmış bir şekilde işlemek için ölçeklenebilir bir desen. Ayrıca ilişkisel veritabanı altyapılarında ve gizli verilerin depolanmasında gizli analizler de sergiler. Özellikle kapsayıcılı Spark uygulaması, gösterildiği gibi iki veri kaynağındaki veri kümelerini işleyebilir:

  1. Azure Data Lake Depolama - Parquet/Delta Lake dosyaları: Örnek gösterimde gösterildiği gibi, bir Sürücü, Güvenli Kapsayıcı Ortamı (SCONE) çalışma zamanında üç Yürütücü olmak üzere dört podlu spark dağıtımı, Iki dakika veya yaklaşık 131 saniye içinde Azure Data Lake depolama alanında depolanan 1,5 milyar parquet/Delta Lake dosyasını işleyebilecek.

  2. Azure SQL DB - Güvenli kuşatmalarla Always Encrypted: Bu örnekte Spark kapsayıcısı kapanım içindeki Azure SQL JDBC sürücüsünü kullanarak analiz ve makine öğrenmesi işlem hatlarını çalıştırarak Always Encrypted verilerine düz metin olarak erişmek için Spark kullanılmaktadır.

Bu düzeni, Spark'ın büyük ekosistemi tarafından desteklenen tüm veri kaynaklarını içerecek şekilde kolayca genişletebilirsiniz.

İş Akışı

  1. operatör kişisi: DevOps mühendisi Kubernetes kümeleri, Ad Alanları, Hizmet Hesapları ve Gizli sanal makine (VM) düğüm havuzları (örneğin, DC4s_v3) sağlar.

  2. Geliştirici kişisi: Veri mühendisi pyspark'ı kullanarak büyük hacimli verileri analiz etmek için tasarlanmış bir analiz uygulaması yazar.

  3. Veri koruyucu kişisi: Veri veya güvenlik mühendisi, pyspark uygulaması için kuruluştaki paylaşılan bir depodan (tek seferlik bir etkinlik) bir güvenlik ilkesi oluşturur. Bu ilke, veri ve uygulama kodunun beklenen durumunu, platform için en düşük güvenlik gereksinimlerini ve ortam değişkenlerini, komut satırı bağımsız değişkenlerini veya gizli dizileri (JDBC dizesi, giriş blobu URI'si ve erişim için SAS belirteci gibi) belirtir. Ayrıca Kubernetes Gizli Dizilerini veya Azure Key Vault'ı kullanarak bu yapılandırmayı Spark çalışma zamanı için kullanılabilir hale getirebilirsiniz. (Daha fazla bilgi için bkz. Aks kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault Sağlayıcısı'nı kullanın). Yapılandırma, yalnızca sağladığı kanıt bir kanıtlama sağlayıcısı tarafından doğrulanırsa kapanıma eklenir. Kanıtlama sağlayıcısı (örneğin, Azure Doğrulama Hizmeti) güvenlik ilkesinde de tanımlanır.

  4. ScONE gizli bilgi işlem yazılımının yardımıyla veri mühendisi, şifrelenmiş analiz kodunu ve PySpark'ın güvenli bir sürümünü içeren gizli bir Docker görüntüsü oluşturur. SCONE, Intel SGX'in etkinleştirildiği bir AKS kümesinde çalışır (bkz . Sistem düğümü havuzuyla AKS kümesi oluşturma), kapsayıcının bir kapanım içinde çalışmasına olanak tanır. PySpark, hassas verilerin ve uygulama kodunun Bir Güvenilen Yürütme Ortamı'nda (TEE) şifrelendiğine ve yalıtıldığına dair kanıt sağlar; bu da hiçbir insan, işlem ve günlüklerin düz metin verilerine veya uygulama koduna erişimi olmadığı anlamına gelir.

  5. PySpark uygulaması uzak AKS kümesine dağıtılır. Başlar ve kanıtlama kanıtını kanıtlama sağlayıcısına gönderir. Kanıt geçerliyse bir kanıtlama belirteci döndürülür. Uzak altyapı kanıtlama belirtecini kabul eder ve Azure Doğrulama hizmetinde bulunan bir genel sertifikayla doğrular. Belirteç doğrulanırsa, kapanım güvenli olduğundan ve ne verilerin ne de uygulama kodunun kapanım dışında açılmadığından neredeyse emin olabilirsiniz. Daha sonra güvenlik ilkesindeki yapılandırma (ortam değişkenleri, komut satırı bağımsız değişkenleri ve gizli diziler) PySpark kuşatmalarına eklenir.

  6. PySpark yürütmesini birkaç Kubernetes düğümü arasında yatay olarak ölçeklendikleyebilirsiniz. Tüm PySpark örnekleri şifrelenmiş bir kanal üzerinden iletişim kurar ve yerel dosya sistemlerine yazılması gereken tüm dosyalar şifrelenir (örneğin, dosyaları karıştırma).

  7. Analizin sonuçları şifrelenir ve Always Encrypted (sütun düzeyinde şifreleme kullanan) ile bir Azure SQL Veritabanı yüklenir. Çıkış verilerine ve şifreleme anahtarlarına erişim, bu makalede açıklanan aynı tür güvenlik ilkeleri ve donanım tabanlı kanıtlama kanıtı kullanılarak diğer gizli uygulamalara (örneğin, bir işlem hattında) güvenli bir şekilde verilebilir.

Bileşenler

  • Azure Doğrulama, bir platformun güvenilirliğini uzaktan doğrulayan birleşik bir çözümdür. Azure Doğrulama ayrıca platformda çalışan ikili dosyaların bütünlüğünü uzaktan doğrular. Gizli uygulamayla güven oluşturmak için Azure Doğrulama kullanın.

  • Azure gizli bilgi işlem düğümleri, donanım tabanlı bir TEE içinde AKS üzerinde hassas iş yükleri çalıştırabilen belirli bir VM serisinde barındırılır. Bu ortamda kullanıcı düzeyi kod, enclaves olarak bilinen özel bellek bölgelerini ayırabilir. Gizli bilgi işlem düğümleri gizli kapsayıcıları veya kapanım kullanan kapsayıcıları destekleyebilir.

  • Azure Kubernetes Service , Kubernetes kümesini dağıtma ve yönetme işlemini basitleştirir.

  • Apache Spark , hem tek düğümlü makinelerde hem de Kubernetes podları gibi çok düğümlü kümelerde veri mühendisliği, veri bilimi ve makine öğrenmesi yürütmeye yönelik açık kaynaklı, çok dilli bir altyapıdır.

  • Azure SQL Veritabanı artık güvenli kuşatmalarla Always Encrypted'ı seçerek SQL Server Always Encrypted teknolojisinin gizli bilgi işlem özelliklerini yerinde şifreleme ve zengin gizli sorgular içerecek şekilde genişletiyor.

  • SCONE , Kubernetes kümesi içinde çalışan kapsayıcılarda gizli uygulamaların yürütülmesini destekler.

  • SCONE platformu , bağımsız bir yazılım satıcısı ve Azure iş ortağı olan Scontain'in bir çözümüdür.

Alternatifler

Occlum , Intel SGX için bellek açısından güvenli, çok işlemli bir kitaplık işletim sistemidir (LibOS). Occlum, eski uygulamaların Intel SGX üzerinde kaynak kodda çok az veya hiç değişiklik yapmadan çalışmasını mümkün kılar. Occlum, mevcut Docker uygulamalarına kolay geçişe olanak tanırken kullanıcı iş yüklerinin gizliliğini şeffaf bir şekilde korur. Occlum, Java uygulamalarını destekler.

SCONE mühendislik ekibi, Spark'ın en son sürümünü çalıştıran bir Apache Spark kapsayıcı görüntüsü tutar. Apache Spark'a özgü olmayan bir alternatif, kapsayıcılı uygulamanızla kullanmak üzere gizli kapsayıcılar dağıtabileceğiniz Fortanix'tir. Fortanix, en geniş uygulama kümesini çalıştırmak ve yönetmek için gereken esnekliği sağlar: mevcut uygulamalar, yeni yerel uygulamalar ve önceden paketlenmiş uygulamalar.

Senaryo ayrıntıları

Veri kümelerinin üstel büyümesi, verilerin hem tüketici verilerinin gizliliği hem de uyumluluğu açısından nasıl ortaya çıkarıldığına ilişkin incelemenin artmasına neden oldu. Bu bağlamda gizli bilgi işlem, kuruluşların iş ve tüketici verilerine yönelik gizlilik ve güvenlik gereksinimlerini karşılamasına yardımcı olan önemli bir araç haline gelir. Kuruluşlar, veriler uyumlu bir şekilde işlenirse düzenlenen verilerden yeni içgörüler elde edebilir. Gizli bilgi işlem, özellikle bulut bilişim tarafından sağlanan ölçeğin verileri gizli olarak işlemek için gerekli olduğu senaryolarda yararlıdır.

Gizli bilgi işlem teknolojisi, bellekteki verileri şifreler ve yalnızca bulut ortamı doğrulandıktan veya onaylandıktan sonra işler. Gizli bilgi işlem bulut operatörleri, kötü amaçlı yöneticiler ve hiper yönetici gibi ayrıcalıklı yazılımlar tarafından veri erişimini engeller. Ayrıca, veriler beklerken, aktarımdayken ve kullanımdayken, yaşam döngüsü boyunca verilerin korunmasına da yardımcı olur.

Azure Kubernetes Service'te (AKS) gizli kapsayıcılar, müşterilerin veri temizleme ve makine öğrenmesi eğitimi gerçekleştirmek için Apache Spark gibi popüler uygulamaları kullanması için gerekli altyapıyı sağlar. Bu makalede, Azure gizli bilgi işlemin Intel Software Guard Uzantıları (Intel SGX) ile düğüm havuzlarını kullanarak aks kümesinde Apache Spark uygulaması çalıştırmaya yönelik sunduğu bir çözüm sunulmaktadır. Bu işlemeden elde edilen veriler, güvenli kuşatmalarla Always Encrypted kullanılarak Azure SQL Veritabanı güvenli bir şekilde depolanır.

Not

Bu bağlamdaki gizli veri analizi, hassas veriler üzerinde veri sızdırmaya karşı gönül rahatlığıyla analiz çalıştırmayı ifade eder. Buna hem şirket içinde (örneğin, bir düzenbaz yönetici tarafından) hem de harici olarak (sistem güvenliğinin aşılarak) kök düzeyinde olası bir kapsayıcı erişim ihlali dahildir.

Gizli veri analizi, bulut operatörü ve hizmet veya konuk yöneticiler gibi güvenilmeyen tarafları hesaplamadan kaldırarak en yüksek güvenlik ve gizlilik gereksinimlerini karşılamaya yardımcı olur. Bu yöntem, donanım destekli garantiler aracılığıyla veri uyumluluğu gereksinimlerini karşılamaya yardımcı olur.

Olası kullanım örnekleri

Finansal hizmetler başta olmak üzere birçok sektör, bu amaçlar için gizli bilgi işlem kullanarak verilerini korur:

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

DCsv3 ve DCdsv3 serisi VM'leri kullanan Azure gizli kuşatmaları, analiz gibi yoğun bellek kullanan uygulamaların çalıştırılmasına yardımcı olmak için büyük bellek boyutları sunar. Bu senaryoda Intel SGX özellikli DC'lerv3 serisi VM'ler kullanılır. Belirli bölgelerde yalnızca belirli boyutları dağıtabilirsiniz. Daha fazla bilgi için bkz . Hızlı Başlangıç: Market'te Azure Gizli Bilgi İşlem VM'sini dağıtma ve Bölgelere göre kullanılabilen ürünler.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Bu senaryo için güvenlikte iki temel faktör, güvenli kuşatmalar ve kanıtlamadır.

Kapanım güvenceleri

Kubernetes yöneticileri veya en yüksek erişim düzeyine sahip ayrıcalıklı kullanıcılar (örneğin, kök), bellek içi içeriği veya sürücülerin veya yürütücülerin kaynak kodunu inceleyemez. Kapanım sayfası önbelleği (EPC), Azure Gizli VM'lerinde kuşatma veya gizli kapsayıcıların kullandığı özel bir bellek bölümüdür. DCsv3 ve DCdsv3 serisi VM'ler ayrıca güvenli kapanım gerektirmeyen uygulamaları çalıştırmak için normal, şifrelenmemiş bellekle birlikte gelir. Kuşatmalar için Intel SGX kullanma hakkında daha fazla bilgi için bkz . SGX kuşatmalarıyla derleme.

Kanıtlama

Kanıtlama , verileri değiştirmeden önce istemciye veya tarafa, bir uygulamanın çalıştığı ortamın hem donanım hem de yazılımı dahil olmak üzere güvenilir olduğuna dair şifreleme kanıtı sağlayan bir mekanizmadır. Uzaktan kanıtlama , bulutta çalışan bir VM örneği veya Kubernetes düğümü gibi güvenilmeyen bir konağa dağıtıldığında iş yükünüzün üzerinde oynanmamasını sağlar. Bu süreçte, Intel SGX donanımı tarafından sağlanan kanıtlama kanıtı bir kanıtlama sağlayıcısı tarafından analiz edilir.

Bir SCONE uygulamasında (Spark Sürücüsü ve Yürütücü podları gibi) uzaktan kanıtlama gerçekleştirmek için iki hizmet gerekir:

  • Yerel kanıtlama hizmeti (LAS): Güvenilmeyen konakta (AKS düğüm havuzu VM) çalışan ve Intel SGX tarafından uygulamanın doğrulandığına ilişkin kanıtlama kanıtını toplayan yerel bir hizmettir. SCONE'nin uygulama dağıtımı yöntemi nedeniyle bu kanıt imzalanır ve yapılandırma ve kanıtlama hizmetine (CAS) iletilir.

  • CAS: Güvenlik ilkelerini (SCONE oturumları olarak adlandırılır ), yapılandırmayı ve gizli dizileri yöneten merkezi bir hizmettir. CAS, LAS tarafından toplanan kanıtlama kanıtlarını uygulamanın güvenlik ilkeleriyle (uygulama sahibi tarafından tanımlanan) karşılaştırarak kapanım'ın güvenilir olup olmadığına karar verir. Bu durumda CAS, kapanım işleminin çalışmasına izin verir ve SCONE yapılandırmayı ve gizli dizileri güvenli bir şekilde ekler. CAS ve gizli dizi oluşturma ve erişim denetimi gibi özellikleri hakkında daha fazla bilgi edinmek için bkz . SCONE Yapılandırması ve Kanıtlama Hizmeti.

Bu senaryo, tanıtım ve basitlik için SCONE tarafından sağlanan bir genel CAS kullanır ve LAS'yi her AKS düğümünde DaemonSet olarak çalışacak şekilde dağıtır.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Bu senaryoyu çalıştırmanın maliyetini keşfetmek için tüm Azure hizmetlerini önceden yapılandıran Azure fiyatlandırma hesaplayıcısını kullanın. İş ortağının üretim iş yüklerini çalıştırması için gereken ek lisansları lütfen unutmayın.

Bu senaryoyu dağıtın

Bu senaryonun dağıtılması aşağıdaki üst düzey adımları içerir:

  • ScONE'nin kapsayıcı kayıt defterinden bu senaryoda kullanılan PySpark temel görüntüsüne erişim elde edin: Bkz registry.scontain.com:5050. SCONE tarafından seçilmiş görüntüler.

  • Intel SGX Gizli Kapsayıcılarında Apache Spark ile GitHub, Gizli Veri Analizi'ne yönelik tanıtım projesini kopyalayın. Bu proje demoyu yeniden oluşturmak için gerekli tüm kaynakları, dağıtım adımlarını ve kaynak kodunu içerir.

  • Azure SQL Veritabanı - Tanıtımlar'da güvenli kuşatmalarla Always Encrypted'ı dağıtın. Bu tanıtımlarda contosohr adlı gizli bir veri kümesi kullanılır. Bu senaryo, gizli verilerin şifresini Spark kapsayıcıları kapanım içinde düz metin olarak çözer.

  • Intel SGX özellikli AKS kümesi düğüm havuzu dağıtma. Yönergeler için bkz . Hızlı Başlangıç: Azure CLI kullanarak gizli bilgi işlem düğümleriyle AKS kümesi dağıtma.

  • Eklenen Kubernetes bildirimini kullanarak SCONE Yerel Kanıtlama Hizmeti'ni kümeye dağıtın.

  • SCONE gizli bilgi işlem yazılımıyla şifrelenmiş görüntüyü derleyin ve kendi Azure Container Registry'nize gönderin. Depoda New York City'nin Sarı Taksi seyahati kayıtlarındaki satır sayısını, zamanların, konumların, ücretlerin ve taksi yolculuklarıyla ilgili diğer verilerin açık veri kümesini sayan bir tanıtım uygulaması vardır. Bunu özel ihtiyaçlarınıza göre uyarlayabilirsiniz.

  • komutunu spark-submitçalıştırarak Spark uygulamasını dağıtın. Bu, görevleri çalıştıran ve çözümleme sonuçlarını sürücüye raporlayan bir sürücü podunu ve yapılandırılabilir sayıda yürütücü podunu (tanıtımda üç tane kullanılır) dağıtır. Tüm iletişim şifrelenir.

Alternatif olarak, bir VM olan Kubernetes'teki SCONE Gizli PySpark, yerel bir küçükube kümesinde yeniden oluşturabileceğiniz tanıtımı içerir. Daha fazla bilgi için resmi belgelere bakın: SCONE PySpark sanal makinesi.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunan:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar