Az Azure Container Apps dinamikus munkameneteinek áttekintése
Az Azure Container Apps dinamikus munkamenetei gyors hozzáférést biztosítanak biztonságos tesztkörnyezetekhez, amelyek ideálisak olyan kódok vagy alkalmazások futtatásához, amelyek más számítási feladatoktól való erős elkülönítést igényelnek.
A munkamenetek a következő attribútumokkal rendelkeznek:
Erős elkülönítés: A munkamenetek el vannak különítve egymástól és a gazdakörnyezettől. Minden munkamenet saját Hyper-V tesztkörnyezetben fut, amely nagyvállalati szintű biztonságot és elkülönítést biztosít. Opcionálisan engedélyezheti a hálózatelkülönítést a biztonság további javítása érdekében.
Egyszerű hozzáférés: A munkamenetek egy REST API-val érhetők el. Az egyes munkameneteket egyedi azonosító jelöli. Ha egy adott azonosítóval rendelkező munkamenet nem létezik, a rendszer automatikusan lefoglal egy új munkamenetet.
Teljes körűen felügyelt: A platform teljes mértékben felügyeli a munkamenetek életciklusát. A munkamenetek automatikusan törlődnek, ha már nincs használatban.
Gyors indítás: A rendszer ezredmásodpercben lefoglal egy új munkamenetet. A gyors indítások a kész, de nem áthelyezett munkamenetek készletének automatikus fenntartásával érhetők el.
Méretezhető: A munkamenetek nagy léptékben futtathatók. Egyszerre több száz vagy több ezer munkamenetet is futtathat.
Feljegyzés
Az Azure Container Apps dinamikus munkamenetei jelenleg előzetes verzióban érhetőek el.
Szekciótípusok
Az Azure Container Apps kétféle munkamenetet támogat:
Típus | Leírás | Számlázási modell |
---|---|---|
Kódértelmező | Teljes körűen felügyelt kódértelmező | Munkamenetenként (használat) |
Egyéni tároló | Saját tároló használata | Dedikált Container Apps-csomag |
Kódértelmező
A kódértelmező-munkamenetek lehetővé teszik a kód futtatását egy olyan tesztkörnyezetben, amely előre telepítve van a népszerű kódtárakkal. Ideálisak nem megbízható kódok futtatásához, például az alkalmazás felhasználói által biztosított kód vagy egy nagy nyelvi modell (LLM) által létrehozott kód futtatásához. További információ a kódértelmező-munkamenetekről.
Egyéni tároló
Az egyéni tároló munkamenetek lehetővé teszik saját tárolólemezképek biztonságos, elkülönített tesztkörnyezetekben való futtatását. Ezekkel egyéni kódértelmezőt futtathat egy olyan nyelvhez, amely nem támogatott a dobozon kívül, vagy futtathat olyan számítási feladatokat, amelyek erős elkülönítést igényelnek. További információ az egyéni tároló munkamenetekről.
Fogalmak
Az Azure Container Apps dinamikus munkameneteinek fő fogalmai a munkamenetkészletek és a munkamenetek.
Munkamenetkészletek
A másodlagos munkamenetek lefoglalási idejének biztosítása érdekében az Azure Container Apps egy kész, de nem áthelyezett munkamenetekből álló készletet tart fenn. Amikor kérést küld egy új munkamenetbe, a platform lefoglal egy munkamenetet a készletből. A munkamenetek lefoglalása során a platform automatikusan feltölti a készletet a készen álló munkamenetek állandó számának fenntartása érdekében.
A készletek úgy konfigurálhatók, hogy a tulajdonságon keresztül maxConcurrentSessions
egyidejűleg lefoglalható munkamenetek maximális száma legyen megadva. Beállíthatja a várakozási időtartamot az utolsó kéréstől, mielőtt egy munkamenet törölve lett a cooldownPeriodInSeconds
tulajdonságból. Egyéni tároló-munkamenetek esetén megadhatja a készletben lévő munkamenetekhez használandó tárolórendszerképet és beállításokat is, beleértve a készleten keresztüli readySessionInstances
használatra kész munkamenetek célszámát is.
Előadások
A munkamenet egy tesztkörnyezet, amely futtatja a kódot vagy az alkalmazást. Minden munkamenet el van különítve a többi munkamenettől és a gazdakörnyezettől egy Hyper-V tesztkörnyezettel. Opcionálisan engedélyezheti a hálózatelkülönítést a biztonság további javítása érdekében.
Munkamenet-azonosítók
Amikor egy készlet munkameneteivel kommunikál, meg kell adnia egy munkamenet-azonosítót az egyes munkamenetek kezeléséhez. A munkamenet-azonosító egy szabad formátumú sztring, ami azt jelenti, hogy bármilyen módon megadhatja, amely megfelel az alkalmazás igényeinek. Ez az azonosító kulcsfontosságú elem a munkamenet viselkedésének meghatározásában:
- Meglévő munkamenetek újrafelhasználása: Ezt a munkamenetet akkor használja újra a rendszer, ha már létezik egy olyan futó munkamenet, amely megfelel az azonosítónak.
- Új munkamenetek lefoglalása: Ha egyetlen futó munkamenet sem felel meg az azonosítónak, a rendszer automatikusan lefoglal egy új munkamenetet a készletből.
A munkamenet-azonosító egy olyan sztring, amelyet a munkamenetkészleten belül egyediként határoz meg. Ha webalkalmazást készít, használhatja a felhasználó azonosítóját. Ha csevegőrobotot készít, használhatja a beszélgetés azonosítóját.
Az azonosítónak 4–128 karakter hosszúságú sztringnek kell lennie, és csak alfanumerikus karaktereket és speciális karaktereket tartalmazhat a listából: |
, , -
, &
, $
%
)
(
{
}
#
^
]
;
[
<
és .>
A munkamenet-azonosítót az URL-címben elnevezett identifier
lekérdezési paraméterben adja át, amikor kérést küld egy munkamenethez.
A kódértelmezői munkamenetek esetében az LLM-keretrendszerrel való integrációt is használhatja. A keretrendszer kezeli a jogkivonatok létrehozását és kezelését. Győződjön meg arról, hogy az alkalmazás olyan felügyelt identitással van konfigurálva, amely rendelkezik a szükséges szerepkör-hozzárendelésekkel a munkamenetkészleten.
Munkamenet-azonosítók védelme
A munkamenet-azonosító bizalmas információ, amely biztonságos folyamatot igényel az érték létrehozása és kezelése során. Az érték védelme érdekében az alkalmazásnak biztosítania kell, hogy minden felhasználó vagy bérlő csak a saját munkameneteihez férhessen hozzá.
Az alkalmazás kialakításától és architektúrájától függően eltérőek azok a konkrét stratégiák, amelyek megakadályozzák a munkamenet-azonosítókkal való visszaélést. Az alkalmazásnak azonban mindig teljes körűen szabályoznia kell a munkamenet-azonosítók létrehozását és használatát, hogy egy rosszindulatú felhasználó ne férhessen hozzá egy másik felhasználó munkamenetéhez.
Példastratégiák:
- Felhasználónként egy munkamenet: Ha az alkalmazás felhasználónként egy munkamenetet használ, minden felhasználót biztonságosan hitelesíteni kell, és az alkalmazásnak minden bejelentkezett felhasználóhoz egyedi munkamenet-azonosítót kell használnia.
- Ügynök-beszélgetésenként egy munkamenet: Ha az alkalmazás AI-ügynök beszélgetésenként egy munkamenetet használ, győződjön meg arról, hogy az alkalmazás egyedi munkamenet-azonosítót használ minden olyan beszélgetéshez, amelyet a végfelhasználó nem módosíthat.
Fontos
A munkamenetekhez való hozzáférés biztonságossá tételének elmulasztása a felhasználói munkamenetekben tárolt adatokkal való visszaélést vagy jogosulatlan hozzáférést eredményezhet.
Hitelesítés
A hitelesítés a Microsoft Entra (korábbi nevén Azure Active Directory) jogkivonatokkal történik. Az érvényes Microsoft Entra-jogkivonatokat a munkamenetkészlet Azure ContainerApps-munkamenet-végrehajtói és közreműködői szerepköreihez tartozó identitás hozza létre.
A szerepkörök identitáshoz való hozzárendeléséhez használja a következő Azure CLI-parancsokat:
az role assignment create \
--role "Azure ContainerApps Session Executor" \
--assignee <PRINCIPAL_ID> \
--scope <SESSION_POOL_RESOURCE_ID>
az role assignment create \
--role "Contributor" \
--assignee <PRINCIPAL_ID> \
--scope <SESSION_POOL_RESOURCE_ID>
Ha LLM-keretrendszer-integrációt használ, a keretrendszer kezeli a jogkivonatok létrehozását és kezelését. Győződjön meg arról, hogy az alkalmazás olyan felügyelt identitással van konfigurálva, amely rendelkezik a munkamenetkészlet szükséges szerepkör-hozzárendeléseivel.
Ha közvetlenül a készlet felügyeleti API-végpontjait használja, létre kell hoznia egy jogkivonatot, és bele kell foglalnia a Authorization
HTTP-kérések fejlécében. A korábban említett szerepkör-hozzárendeléseken kívül a jogkivonatnak tartalmaznia kell egy célközönségi (aud
) jogcímet az értékkel https://dynamicsessions.io
.
A jogkivonat azure CLI-vel történő létrehozásához futtassa a következő parancsot:
az account get-access-token --resource https://dynamicsessions.io
Fontos
A készlet bármely munkamenetének létrehozásához és eléréséhez érvényes jogkivonat használható. Tartsa biztonságban a jogkivonatait, és ne ossza meg őket nem megbízható felekkel. A végfelhasználóknak nem közvetlenül, hanem az alkalmazáson keresztül kell hozzáférnie a munkamenetekhez.
Életciklus
A Container Apps-futtatókörnyezet automatikusan kezeli a munkamenetkészlet minden munkamenetének életciklusát.
Függőben: Amikor egy munkamenet elindul, az függőben van. A munkamenetek függő állapotban töltött időtartama a munkamenetkészlethez megadott tárolólemezképtől és beállításoktól függ. A függőben lévő munkamenetek nem lesznek hozzáadva a kész munkamenetek készletéhez.
Kész: Ha egy munkamenet készen áll az indításra, és készen áll, a rendszer hozzáadja a készlethez. A munkamenet ebben az állapotban érhető el a foglaláshoz. Egyéni tároló munkamenetek esetén megadhatja a készletben tartani kívánt kész munkamenetek célszámát. Növelje ezt a számot, ha a munkamenetek gyorsabban vannak lefoglalva, mint a készlet feltöltése.
Lefoglalt: Amikor nem futó munkamenetbe küld kérést, a készlet új munkamenetet biztosít, és lefoglalt állapotba helyezi. Az azonos munkamenet-azonosítóval rendelkező későbbi kérések ugyanahhoz a munkamenethez lesznek irányítva.
Törlés: Ha egy munkamenet leállítja a kérések fogadását a
cooldownPeriodInSeconds
beállítás által meghatározott idő alatt, a munkamenet és a Hyper-V tesztkörnyezete teljesen és biztonságosan törlődik.
Biztonság
Az Azure Container Apps dinamikus munkamenetei úgy vannak létrehozva, hogy biztonságos és izolált környezetben futtassa a nem megbízható kódot és alkalmazásokat. Bár a munkamenetek el vannak különítve egymástól, egy munkameneten belül minden, beleértve a fájlokat és a környezeti változókat is, a munkamenet felhasználói hozzáférhetnek. Bizalmas adatokat csak akkor konfigurálhat vagy tölthet fel egy munkamenetbe, ha megbízik a munkamenet felhasználóiban.
Előzetes verzióra vonatkozó korlátozások
Az Azure Container Apps dinamikus munkamenetei jelenleg előzetes verzióban érhetőek el. A következő korlátozások érvényesek:
Csak a következő régiókban érhető el:
Régió Kódértelmező Egyéni tároló Kelet-Ázsia ✔ ✔ USA keleti régiója ✔ ✔ Középnyugat-Németország ✔ ✔ Észak-Olaszország ✔ ✔ Közép-Lengyelország ✔ ✔ USA északi középső régiója ✔ - Észak-Európa ✔ ✔ USA 2. nyugati régiója ✔ ✔ A naplózás nem támogatott. Az alkalmazás naplózhatja a kéréseket a munkamenetkészlet felügyeleti API-jába és válaszaiba.