Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Všechny úrovně služby API Management
V tomto článku se dozvíte o způsobech ověřování a autorizace koncových bodů rozhraní API Azure OpenAI spravovaných pomocí služby Azure API Management. Tento článek ukazuje následující běžné metody:
Ověřování – Ověřit se v rozhraní Azure OpenAI API pomocí zásad, které používají klíč rozhraní API nebo spravovanou identitu Microsoft Entra ID.
Autorizace – Pro jemnější řízení přístupu předautorizujte požadavky, které předávají tokeny OAuth 2.0 vygenerované poskytovatelem identity, jako je například Microsoft Entra ID.
Pozadí najdete tady:
Referenční informace k rozhraní Azure OpenAI Service REST API
Ověřování a autorizace pro rozhraní API ve službě API Management
Požadavky
Než budete postupovat podle kroků v tomto článku, musíte mít:
- Instance služby API Management. Příklad kroků najdete v tématu Vytvoření instance služby Azure API Management.
- Prostředek a model Azure OpenAI přidaný do vaší instance služby API Management. Příklad kroků najdete v tématu Import rozhraní API Azure OpenAI jako rozhraní REST API.
- Oprávnění k vytvoření registrace aplikace v zprostředkovateli identity, jako je tenant Microsoft Entra přidružený k vašemu předplatnému Azure (pro autorizaci OAuth 2.0).
Ověření pomocí klíče rozhraní API
Výchozí způsob ověřování v rozhraní API Azure OpenAI je použití klíče rozhraní API. Pro tento typ ověřování musí všechny požadavky rozhraní API obsahovat platný klíč rozhraní API v api-key hlavičce HTTP.
- Služba API Management může klíč rozhraní API bezpečně spravovat pomocí pojmenované hodnoty.
- Na pojmenovanou hodnotu pak můžete odkazovat v zásadách rozhraní API, aby se hlavička
api-keyv požadavcích na rozhraní API Azure OpenAI nastavila. Nabízíme dva příklady, jak to udělat: jeden používá zásaduset-backend-servicea druhá používá zásaduset-header.
Uložení klíče rozhraní API do pojmenované hodnoty
- Získejte klíč rozhraní API z prostředku Azure OpenAI. V portálu Azure najděte klíč na stránce Klíče a koncový bod prostředku Azure OpenAI.
- Přejděte do instance služby API Management a v nabídce vlevo vyberte Pojmenované hodnoty .
- Vyberte + Přidat a přidejte hodnotu jako tajný klíč nebo volitelně pro větší zabezpečení použijte odkaz na trezor klíčů.
Předání klíče rozhraní API v požadavcích na API – politika nastavení backendové služby
Vytvořte back-end , který odkazuje na rozhraní API Azure OpenAI.
- V levé nabídce instance služby API Management vyberte back-endy.
- Vyberte + Přidat a zadejte popisný název back-endu. Příklad: openai-back-end.
- V části Typ vyberte Vlastní a zadejte adresu URL koncového bodu Azure OpenAI. Příklad:
https://contoso.openai.azure.com/openai. - V části Autorizační přihlašovací údaje vyberte Hlavičky a jako název hlavičky zadejte klíč api-key a pojmenovanou hodnotu jako hodnotu.
- Vyberte Vytvořit.
Přidejte následující úryvek zásad
set-backend-servicedo části zásadinboundpro předání klíče rozhraní API v požadavcích do rozhraní API Azure OpenAI.V tomto příkladu je backendový prostředek openai-backend.
<set-backend-service backend-id="openai-backend" />
Předání klíče API v API požadavcích – zásady nastavení hlavičky
Případně přidejte následující set-header fragment zásad do části inbound zásad pro předání klíče rozhraní API v požadavcích do Azure OpenAI API. Tento fragment kódu zásady nastaví hlavičku api-key s pojmenovanou hodnotou, kterou jste nastavili.
V tomto příkladu je pojmenovaná hodnota ve službě API Management openai-api-key.
<set-header name="api-key" exists-action="override">
<value>{{openai-api-key}}</value>
</set-header>
Ověřování pomocí spravované identity
Alternativou a doporučeným způsobem ověřování v rozhraní API Azure OpenAI je použití spravované identity v Microsoft Entra ID. Pozadí najdete v tématu Konfigurace služby Azure OpenAI s využitím spravované identity.
V následujících krocích nakonfigurujete instanci služby API Management tak, aby používala spravovanou identitu k ověřování požadavků na rozhraní API Azure OpenAI.
Povolte spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem pro vaši instanci služby API Management. Následující příklad předpokládá, že jste povolili spravovanou identitu přiřazenou systémem instance.
Přiřaďte spravované identitě roli uživatele Cognitive Services OpenAI, v oboru odpovídajícího prostředku. Například přiřaďte identitu spravovanou systémem do role uživatele služby Cognitive Services OpenAI na prostředku Azure OpenAI. Podrobné kroky najdete v tématu Řízení přístupu na základě role pro službu Azure OpenAI.
Do části politiky přidejte následující úryvek zásady
inboundpro ověřování požadavků na rozhraní Azure OpenAI API pomocí spravované identity.V tomto příkladu:
- Zásada
authentication-managed-identityzíská přístupový token pro spravovanou identitu. - Zásady
set-headernastavují hlavičku požadavkuAuthorizationza použití přístupového tokenu.
<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>- Zásada
Návod
Alternativou k použití authentication-managed-identity zásad set-header uvedených v tomto příkladu je konfigurace back-endového prostředku, který směruje požadavky rozhraní API na koncový bod služby Azure OpenAI. V konfiguraci back-endu povolte ověřování spravovaných identit ve službě Azure OpenAI. Azure API Management automatizuje tyto kroky při importu rozhraní API přímo ze služby Azure OpenAI. Další informace najdete v tématu Import rozhraní API ze služby Azure OpenAI.
Autorizace OAuth 2.0 pomocí zprostředkovatele identity
Pokud chcete konkrétním uživatelům nebo klientům povolit jemněji odstupňovaný přístup k rozhraním OpenAPI API, můžete předem autorizovat přístup k rozhraní API Azure OpenAI pomocí autorizace OAuth 2.0 pomocí Microsoft Entra ID nebo jiného zprostředkovatele identity. Základní informace najdete v tématu Ochrana rozhraní API ve službě Azure API Management pomocí autorizace OAuth 2.0 s ID Microsoft Entra.
Poznámka:
Autorizace OAuth 2.0 se používá jako součást hloubkové strategie ochrany. Nejedná se o náhradu za ověřování klíče rozhraní API ani ověřování spravované identity v rozhraní API Azure OpenAI.
Následuje obecný postup omezení přístupu rozhraní API k uživatelům nebo aplikacím, které jsou autorizované pomocí zprostředkovatele identity.
Ve zprostředkovateli identity vytvořte aplikaci, která bude reprezentovat rozhraní API OpenAI ve službě Azure API Management. Pokud používáte ID Microsoft Entra, zaregistrujte aplikaci v tenantovi Microsoft Entra ID. Záznam podrobností, jako je ID aplikace a identifikátor URI cílové skupiny.
Podle potřeby nakonfigurujte aplikaci tak, aby měla role nebo obory, které představují jemně odstupňovaná oprávnění potřebná pro přístup k rozhraní Azure OpenAI API.
inboundPřidejte do instance služby API Management fragment zásad k ověření požadavků, které v hlavičce obsahují webový token JSON (JWT)Authorization. Umístěte tento fragment kódu před dalšíinboundzásady, které jste nastavili pro ověření v rozhraní Azure OpenAI API.Poznámka:
Následující příklady ukazují obecnou strukturu zásad pro ověření JWT. Přizpůsobte je poskytovateli identity a požadavkům vaší aplikace a rozhraní API.
validate-azure-ad-token – Pokud používáte Microsoft Entra Identity, nakonfigurujte politiku
validate-azure-ad-tokenpro ověření audientů a deklarací v rámci JWT. Podrobnosti najdete v referenčních informacích k zásadám.<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 – Pokud používáte jiného zprostředkovatele identity, nakonfigurujte
validate-jwtzásadu pro ověření cílové skupiny a deklarací identity v JWT. Podrobnosti najdete v referenčních informacích k zásadám.<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>
Související obsah
- Přečtěte si další informace o Microsoft Entra ID a OAuth2.0.
- Ověřování požadavků na služby Azure AI