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.
VONATKOZIK MINDEN API-kezelési szintre
Ebben a cikkben megismerheti az Azure API Management használatával felügyelt Azure OpenAI API-végpontok hitelesítésének és engedélyezésének módjait. Ez a cikk a következő általános módszereket mutatja be:
Hitelesítés – Az Azure OpenAI API-hoz való hitelesítés olyan szabályzatokkal, amelyek vagy egy API-kulcsot, vagy egy felügyelt Microsoft Entra-azonosítót használnak.
Engedélyezés – A részletesebb hozzáférés-vezérlés érdekében előhitelesítse azokat a kéréseket, amelyek egy identitásszolgáltató, például a Microsoft Entra ID által létrehozott OAuth 2.0-jogkivonatokat adják át.
Háttérhez lásd:
Előfeltételek
Mielőtt követné az ebben a cikkben szereplő lépéseket, rendelkeznie kell a következőkkel:
- API Management-példány. Például a lépésekhez lásd: Azure API Management példány létrehozása.
- Az Azure OpenAI erőforrás és modell hozzáadva az API Management példányhoz. Például lépésekért lásd: Azure OpenAI API importálása mint REST API.
- Engedélyek alkalmazásregisztráció létrehozására egy identitásszolgáltatóban, például egy olyan Microsoft Entra bérlőben, amely az Azure-előfizetéséhez van társítva (az OAuth 2.0 hitelesítéshez).
Hitelesítés API kulccsal
Az Azure OpenAI API hitelesítésének alapértelmezett módja egy API-kulcs használata. Ennél a hitelesítési típusnál minden API kérésnek tartalmaznia kell egy érvényes API kulcsot a api-key HTTP fejlécben.
- Az API Management biztonságos módon képes kezelni az API-kulcsot egy megnevezett érték használatával.
- Az elnevezett értékre hivatkozni lehet egy API-szabályzatban, hogy beállítsa a
api-keyfejlécet az Azure OpenAI API-hoz küldött kérésekben. Két példát mutatunk be arra, hogyan lehet ezt megtenni: az egyik aset-backend-serviceirányelvet, a másik pedig aset-headerirányelvet használja.
Tárolja az API-kulcsot egy megnevezett értékben
- Szerezzen be egy API-kulcsot az Azure OpenAI erőforrásból. Az Azure portálon, keressen egy kulcsot az Azure OpenAI-erőforrás Kulcsok és végpont oldalán.
- Nyissa meg az API Management példányát, és válassza ki a bal oldali menüben a Nevesített értékek lehetőséget.
- Válassza a + Hozzáadás lehetőséget, és adja meg az értéket titokként, vagy választhatóan a nagyobb biztonság érdekében használjon kulcstár hivatkozást.
Adja meg az API kulcsot az API kérésekben - háttérszolgáltatás-beállítási szabályzat
Hozzon létre egy backendet, amely az Azure OpenAI API-ra mutat.
- Az API-kezelő példányának bal oldali menüjében válassza a Backends lehetőséget.
- Válassza a + Hozzáadás lehetőséget, és adjon meg egy leíró nevet a háttérrendszerhez. Példa: openai-backend.
- A Típus alatt válassza a Egyéni lehetőséget, és adja meg az Azure OpenAI végpont URL-jét. Példa:
https://contoso.openai.azure.com/openai. - A Engedélyezési hitelesítési adatok alatt válassza ki a Fejlécek lehetőséget, és írja be a api-key értéket fejlécként, a megnevezett értéket pedig értékként.
- Válassza a Create gombot.
Adja hozzá a következő
set-backend-serviceszabályrészletet ainboundszabály szekcióhoz, hogy az API kulcsot továbbítsa a kérések során az Azure OpenAI API-hoz.Ebben a példában a háttérrendszer erőforrása openai-backend.
<set-backend-service backend-id="openai-backend" />
API-kulcs átadása API-kérésekben - set-header szabályzat
Alternatívaként adja hozzá a következő set-header házirész-letét a inbound házirész szakaszba, hogy az API-kulcsot a kérésekhez az Azure OpenAI API-hoz továbbítsa. Ez a házirészlet a api-key fejlécre az ön által megadott elnevezett értéket állítja be.
Például az API Management rendszerében a megnevezett érték az openai-api-key.
<set-header name="api-key" exists-action="override">
<value>{{openai-api-key}}</value>
</set-header>
Hitelesítés felügyelt identitással
Az Azure OpenAI API hitelesítésének egyik alternatív és ajánlott módja a Microsoft Entra ID-ben kezelt identitás használata. A háttérinformációkért lásd: Hogyan konfigurálható az Azure OpenAI szolgáltatás kezelt identitással.
Az alábbiakban bemutatjuk azokat a lépéseket, amelyek szükségesek az API Management példány konfigurálásához, hogy egy felügyelt identitást használjon a kérések hitelesítéséhez egy Azure OpenAI API-n.
Engedélyezze a rendszer által kiosztott vagy a felhasználó által kiosztott kezelési identitást az API-kezelési példányához. A következő példa feltételezi, hogy engedélyezte az instance rendszer által hozzárendelt kezelt identitását.
Rendelje hozzá a felügyelt identitáshoz a Cognitive Services OpenAI User szerepkört, a megfelelő erőforrásra kiterjesztve. Például jelölje ki a rendszer által kiosztott kezelési identitásnak a Cognitive Services OpenAI Felhasználó szerepkört az Azure OpenAI erőforráson. A részletes lépésekért lásd: Role-based access control for Azure OpenAI service.
Kérjük, adja hozzá a következő szabályrészletet a
inboundszabályszakaszhoz az Azure OpenAI API-hoz intézett kérések hitelesítéséhez a felügyelt identitás használatával.Ebben a példában:
- A
authentication-managed-identityszabályzat hozzáférési tokent szerez a kezelt identitáshoz. - A
set-headerszabályzat beállítja a kérésAuthorizationfejlécét a hozzáférési tokennel.
<authentication-managed-identity resource="https://cognitiveservices.azure.com" output-token-variable-name="managed-id-access-token" ignore-error="false" /> <set-header name="Authorization" exists-action="override"> <value>@("Bearer " + (string)context.Variables["managed-id-access-token"])</value> </set-header>- A
Jótanács
Az ebben a authentication-managed-identity példában bemutatott szabályzatok és set-header szabályzatok használatának másik lehetősége egy olyan háttérerőforrás konfigurálása, amely az API-kéréseket az Azure OpenAI szolgáltatásvégpontra irányítja. A háttérkonfigurációban engedélyezze a felügyelt identitás hitelesítését az Azure OpenAI szolgáltatásban. Az Azure API Management automatizálja ezeket a lépéseket, amikor egy API-t közvetlenül az Azure OpenAI Szolgáltatásból importál. További információ: API importálása az Azure OpenAI Szolgáltatásból.
OAuth 2.0 hitelesítés identitásszolgáltató használatával
Ahhoz, hogy az adott felhasználók vagy kliensek számára finomabb hozzáférést biztosítsunk az OpenAPI API-khoz, előzetesen engedélyezhetjük az Azure OpenAI API-hoz való hozzáférést az OAuth 2.0 autentikációval a Microsoft Entra ID vagy más identitás szolgáltató segítségével. Háttérinformációkért lásd: API védelme az Azure API Management-ben OAuth 2.0 autorizációval a Microsoft Entra ID használatával.
Megjegyzés
Használja az OAuth 2.0 engedélyezést a mélységi védelem stratégiájának részeként. Ez nem helyettesíti az API-kulcsos hitelesítést vagy a felügyelt identitáshitelesítést egy Azure OpenAI API-ra.
Az alábbiakban bemutatjuk azokat a magas szintű lépéseket, amelyekkel korlátozhatjuk az API-hozzáférést az olyan felhasználók vagy alkalmazások számára, amelyek azonosításszolgáltató használatával vannak jogosítva.
Hozzon létre egy alkalmazást az identitás-szolgáltatójában, hogy képviselje az OpenAI API-t az Azure API-kezelésben. Ha Microsoft Entra ID-t használ, regisztráljon egy alkalmazást a Microsoft Entra ID bérlői fiókban. Rögzítse a részleteket, például az alkalmazás azonosítóját és a közönség URI-ját.
Szükség szerint konfigurálja az alkalmazást úgy, hogy legyenek szerepkörök vagy hatókörök, amelyek az Azure OpenAI API eléréséhez szükséges részletes jogosultságokat képviselik.
Adjon hozzá egy
inboundházirend-részletet az API Management példányában a kérések érvényesítéséhez, amelyek JSON web tokent (JWT) jelenítenek meg aAuthorizationfejlécben. Helyezze ezt a kódrészletet az egyébinboundirányelvek elé, amelyeket az Azure OpenAI API hitelesítésére állított be.Megjegyzés
A következő példák bemutatják az irányelvek általános szerkezetét a JWT érvényesítéséhez. Testreszabja ezeket az identitásszolgáltatójához, valamint az alkalmazása és API-ja követelményeihez.
validate-azure-ad-token - Ha a Microsoft Entra ID-t használja, konfigurálja a
validate-azure-ad-tokenházirendet az JWT-ben található közönség és jogosultságok érvényesítéséhez. A részletekért lásd a szabályzati hivatkozást.<validate-azure-ad-token tenant-id={{TENANT_ID}} header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid."> <client-application-ids> <application-id>{{CLIENT_APP_ID}}</application-id> </client-application-ids> <audiences> <audience>...</audience> </audiences> <required-claims> <claim name=...> <value>...</value> </claim> </required-claims> </validate-azure-ad-token>validate-jwt - Ha más identitásszolgáltatót használ, konfigurálja a
validate-jwtszabályzatot, hogy érvényesítse a JWT-ben megadott közönséget és követeléseket. A részletekért lásd a szabályzati hivatkozást.<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid."> <openid-config url={{OPENID_CONFIGURATION_URL}} /> <issuers> <issuer>{{ISSUER_URL}}</issuer> </issuers> <audiences> <audience>...</audience> </audiences> <required-claims> <claim name=...> <value>...</value> </claim> </required-claims> </validate-jwt>
Kapcsolódó tartalom
- Tudjon meg többet a Microsoft Entra ID és az OAuth2.0-ról.
- Hitelesítse az Azure AI szolgáltatások kéréseit