Titkos kódinjektálás online végpontokban (előzetes verzió)
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
Az online végpont kontextusában a titkos kódok injektálásának folyamata titkos kulcsok (például API-kulcsok) titkos tárolókból való lekérése, és az online üzembe helyezésen belül futó felhasználói tárolóba való injektálása. A titkos kulcsok végül biztonságosan, környezeti változókon keresztül érhetők el, amelyeket a pontozószkriptet futtató következtetési kiszolgáló vagy a BYOC (saját tároló) üzembe helyezési megközelítésével hozott következtetési verem használ.
Fontos
Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszintű szerződés nélkül érhető el, és éles számítási feladatokhoz nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik.
További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Probléma leírása
Amikor online üzembe helyezést hoz létre, érdemes lehet az üzembe helyezés titkos kulcsaival hozzáférni a külső szolgáltatásokhoz. Ezen külső szolgáltatások némelyike a Microsoft Azure OpenAI szolgáltatás, az Azure AI Services és az Azure AI Content Safety.
A titkos kulcsok használatához meg kell találnia a módját, hogy biztonságosan átadhassa őket az üzembe helyezésen belül futó felhasználói tárolónak. Nem javasoljuk, hogy az üzembehelyezési definíció részeként titkos kulcsokat is tartalmazzon, mivel ez a gyakorlat a titkos kulcsokat az üzembehelyezési definícióban fedné fel.
Jobb módszer a titkos kulcsok titkos tárolókban való tárolása, majd biztonságos lekérése az üzembe helyezés során. Ez a megközelítés azonban saját kihívást jelent: hogyan kell az üzembe helyezésnek hitelesítenie magát a titkos kulcstárakban a titkos kódok lekérése érdekében. Mivel az online üzembe helyezés a végponti identitással futtatja a felhasználói tárolót, amely egy felügyelt identitás, az Azure RBAC használatával szabályozhatja a végponti identitás engedélyeit, és engedélyezheti a végpont számára a titkos kulcsok titkos kulcsainak lekérését a titkos tárolókból. Ennek a módszernek a használatához a következő feladatokat kell elvégeznie:
- Rendelje hozzá a megfelelő szerepköröket a végponti identitáshoz, hogy titkos kulcsokat tudjon olvasni a titkos kulcstárakból.
- Implementálja az üzembe helyezés pontozási logikáját, hogy a végpont felügyelt identitásával kérje le a titkos kulcsokat a titkos tárakból.
Bár a felügyelt identitások használatának ez a megközelítése biztonságos módszer a titkos kulcsok lekérésére és beszúrására, a titkos kulcsinjektálás funkcióval történő titkos injektálás tovább leegyszerűsíti a munkaterület-kapcsolatok és kulcstartók titkos kulcsainak lekérését.
A végponthoz társított felügyelt identitás
Egy online üzembe helyezés futtatja a felhasználói tárolót a végponthoz társított felügyelt identitással. Ez a felügyelt identitás, az úgynevezett végponti identitás egy Microsoft Entra-azonosító, amely támogatja az Azure RBAC-t. Ezért azure-szerepköröket rendelhet az identitáshoz a műveletek végrehajtásához szükséges engedélyek szabályozásához. A végponti identitás lehet rendszer által hozzárendelt identitás (SAI) vagy felhasználó által hozzárendelt identitás (UAI). A végpont létrehozásakor eldöntheti, hogy az ilyen típusú identitások közül melyiket használja.
- Rendszer által hozzárendelt identitás esetén az identitás automatikusan létrejön a végpont létrehozásakor, és a rendszer automatikusan hozzárendeli az alapvető engedélyekkel rendelkező szerepköröket (például az Azure Container Registry lekérési engedélyét és a tárolóblobadat-olvasót).
- Felhasználó által hozzárendelt identitás esetén először létre kell hoznia az identitást, majd a végpont létrehozásakor hozzá kell rendelnie azt a végponthoz. Ön felelős a megfelelő szerepkörök hozzárendeléséért is az UAI-hoz szükség szerint.
A végpontok felügyelt identitásainak használatával kapcsolatos további információkért tekintse meg a felügyelt identitásokkal rendelkező végpontok erőforrásainak elérését, valamint a felügyelt identitások külső szolgáltatásokkal való interakcióra vonatkozó példáját.
Szerepkör-hozzárendelés a végponti identitáshoz
A titkos kulcstárak a következő szerepköröket igénylik:
- A munkaterület-kapcsolatokban a munkaterületen tárolt titkos kulcsok esetében:
Workspace Connections
a Titkos kulcsok listája API (előzetes verzió) használatához az API-t meghívó identitásnak (vagy azzal egyenértékűnek) kell rendelkeznieAzure Machine Learning Workspace Connection Secrets Reader
az identitáshoz rendelve. - Külső Microsoft Azure Key Vaultban tárolt titkos kulcsok esetén: A Key Vault egy Titkos verziók lekérése API-t biztosít, amely megköveteli, hogy az API-t
Key Vault Secrets User
meghívó identitáshoz (vagy azzal egyenértékű) szerepkör legyen hozzárendelve.
Titkos kódinjektálás megvalósítása
Miután lekérte a titkos kulcsokat (például API-kulcsokat) a titkos tárolókból, kétféleképpen szúrhatja be őket az online üzembe helyezésen belül futó felhasználói tárolóba:
- Titkos kulcsok beszúrása saját maga, felügyelt identitások használatával.
- Titkos kódok injektálása a titkos injektálási funkcióval.
Mindkét megközelítés két lépésből áll:
- Először kérje le a titkos kulcsokat a titkos tárolókból a végponti identitás használatával.
- Második lépésként adja be a titkos kulcsokat a felhasználói tárolóba.
Titkos injektálás felügyelt identitások használatával
Az üzembehelyezési definícióban a végponti identitás használatával kell meghívnia az API-kat a titkos tárolókból. Ezt a logikát a pontozási szkriptben vagy a BYOC-tárolóban futtatott rendszerhéjszkriptekben implementálhatja. Ha felügyelt identitások használatával szeretne titkos injektálást megvalósítani, tekintse meg a felügyelt identitások külső szolgáltatásokkal való interakcióra vonatkozó példáját.
Titkos injektálás a titkos injektálási funkcióval
A titkos kódinjektálási funkció használatához az üzembehelyezési definícióban képezheti le a titkos kulcsokat (amelyekre hivatkozni szeretne) a munkaterület-kapcsolatokból vagy a Key Vaultból a környezeti változókra. Ez a megközelítés nem követeli meg, hogy bármilyen kódot írjon a pontozási szkriptbe vagy a BYOC-tárolóban futtatott shell-szkriptekbe. A munkaterület-kapcsolatok vagy a Key Vault titkos kulcsainak környezeti változókra való leképezéséhez a következő feltételeknek kell teljesülniük:
- A végpont létrehozása során, ha az alapértelmezett titkos kulcstárolókhoz (az aktuális munkaterületen lévő munkaterületi kapcsolatokhoz) való hozzáférés kikényszerítéséhez online végpontot definiáltak, a végpont alatt az üzembe helyezést létrehozó felhasználói identitásnak rendelkeznie kell a munkaterület-kapcsolatok titkos kulcsainak olvasásához szükséges engedélyekkel.
- Az üzembe helyezés által használt végpontidentitásnak rendelkeznie kell engedélyekkel a munkaterületi kapcsolatokból vagy a Key Vaultból származó titkos kódok beolvasásához az üzembehelyezési definícióban hivatkozott módon.
Feljegyzés
- Ha a végpont sikeresen létrejött egy SAI-val, és az alapértelmezett titkos tárolókhoz való hozzáférés kényszerítésére szolgáló jelzőkészlettel, akkor a végpont automatikusan rendelkezik a munkaterület-kapcsolatokra vonatkozó engedéllyel.
- Ha a végpont UAI-t használt, vagy az alapértelmezett titkos tárakhoz való hozzáférés kényszerítésére szolgáló jelző nincs beállítva, akkor előfordulhat, hogy a végponti identitás nem rendelkezik a munkaterület-kapcsolatokra vonatkozó engedéllyel. Ilyen esetben manuálisan kell hozzárendelnie a munkaterület-kapcsolatok szerepkörét a végponti identitáshoz.
- A végponti identitás nem kap automatikusan engedélyt a külső Key Vaulthoz. Ha a Key Vaultot titkos tárolóként használja, manuálisan kell hozzárendelnie a Key Vault szerepkörét a végponti identitáshoz.
A titkos kódinjektálással kapcsolatos további információkért lásd : Gépi tanulási modellek üzembe helyezése online végpontokon titkos injektálással (előzetes verzió).