Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Container Apps dinamikus munkamenetei elszigetelt, biztonságos környezeteket kínálnak, ha kódokat vagy alkalmazásokat kell futtatnia a többi számítási feladattól elkülönítve. A munkamenetek egy munkamenetkészleten belül futnak, amely azonnali hozzáférést biztosít az új és a meglévő munkamenetekhez. Ezek a munkamenetek olyan helyzetekben ideálisak, amikor a felhasználó által generált bemenetet szabályozott módon kell feldolgozni, vagy olyan külső szolgáltatások integrálása esetén, amelyek kód futtatását igénylik egy elkülönített környezetben.
Ez a cikk bemutatja, hogyan kezelheti és léphet kapcsolatba a dinamikus munkamenetekkel.
Munkamenet-hozzáférés
Az alkalmazás a session pool felügyeleti API-ján keresztül kommunikál a munkamenettel.
A készletkezelési végpont a következő formátumot követi:
https://<SESSION_POOL_NAME>.<ENVIRONMENT_ID>.<REGION>.azurecontainerapps.io
A munkamenetkészletek kezelésével kapcsolatos további információkért lásd: munkamenetkészletek felügyeleti végpontja
Kérelmek továbbítása egy munkamenet tárolójára
Ha kérést szeretne küldeni egy munkamenet tárolójába, a felügyeleti végpontot használja a kérés gyökérként. A rendszer az alapkészlet-felügyeleti végpontot követő elérési út minden részét továbbítja a munkamenet tárolójának.
Ha például a következőre indít hívást: <POOL_MANAGEMENT_ENDPOINT>/api/uploadfile
a rendszer a kérést a munkamenet tárolójára irányítja a következő helyen 0.0.0.0:<TARGET_PORT>/api/uploadfile
: .
Folyamatos interakció
Mivel továbbra is ugyanahhoz a munkamenethez indít hívásokat, a munkamenet továbbra is a készletben lesz lefoglalva . Ha a lehűlési időszak leteltét követően nem érkezett kérés a munkamenethez, a rendszer automatikusan megsemmisíti a munkamenetet.
Mintakérés
Az alábbi példa bemutatja, hogyan küldhet kérést egy munkamenetbe egy felhasználó azonosítójával egyedi munkamenet-azonosítóként.
A kérés elküldése előtt cserélje le a zárójelek közötti helyőrzőket a <>
kérelemre jellemző értékekre.
POST <POOL_MANAGEMENT_ENDPOINT>/<API_PATH_EXPOSED_BY_CONTAINER>?identifier=<USER_ID>
Authorization: Bearer <TOKEN>
{
"command": "echo 'Hello, world!'"
}
Ezt a kérést a rendszer a munkamenet tárolójára továbbítja a felhasználó azonosítójának azonosítójával együtt.
Ha a munkamenet még nem fut, az Azure Container Apps automatikusan lefoglal egy munkamenetet a készletből a kérés továbbítása előtt.
Ebben a példában a munkamenet tárolója a következő időpontban fogadja a kérést http://0.0.0.0:<INGRESS_PORT>/<API_PATH_EXPOSED_BY_CONTAINER>
: .
Azonosítók
HA HTTP-kérést szeretne küldeni egy munkamenetbe, meg kell adnia egy munkamenet-azonosítót a kérelemben. A munkamenet-azonosítót egy, az URL-címben elnevezett identifier
lekérdezési sztring paraméterben adja át, amikor kérést küld egy munkamenethez.
Ha már létezik egy azonosítóval rendelkező munkamenet, a rendszer elküldi a kérést a meglévő munkamenetnek.
Ha az azonosítóval rendelkező munkamenet nem létezik, a rendszer automatikusan lefoglal egy új munkamenetet, mielőtt elküldené a kérést.
Azonosító formátuma
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.
A munkamenet-azonosító egy olyan sztring, amelyet a munkamenetkészleten belül egyediként határoz meg. Webalkalmazás létrehozásakor a felhasználó azonosítóját használhatja munkamenet-azonosítóként. 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 .>
Biztonság
A dinamikus munkameneteket úgy alakítják ki, hogy megbízhatatlan kódot és alkalmazásokat futtassanak biztonságos és izolált környezetben. 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.
Csak akkor konfigurálhat vagy tölthet fel bizalmas adatokat egy munkamenetbe, ha megbízik a munkamenet felhasználóiban.
Alapértelmezés szerint a munkamenetek nem hajtanak végre kimenő hálózati kéréseket. A hálózati hozzáférést a munkamenetkészlet hálózati állapotbeállításainak konfigurálásával szabályozhatja.
Használjon erős, egyedi munkamenet-azonosítókat: Mindig olyan munkamenet-azonosítókat hozzon létre, amelyek hosszúak és összetettek a találgatásos támadások megelőzése érdekében. Titkosítási algoritmusokkal nehezen kitalálható azonosítókat hozhat létre.
A munkamenet láthatóságának korlátozása: Szigorú hozzáférés-vezérlők beállítása annak biztosításához, hogy a munkamenet-azonosítók csak a munkamenetkészlet számára legyenek láthatók. Kerülje a munkamenet-azonosítók URL-címekben vagy naplókban való felfedését.
Rövid lejárati idő implementálása: Konfigurálja a munkamenet-azonosítókat úgy, hogy rövid inaktivitás után lejárjanak. Ez a módszer minimalizálja a munkamenetek eltérítésének kockázatát, miután egy felhasználó befejezte az alkalmazással való interakciót.
Munkamenet hitelesítő adatainak rendszeres elforgatása: Rendszeresen tekintse át és frissítse a munkamenetekhez társított hitelesítő adatokat. A rotáció csökkenti a jogosulatlan hozzáférés kockázatát.
Biztonságos átviteli protokollok használata: Mindig HTTPS használatával titkosíthatja az átvitel alatt álló adatokat, beleértve a munkamenet-azonosítókat is. Ez a megközelítés védelmet nyújt a közbeékelődéses támadások ellen.
Munkamenet-tevékenység monitorozása: Naplózás és figyelés implementálása a munkamenet-tevékenységek nyomon követéséhez. Ezekkel a naplókkal azonosíthatja a szokatlan mintákat vagy a lehetséges biztonsági incidenseket.
Felhasználói bemenet ellenőrzése: Az összes felhasználói bemenetet veszélyesnek kell tekinteni. Bemeneti ellenőrzési és higiéniai technikákkal védekezhet az injektálási támadások ellen, és biztosíthatja, hogy csak megbízható adatok legyenek feldolgozva.
A munkamenetek teljes védelme érdekében a következőt teheti:
- A Microsoft Entra-azonosító hitelesítésének és engedélyezésének használata
- Munkamenet-azonosítók védelme
Hitelesítés és engedélyezés
Amikor kérelmeket küld egy munkamenet során a készletkezelési API használatával, a hitelesítést a Microsoft Entra-tokenekkel végzik. A készletkezelési API meghívására csak az Azure ContainerApps munkamenet-végrehajtói szerepköréhez tartozó identitásból származó Microsoft Entra-jogkivonatok jogosultak.
A szerepkör identitáshoz való hozzárendeléséhez használja a következő Azure CLI-parancsot:
az role assignment create \
--role "Azure ContainerApps Session Executor" \
--assignee <PRINCIPAL_ID> \
--scope <SESSION_POOL_RESOURCE_ID>
Ha egy nagy nyelvi modell (LLM) keretrendszer-integrációt használ, a keretrendszer kezeli a tokenek generálását és kezelését ön helyett. 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
Érvényes tokent használnak a készlet bármely munkamenetének létrehozásához és eléréséhez. Tartsa biztonságban a jogkivonatait, és ne ossza meg őket nem megbízható felekkel. A végfelhasználóknak soha nem szabad közvetlen hozzáféréssel rendelkezniük a jogkivonatokhoz. Csak az alkalmazás számára tegye elérhetővé a tokeneket, és soha ne a végfelhasználók számára.
Munkamenet-azonosítók védelme
A munkamenet-azonosító bizalmas információ, amelyet biztonságosan kell kezelnie. 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.
Felügyelt identitás használata
A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi a tároló munkamenetkészleteinek és munkameneteinek elérését más, Microsoft Entra által védett erőforrásokhoz. A munkamenet-készletben a rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások is támogatottak.
A Microsoft Entra ID-ban található felügyelt identitásokról további információt az Azure-erőforrások felügyelt identitásai című témakörben talál.
A felügyelt identitások kétféleképpen használhatók egyéni tároló munkamenetkészletekkel:
Rendszerkép lekéréses hitelesítése: A felügyelt identitással hitelesítheti magát a tárolóregisztrációs adatbázissal a tárolólemezkép lekéréséhez.
Erőforrás-hozzáférés: A munkamenet-készlet felügyelt identitásával hozzáférhet más Microsoft Entra által védett erőforrásokhoz. A biztonsági következmények miatt ez a képesség alapértelmezés szerint le van tiltva.
Fontos
Ha engedélyezi a felügyelt identitáshoz való hozzáférést egy munkamenetben, a munkamenetben futó bármely kód vagy program létrehozhat Microsoft Entra-jogkivonatokat a készlet felügyelt identitásához. Mivel a munkamenetek általában nem megbízható kódot futtatnak, ezt a funkciót rendkívül óvatosan használja.
Ha engedélyezni szeretné a felügyelt identitást egy egyéni tároló munkamenetkészletéhez, használja az Azure Resource Managert.
Fakitermelés
A munkamenetben futó tárolók konzolnaplói az Azure Container Apps-környezethez társított Azure Log Analytics-munkaterületen érhetők el egy nevű AppEnvSessionConsoleLogs_CL
táblában.
Kapcsolódó tartalom
Munkamenettípusok: Tudnivalók a dinamikus munkamenetek különböző típusairól:
Oktatóanyagok: Közvetlenül a REST API-val vagy LLM-ügynökkel végzett munka:
- LLM-ügynök használata:
- A REST API használata