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, Microsoft Entra ID ile OAuth 2.0 protokolunu kullanarak Azure API Management örneğinizi bir API'yi korumak üzere yapılandırmaya yönelik üst düzey adımları öğreneceksiniz.
API yetkilendirmesine kavramsal bir genel bakış 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
- API Yönetimi örneği kullanılarak yayımlanan bir API
- Bir Microsoft Entra kiracısı
Genel bakış
Microsoft Entra Id ile OAuth 2.0 yetkilendirmesini kullanarak API Management'ta bir API'yi korumak için bu adımları izleyin.
Microsoft Entra Id'de bir uygulamayı (bu makalede arka uç-uygulama olarak adlandırılır) kaydedin.
API'ye erişmek için, kullanıcıların veya uygulamaların her API isteğiyle bu uygulamaya erişim veren geçerli bir OAuth belirteci alması ve sunması gerekir.
API Management'ta validate-jwt ilkesini yapılandırın. Bu ilke, gelen her API isteğinde sunulan OAuth belirtecini doğrular. GEÇERLI istekler API'ye geçirilebilir.
OAuth yetkilendirme akışları ve gerekli OAuth belirteçlerinin nasıl oluşturulacağı hakkındaki ayrıntılar bu makalenin kapsamı dışındadır. Genellikle, API'ye erişim yetkisi veren Microsoft Entra Id'den belirteçleri almak için ayrı bir istemci uygulaması kullanılır. Daha fazla bilgi için ilgili içerik bölümüne bakın.
API'yi temsil etmek için Bir uygulamayı Microsoft Entra Id'ye kaydetme
Önce API'yi temsil eden bir uygulamayı kaydederek Azure portalını kullanarak Bir API'yi Microsoft Entra Id ile koruyun.
Uygulama kaydı hakkında ayrıntılı bilgi için bkz . Hızlı Başlangıç: Web API'sini kullanıma açmak için uygulama yapılandırma.
Yeni kayıt öğesini seçin.
Bir uygulamayı kaydet sayfası göründüğünde, uygulamanızın kayıt bilgilerini girin:
- Ad bölümünde, arka plan uygulaması gibi anlamlı bir uygulama adı girin. Bu ad, uygulamanın kullanıcılarına görüntülenir.
- Desteklenen hesap türleri bölümünde senaryonuza uygun bir seçenek belirleyin.
Uygulamayı kaydetmek için Kaydet'i seçin.
Uygulamaya Genel Bakış sayfasında Uygulama (istemci) kimliği değerini bulun ve daha sonra için kaydedin.
Yan menünün Yönet bölümünde Api'yi kullanıma sunma'yı seçin ve Uygulama Kimliği URI'sini varsayılan değerle ayarlayın. Arka uç uygulamasına erişim için OAuth 2.0 belirteçlerini almak için ayrı bir istemci uygulaması geliştiriyorsanız, bu değeri daha sonra kullanmak üzere kaydedin.
Kapsam ekle düğmesini seçerek Kapsam ekle sayfasını görüntüleyin:
- Yeni Kapsam adı, Yönetici onayı görünen adı ve Yönetici onayı açıklaması girin.
- Etkin kapsam durumunun seçili olduğundan emin olun.
Kapsamı oluşturmak için Kapsam ekle düğmesini seçin.
API'niz tarafından desteklenen tüm kapsamları eklemek için önceki iki adımı yineleyin.
Kapsamlar oluşturulduktan sonra, bunları ileride kullanmak üzere not edin.
İstekleri önceden yetkilendirmek için JWT doğrulama ilkesi yapılandırma
tr-TR: Aşağıdaki örnek ilke, <inbound> ilke bölümüne eklendiğinde, Yetkilendirme üst bilgisinde sunulan Microsoft Entra Kimliği'nden alınan erişim belirtecinde, hedef kitle talebi değerini denetler. Belirteç geçerli değilse bir hata iletisi döndürür. Bu ilkeyi senaryonuza uygun bir ilke kapsamında yapılandırın.
- URL'de
openid-config,aad-tenantMicrosoft Entra Id'deki kiracı kimliğidir. Bu değeri Azure portalında, örneğin Microsoft Entra kaynağınızın Genel Bakış sayfasında bulabilirsiniz. Gösterilen örnekte tek kiracılı bir Microsoft Entra uygulaması ve v2 yapılandırma uç noktası olduğu varsayılır. - değerinin
claimdeğeri, Microsoft Entra Id'ye kaydettiğiniz arka uç uygulamasının istemci kimliğidir.
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>{audience-value - (ex:api://guid)}</audience>
</audiences>
<issuers>
<issuer>{issuer-value - (ex: https://sts.windows.net/{tenant id}/)}</issuer>
</issuers>
<required-claims>
<claim name="aud">
<value>{backend-app-client-id}</value>
</claim>
</required-claims>
</validate-jwt>
Not
Yukarıdaki openid-config URL, v2 uç noktasına karşılık gelir. v1 openid-config uç noktası için kullanın https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration.
İlkeleri yapılandırma hakkında bilgi için İlkeleri ayarlama veya düzenleme bölümüne bakın. JWT doğrulamalarında daha fazla özelleştirme için validate-jwt başvurusuna bakın. Microsoft Entra hizmeti tarafından sağlanan bir JWT'yi doğrulamak için API Yönetimi ilkeyi validate-azure-ad-token de sağlar.
Yetkilendirme iş akışı
Kullanıcı veya uygulama, Microsoft Entra Id'den arka uç uygulamasına erişim izni veren izinlere sahip bir belirteç alır. v2 uç noktasını kullanıyorsanız,
accessTokenAcceptedVersionözelliğinin arka uç uygulamasının ve yapılandırdığınız herhangi bir istemci uygulamasının uygulama bildiriminde2olarak ayarlandığından emin olun.Belirteç, API Management'a API isteklerinin Yetkilendirme üst bilgisine eklenir.
API Management,
validate-jwtpolitikasını kullanarak belirteci doğrular.İsteğin geçerli bir belirteci yoksa API Management bunu engeller.
bir isteğin geçerli bir belirteci varsa, ağ geçidi isteği API'ye iletebilir.
İlgili içerik
Uygulama oluşturma ve OAuth 2.0 uygulama hakkında daha fazla bilgi edinmek için bkz . Microsoft Entra kod örnekleri.
API Management geliştirici portalında OAuth 2.0 kullanıcı yetkilendirmesini yapılandırmanın uçtan uca bir örneği için bkz . OAuth 2.0 kullanıcı yetkilendirmesini yapılandırarak geliştirici portalının test konsolunu yetkilendirme.
Microsoft Entra Id ve OAuth2.0 hakkında daha fazla bilgi edinin.
Arka uç hizmetinizin güvenliğini sağlamanın diğer yolları için bkz . Karşılıklı sertifika kimlik doğrulaması.