Aracılığıyla paylaş


Azure Container Apps dinamik oturumlarına genel bakış

Azure Container Apps dinamik oturumları, diğer iş yüklerinden güçlü yalıtım gerektiren kod veya uygulamaları çalıştırmak için ideal olan güvenli korumalı alan ortamlarına hızlı erişim sağlar.

Oturumlar aşağıdaki özniteliklere sahiptir:

  • Güçlü yalıtım: Oturumlar birbirinden ve konak ortamından yalıtılır. Her oturum kendi Hyper-V korumalı alanında çalışır ve kurumsal düzeyde güvenlik ve yalıtım sağlar. İsteğe bağlı olarak, güvenliği daha da geliştirmek için ağ yalıtımını etkinleştirebilirsiniz.

  • Basit erişim: Oturumlara REST API aracılığıyla erişilir. Her oturumu benzersiz bir tanımlayıcı işaretler. Belirli bir tanımlayıcıya sahip bir oturum yoksa, yeni bir oturum otomatik olarak ayrılır.

  • Tam olarak yönetilen: Platform bir oturumun yaşam döngüsünü tam olarak yönetir. Oturumlar artık kullanımda olmadığında otomatik olarak temizlenir.

  • Hızlı başlangıç: Milisaniye cinsinden yeni bir oturum ayrılır. Hızlı başlangıçlar, hazır ancak ayrılmamış oturumlardan oluşan bir havuzun otomatik olarak korunmasıyla elde edilir.

  • Ölçeklenebilir: Oturumlar yüksek ölçekte çalıştırılabilir. Yüzlerce veya binlerce oturumu eşzamanlı olarak çalıştırabilirsiniz.

Oturum türleri

Azure Container Apps iki tür oturumu destekler:

Type Açıklama Faturalama modeli
Kod yorumlayıcı Tam olarak yönetilen kod yorumlayıcı Oturum başına (tüketim)
Özel kapsayıcı Kendi kapsayıcınızı getirme Container Apps Ayrılmış Planı

Kod yorumlayıcı

Kod yorumlayıcı oturumları, popüler kitaplıklarla önceden yüklenmiş bir korumalı alanda kod çalıştırmanıza olanak sağlar. Uygulamanızın kullanıcıları tarafından sağlanan kod veya büyük bir dil modeli (LLM) tarafından oluşturulan kod gibi güvenilmeyen kodu çalıştırmak için idealdir. Kod yorumlayıcı oturumları hakkında daha fazla bilgi edinin.

Özel kapsayıcı

Özel kapsayıcı oturumları, güvenli, yalıtılmış korumalı alanlarda kendi kapsayıcı görüntülerinizi çalıştırmanıza olanak sağlar. Bunları, kullanıma hazır olarak desteklenmeyen bir dil için özel kod yorumlayıcı çalıştırmak veya güçlü yalıtım gerektiren iş yüklerini çalıştırmak için kullanabilirsiniz. Özel kapsayıcı oturumları hakkında daha fazla bilgi edinin.

Kavramlar

Azure Container Apps dinamik oturumlarındaki temel kavramlar, oturum havuzları ve oturumlardır.

Oturum havuzları

Azure Container Apps, saniyenin altında oturum ayırma süreleri sağlamak için hazır ancak ayrılmamış oturumlardan oluşan bir havuz tutar. Yeni bir oturuma istek gönderdiğinizde, platform havuzdan size bir oturum ayırır. Oturumlar ayrılırken platform, sabit sayıda hazır oturumu korumak için havuzu otomatik olarak yeniler.

Havuzları, özelliği aracılığıyla maxConcurrentSessions eşzamanlı olarak ayrılabilecek en fazla oturum sayısını ayarlanacak şekilde yapılandırabilirsiniz. Bir oturum özelliği silinmeden cooldownPeriodInSeconds önce son istekten bekleme süresini ayarlayabilirsiniz. Özel kapsayıcı oturumları için, aracılığıyla readySessionInstanceshavuzda hazır tutulacak oturumların hedef sayısı da dahil olmak üzere havuzdaki oturumlar için kullanılacak kapsayıcı görüntüsünü ve ayarlarını da belirtebilirsiniz.

Oturumlar

Oturum, kodunuzu veya uygulamanızı çalıştıran korumalı bir ortamdır. Her oturum, hyper-V korumalı alanıyla diğer oturumlardan ve konak ortamından yalıtılır. İsteğe bağlı olarak, güvenliği daha da geliştirmek için ağ yalıtımını etkinleştirebilirsiniz.

HTTP istekleri göndererek oturum havuzundaki oturumlarla etkileşim kurarsınız. Her oturum havuzunun benzersiz bir havuz yönetimi uç noktası vardır.

Kod yorumlayıcı oturumları için LLM çerçevesiyle tümleştirme de kullanabilirsiniz.

Oturum tanımlayıcıları

Bir oturuma HTTP isteği göndermek için istekte bir oturum tanımlayıcısı sağlamanız gerekir. Oturuma istekte bulunurken oturum tanımlayıcısını URL'de adlı identifier sorgu parametresine geçirirsiniz.

  • Tanımlayıcıya sahip bir oturum zaten varsa, istek mevcut oturuma gönderilir.
  • Tanımlayıcıya sahip bir oturum yoksa, istek gönderilmeden önce otomatik olarak yeni bir oturum ayrılır.

Oturum havuzu ve oturum kullanımı ekran görüntüsü.

Tanımlayıcı biçimi

Oturum tanımlayıcısı serbest biçimli bir dizedir; başka bir deyişle, bunu uygulamanızın gereksinimlerine uygun herhangi bir şekilde tanımlayabilirsiniz.

Oturum tanımlayıcısı, tanımladığınız ve oturum havuzu içinde benzersiz olan bir dizedir. Web uygulaması oluşturuyorsanız oturum tanımlayıcısı olarak kullanıcının kimliğini kullanabilirsiniz. Sohbet botu oluşturuyorsanız konuşma kimliğini kullanabilirsiniz.

Tanımlayıcı, 4 ila 128 karakter uzunluğunda bir dize olmalıdır ve yalnızca bu listeden alfasayısal karakterler ve özel karakterler içerebilir: |, -, &, ^, %, $, #(, }{)];[<ve .>

Oturum tanımlayıcılarını koruma

Oturum tanımlayıcısı, güvenli bir şekilde yönetmeniz gereken hassas bilgilerdir. Uygulamanızın her kullanıcının veya kiracının yalnızca kendi oturumlarına erişimi olduğundan emin olması gerekir.

Oturum tanımlayıcılarının kötüye kullanılmasını engelleyen belirli stratejiler, uygulamanızın tasarımına ve mimarisine bağlı olarak farklılık gösterir. Ancak, kötü niyetli bir kullanıcının başka bir kullanıcının oturumuna erişememeleri için uygulamanızın oturum tanımlayıcıları oluşturma ve kullanma üzerinde her zaman tam denetime sahip olması gerekir.

Örnek stratejiler şunlardır:

  • Kullanıcı başına bir oturum: Uygulamanız kullanıcı başına bir oturum kullanıyorsa, her kullanıcının kimliğinin güvenli bir şekilde doğrulanması ve uygulamanızın oturum açmış her kullanıcı için benzersiz bir oturum tanımlayıcısı kullanması gerekir.
  • Aracı konuşması başına bir oturum: Uygulamanız yapay zeka aracısı konuşması başına bir oturum kullanıyorsa, uygulamanızın son kullanıcı tarafından değiştirilmeyecek her konuşma için benzersiz bir oturum tanımlayıcısı kullandığından emin olun.

Önemli

Oturumlara erişimin güvenliğinin sağlanamaması, kullanıcılarınızın oturumlarında depolanan verilere yanlış veya yetkisiz erişime neden olabilir.

Kimlik doğrulaması ve yetkilendirme

Havuz yönetimi API'sini kullanarak bir oturuma istek gönderdiğinizde, kimlik doğrulaması Microsoft Entra (eski adıYla Azure Active Directory) belirteçleri kullanılarak işlenir. Yalnızca oturum havuzundaki Azure ContainerApps Oturum Yürütücüsü rolüne ait bir kimlikten gelen Microsoft Entra belirteçleri havuz yönetimi API'sini çağırma yetkisine sahiptir.

Rolü bir kimliğe atamak için aşağıdaki Azure CLI komutunu kullanın:

az role assignment create \
    --role "Azure ContainerApps Session Executor" \
    --assignee <PRINCIPAL_ID> \
    --scope <SESSION_POOL_RESOURCE_ID>

LLM çerçevesi tümleştirmesi kullanıyorsanız, çerçeve sizin için belirteç oluşturma ve yönetimi işler. Uygulamanın, oturum havuzunda gerekli rol atamalarıyla yönetilen bir kimlikle yapılandırıldığından emin olun.

Havuzun yönetim API'sinin uç noktalarını doğrudan kullanıyorsanız, bir belirteç oluşturmanız ve bunu Authorization HTTP isteklerinizin üst bilgisine eklemeniz gerekir. Daha önce bahsedilen rol atamalarına ek olarak belirtecin değerine https://dynamicsessions.iosahip bir hedef kitle (aud) talebi içermesi gerekir.

Azure CLI kullanarak belirteç oluşturmak için aşağıdaki komutu çalıştırın:

az account get-access-token --resource https://dynamicsessions.io

Önemli

Havuzdaki herhangi bir oturum oluşturmak ve bu oturumlara erişmek için geçerli bir belirteç kullanılabilir. Belirteçlerinizi güvende tutun ve güvenilmeyen taraflarla paylaşmayın. Son kullanıcıların oturumlara doğrudan değil uygulamanız üzerinden erişmesi gerekir. Oturum havuzuna yönelik isteklerin kimliğini doğrulamak için kullanılan belirteçlere hiçbir zaman erişimleri olmamalıdır.

Yaşam döngüsü

Container Apps çalışma zamanı, bir oturum havuzundaki her oturumun yaşam döngüsünü otomatik olarak yönetir.

  • Beklemede: Bir oturum başlatıldığında bekleme durumundadır. Oturumun bekleme durumunda harcadığı süre, oturum havuzu için belirttiğiniz kapsayıcı görüntüsüne ve ayarlarına bağlıdır. Bekleyen oturum, hazır oturum havuzuna eklenmez.

  • Hazır: Oturumun başlatılması tamamlandığında ve hazır olduğunda havuza eklenir. Oturum bu durumda ayırma için kullanılabilir. Özel kapsayıcı oturumları için havuzda tutulacak hazır oturumların hedef sayısını belirtebilirsiniz. Oturumlar havuz yenilendiğinden daha hızlı ayrılırsa bu sayıyı artırın.

  • Ayrılmış: Çalıştırılmayan bir oturuma istek gönderdiğinizde havuz yeni bir oturum sağlar ve ayrılmış duruma yerleştirir. Aynı oturum tanımlayıcısına sahip sonraki istekler aynı oturuma yönlendirilir.

  • Silme: Bir oturum, ayar tarafından cooldownPeriodInSeconds tanımlanan süre boyunca istekleri almayı durdurduğunda, oturum ve Hyper-V korumalı alanı tamamen ve güvenli bir şekilde silinir.

Güvenlik

Azure Container Apps dinamik oturumları, güvenilmeyen kodu ve uygulamaları güvenli ve yalıtılmış bir ortamda çalıştıracak şekilde oluşturulur. Oturumlar birbirinden yalıtılmış olsa da, dosyalar ve ortam değişkenleri de dahil olmak üzere tek bir oturumdaki her şeye oturumun kullanıcıları tarafından erişilebilir. Hassas verileri yalnızca oturumun kullanıcılarına güveniyorsanız yapılandırmanız veya oturuma yüklemeniz gerekir.

Varsayılan olarak, oturumların giden ağ istekleri yapması engellenir. Oturum havuzunda ağ durumu ayarlarını yapılandırarak ağ erişimini denetleyebilirsiniz.

Ayrıca, oturum tanımlayıcılarının güvenli olduğundan emin olmak için oturumlara yalnızca yetkili kullanıcıların erişebildiğinden emin olmak için kimlik doğrulama ve yetkilendirme bölümündeki yönergeleri izleyin ve oturum tanımlayıcılarını koruma bölümünde yer alan yönergeleri izleyin.

Bölgesel kullanılabilirlik

Dinamik oturumlar aşağıdaki bölgelerde kullanılabilir:

Bölge Kod yorumlayıcı Özel kapsayıcı
Doğu Avustralya
Orta ABD EUAP
Doğu ABD 2 EUAP
Doğu ABD
Doğu Asya
Orta Batı Almanya
Kuzey İtalya
Orta Kuzey ABD -
Polonya Merkezi
Kuzey İsviçre
Batı Orta ABD
Batı ABD 2