Microsoft Execution Containers

Microsoft Yürütme Kapsayıcıları (MXC), tanımlı kaynak izinlerine sahip iş yüklerini çalıştırmaya yönelik açık kaynaklı, ilke temelli bir yürütme teknolojisidir. Uygulamanızda iş yükü seçmek, neler erişebileceğini açıklamak ve bunu desteklenen bir yalıtım ortamında çalıştırmak için .NET, TypeScript veya Rust SDK'sını kullanabilirsiniz.

Uygulamalar, aracılar ve geliştirici araçları genellikle yapay zeka tarafından oluşturulan komutlar, üçüncü taraf araçları ve kullanıcı tarafından sağlanan betikler gibi oluşturmadıkları veya tam olarak denetlemedikleri kodu çalıştırır. Yalıtım olmadan, bu kod dosyalara, kimlik bilgilerine, ağ hizmetlerine ve diğer kaynaklara geniş erişimi devralabilir. MXC, bu erişimi görevin gerektirdiğiyle sınırlamanıza yardımcı olur.

MXC, platforma özgü izolasyon arka uçlarını kullanarak Windows, Linux ve macOS'yi destekler. Kapsayıcı bir sanal makine veya kapsayıcı görüntüsü anlamına gelmez: bir iş yükü işletim sistemi işlemine ait korumalı alanda, ayrı bir oturumda veya sanallaştırılmış bir ortamda çalıştırılabilir. Kullanılabilir özellikler ve kısıtlamalar MXC sürümüne, backend’e ve ana bilgisayara bağlıdır.

Bu Learn makaleleri kavramları ve tümleştirme iş akışını açıklar. GitHub'da MXC belgeleri ayrıntılı SDK, şema, arka uç ve uygulama rehberliği sağlar.

Temel kavramları anlayın

Concept Meaning
Ana uygulama SDK'yı çağıran, izinleri seçen, giriş sağlayan ve sonuçları işleyen güvenilir uygulamanız veya aracı çalışma zamanı
İş yükü Yalıtım altında çalışan komut, betik veya işlem
Policy İzin ettiğiniz kaynak erişimini açıklayan, okunabilir dosyalar, yazılabilir çıkış dizinleri, ağ hedefleri ve kullanıcı arabirimi erişimi gibi bir yapılandırma
Yürütme yapılandırması Komut, çalışma dizini, çalışma zamanı ayarları ve kapsama seçimi ile birlikte politika
Backend Desteklenen kısıtlamaları uygulayan platform mekanizması (örneğin işletim sistemi süreç yalıtım alanı, ayrı kullanıcı oturumu veya sanallaştırılmış ortam)

MXC neden kullanılır?

Farklı görevlerin farklı kaynaklara ihtiyacı vardır. Depo çözümleme komutu için salt okunur kaynak erişimi ve yazılabilir bir çıkış klasörü gerekebilir. Derlemede araç zinciri dosyaları ve paket indirmeleri de gerekebilir. Daha uzun süre çalışan bir iş akışının bir ortamı komutlar arasında tutması gerekebilir.

MXC, uygulamanıza her işletim sistemi yalıtım mekanizmasıyla ayrı bir tümleştirme gerektirmek yerine ortak bir ilke ve yürütme modeli sağlar. Şunu yapmak için kullanabilirsiniz:

  • Ana bilgisayar uygulamasının tam erişimine izin vermeden oluşturulan komutları, betikleri veya dış araçları çalıştırın.
  • Okunabilir girişleri yazılabilir çıkışlardan ayırın ve kimlik bilgilerini iş yükünün erişimi dışında tutun.
  • Ağ erişimini reddedin, seçili doğrudan bağlantılara izin ver veya desteklenen arka uçlarda uygulama tarafından sağlanan HTTP(S) ara sunucusunu kullanın.
  • Pencereleri, pano erişimini ve yapay klavye veya işaretçi girişini kısıtlayın.
  • Windows ProcessContainer iş yükleri için Öğrenme Modu ile kaynak izinleri oluşturun ve geliştirin.

Yalıtım, iş yükünün yapabileceklerini sınırlar; oluşturulan yönergeleri, çıktıları veya izin verilen eylemleri güvenilir hale getirmez. İlke kararlarını güvenilen konak kodunda tutun ve uygulamanız bunları işlemeden önce sonuçları doğrulayın.

MXC ile çalışmaya başlama

Şununla başlayın: MXC SDK ile bir iş yükü çalıştırın. Bir girişi okuyan, ayrılmış bir çıkış klasörüne yazan ve izin verilmeyen bir işlemi gösteren C#, TypeScript ve Rust örnekleri sağlar.

SDK Package Ayrıntılı kılavuz
.NET Microsoft.Mxc.Sdk NuGet.org üzerinde .NET SDK kılavuzu
Node.js / TypeScript @microsoft/mxc-sdk npm üzerinde TypeScript SDK kılavuzu
Rust mxc-sdk crates.io üzerinde Rust SDK kılavuzu

İş yükünüzün erişmesi gerekebilecek tüm kaynakları tahmin etmek zor olabilir. Öğrenme Modu, bir iş yükünün erişmeye çalıştığı kaynakları kaydederek Windows'ta en az ayrıcalık ilkesi oluşturmanıza yardımcı olabilir.

Örnekleri uyarlamaya yardımcı olması için bir kodlama aracısı da kullanabilirsiniz. Kodlama aracısı gözlemleri açıklamaya yardımcı olabilir, ancak kaynak erişim ilkelerindeki değişiklikleri gözden geçirip onayladığınızdan emin olun.

MXC nasıl çalışır?

Konağınız desteklenen arka uç konteynerlerini bulur, bir ilke ve yürütme isteği oluşturur ve iş yükünü SDK aracılığıyla başlatır. MXC, bu isteği seçilen arka ucun işlemlerine çevirir. Ardından host’unuz çıkış, çıkış durumu, uyarılar ve temizleme işlemlerini işler.

Note

Arka uçlar farklı güvenlik özelliklerine sahip olabilir. Seçili ortamın gerekli denetimlerinizi zorunlu kılabildiğini onaylayın ve hem izin verilen hem de reddedilen işlemleri test edin. Bkz. MXC mimarisi, platform desteği ve sürüm notları.