Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: Tüm API Management katmanları
Bu makalede, Azure API Management kullanılarak yönetilen Azure OpenAI API uç noktalarının kimliğini doğrulamanın ve yetkilendirmenin yollarını öğreneceksiniz. Bu makalede aşağıdaki yaygın yöntemler gösterilmektedir:
Kimlik doğrulaması - API anahtarı veya Microsoft Entra ID yönetilen kimliği kullanarak kimlik doğrulaması sağlayan ilkeleri kullanarak Azure OpenAI API'sinde kimlik doğrulaması yapın.
Yetkilendirme - Daha ayrıntılı erişim denetimi için, Microsoft Entra ID gibi bir kimlik sağlayıcısı tarafından oluşturulan OAuth 2.0 belirteçlerini geçiren istekleri önceden yetkilendileyin.
Arka plan için bkz:
API Management'ta API'ler için kimlik doğrulaması ve yetkilendirme.
Önkoşullar
Bu makaledeki adımları takip etmeden önce şunlara sahip olmanız gerekir:
- Api Management örneği. Örneğin adımlar için bkz Azure API Management birimi oluşturma.
- API Yönetimi örneğinize eklenen bir Azure OpenAI kaynağı ve modeli. Örneğin adımlar için bkz . Azure OpenAI API'sini REST API olarak içeri aktarma.
- Azure aboneliğinizle ilişkili bir Microsoft Entra kiracısı gibi bir kimlik sağlayıcısında uygulama kaydı oluşturma izinleri (OAuth 2.0 yetkilendirmesi için).
API anahtarıyla kimlik doğrulaması
Azure OpenAI API'sinde kimlik doğrulamanın varsayılan yolu, API anahtarı kullanmaktır. Bu kimlik doğrulaması türü için, tüm API istekleri HTTP üst bilgisinde api-key
geçerli bir API anahtarı içermelidir.
- API Management, adlandırılmış bir değer kullanarak API anahtarını güvenli bir şekilde yönetebilir.
- Adlandırılmış değer daha sonra bir API ilkesinde referans alınarak Azure OpenAI API'sine yapılan isteklerde üst bilgi ayarlanabilir. Bunun nasıl yapılacağını gösteren iki örnek sunuyoruz: biri ilkeyi
set-backend-service
, diğeri ilkeyiset-header
kullanır.
API anahtarını adlandırılmış bir değerde depolama
- Azure OpenAI kaynağından bir API anahtarı alın. Azure portalında, Azure OpenAI kaynağının Anahtarlar ve Uç Nokta sayfasında bir anahtar bulun.
- API Management örneğinize gidin ve soldaki menüden Adlandırılmış değerler'i seçin.
- + Ekle'yi seçin ve değeri gizli değer olarak ekleyin veya isteğe bağlı olarak daha fazla güvenlik için bir anahtar kasası referansı kullanın.
API isteklerinde API anahtarını geçirme - set-backend-service ilkesi
Azure OpenAI API'sine işaret eden bir arka uç oluşturun.
- API Management örneğinizin sol menüsünde Arka uçlar'ı seçin.
- + Ekle'yi seçin ve back-end için açıklayıcı bir ad girin. Örnek: openai-backend.
-
Tür altında Özel'i seçin ve Azure OpenAI uç noktasının URL'sini girin. Örnek:
https://contoso.openai.azure.com/openai
. - Yetkilendirme kimlik bilgileri altında, Üst Bilgiler'i seçin ve üst bilgi adı olarak api-key'i, değer olarak da belirtilen değeri girin.
- Oluştur'u belirleyin.
Azure OpenAI API'sine gelen isteklere API anahtarını geçirmek için ilke kısmına aşağıdaki
set-backend-service
ilke parçacığını ekleyin.Bu örnekte arka uç kaynağı openai-backend şeklindedir.
<set-backend-service backend-id="openai-backend" />
API isteklerinde API anahtarını geçirme - set-header ilkesi
Alternatif olarak, api anahtarını Azure OpenAI API'ye yapılan isteklere eklemek için set-header
ilke bölümüne aşağıdaki inbound
ilke parçacığını ekleyin. Bu ilke parçacığı, ayarladığınız adlandırılmış değerle api-key
üst bilginin ayarlanmasını sağlar.
Bu örnekte, API Management'taki adlandırılmış değer openai-api-key'dir.
<set-header name="api-key" exists-action="override">
<value>{{openai-api-key}}</value>
</set-header>
Kimlik doğrulamayı yönetilen kimlikle yapın
Azure OpenAI API'sinde kimlik doğrulamanın alternatif ve önerilen bir yolu, Microsoft Entra Id'de yönetilen kimlik kullanmaktır. Arka plan bilgisi için bkz Azure OpenAI Hizmetini yönetilen kimlikle yapılandırma.
Azure OpenAI API'sine yönelik isteklerin kimliğini doğrulamak için API Management örneğinizi yönetilen kimlik kullanacak şekilde yapılandırma adımları aşağıda verilmiştir.
API Management örneğiniz için sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirin . Aşağıdaki örnekte, örneğin sistem tarafından atanan yönetilen kimliğini etkinleştirdiğiniz varsayılır.
Cognitive Services OpenAI Kullanıcı rolünü, uygun kaynakla sınırlı olacak şekilde yönetilen kimliğe atayın. Örneğin, sistem tarafından atanan yönetilen kimliği Azure OpenAI kaynağında Bilişsel Hizmetler OpenAI Kullanıcı rolüne atayın. Ayrıntılı adımlar için bkz . Azure OpenAI hizmeti için rol tabanlı erişim denetimi.
Yönetilen kimliği kullanarak Azure OpenAI API'sine yönelik istekleri doğrulamak için
inbound
ilke bölümüne aşağıdaki ilke parçacığını ekleyin.Bu örnekte:
- Politika,
authentication-managed-identity
yönetilen kimlik için bir erişim belirteci alır. - İlke, erişim jetonu ile isteğin
set-header
üst başlığını ayarlarAuthorization
.
<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>
- Politika,
Tavsiye
Bu örnekte gösterilen ve authentication-managed-identity
ilkelerini kullanmanın set-header
bir alternatifi, API isteklerini Azure OpenAI Hizmeti uç noktasına yönlendiren bir arka uç kaynağı yapılandırmaktır. Arka uç yapılandırmasında Azure OpenAI Hizmeti'nde yönetilen kimlik kimlik doğrulamasını etkinleştirin. Azure API Management, bir API'yi doğrudan Azure OpenAI Hizmetinden içeri aktarırken bu adımları otomatikleştirir. Daha fazla bilgi için bkz. Azure OpenAI Hizmetinden API'yi içeri aktarma.
Kimlik sağlayıcısını kullanarak OAuth 2.0 yetkilendirmesi
Belirli kullanıcılar veya istemciler tarafından OpenAPI API'lerine daha ayrıntılı erişim sağlamak için Microsoft Entra Id veya başka bir kimlik sağlayıcısıyla OAuth 2.0 yetkilendirmesini kullanarak Azure OpenAI API'sine erişimi önceden doğrulayabilirsiniz. Arka plan için bkz . Microsoft Entra Id ile OAuth 2.0 yetkilendirmesini kullanarak Azure API Management'ta API'yi koruma.
Not
Derinlemesine savunma stratejisinin bir parçası olarak OAuth 2.0 yetkilendirmesini kullanın. Azure OpenAI API'sine API anahtarı doğrulaması veya yönetilen kimlik doğrulamasının yerini almaz.
Aşağıda, kimlik sağlayıcısı kullanılarak yetkilendirilmiş kullanıcılara veya uygulamalara API erişimini kısıtlamaya yönelik üst düzey adımlar verilmiştir.
Azure API Management'ta OpenAI API'sini temsil etmek için kimlik sağlayıcınızda bir uygulama oluşturun. Microsoft Entra Id kullanıyorsanız, Microsoft Entra ID kiracınıza bir uygulama kaydedin . Uygulama kimliği ve hedef kitle URI'si gibi ayrıntıları kaydedin.
Gerektiğinde, uygulamayı Azure OpenAI API'sine erişmek için gereken ayrıntılı izinleri temsil eden rollere veya kapsamlara sahip olacak şekilde yapılandırın.
API Management örneğinize, başlıkta JSON web belirteci (JWT) sunan istekleri doğrulamak için bir
inbound
ilke parçacığıAuthorization
ekleyin. Bu kod parçacığını yerleştirin.Not
Aşağıdaki örneklerde bir JWT'yi doğrulamak için ilkelerin genel yapısı gösterilmektedir. Bunları kimlik sağlayıcınıza ve uygulamanızın ve API'nizin gereksinimlerine göre özelleştirin.
validate-azure-ad-token - Microsoft Entra Id kullanıyorsanız JWT'deki hedef kitleyi ve talepleri doğrulamak için ilkeyi yapılandırın
validate-azure-ad-token
. Ayrıntılar için politika referansına bakın.<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 - Başka bir kimlik sağlayıcısı kullanıyorsanız, JWT'deki hedef kitleyi ve talepleri doğrulamak için ilkeyi yapılandırın
validate-jwt
. Ayrıntılar için politika referansına bakın.<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>
İlgili içerik
- Microsoft Entra Id ve OAuth2.0 hakkında daha fazla bilgi edinin.
- Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama
- API Management ile Azure OpenAI anahtarlarını koruma