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 koruyacak şekilde 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.
API'ye erişimi korumak için Microsoft Entra Id'ye bir uygulama (bu makalede arka uç-uygulama olarak adlandırılır) kaydedin.
API'ye erişmek için kullanıcılar veya uygulamalar, her API isteğiyle bu uygulamaya erişim izni veren geçerli bir OAuth belirteci alır ve sunar.
Gelen her API isteğinde sunulan OAuth belirtecini doğrulamak için API Management'ta validate-jwt ilkesini yapılandırın. 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çeriğe 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üne, uygulamanın kullanıcılarına gösterilecek olan, örneğin arka uç-uygulama gibi anlamlı bir uygulama adı girin.
- 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-tenant
Microsoft 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
claim
değ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ç uygulamanın uygulama bildiriminde ve yapılandırdığınız herhangi bir istemci uygulamasında 2 olarak ayarlandığından emin olun.
Belirteç, API Management'a API isteklerinin Yetkilendirme üst bilgisine eklenir.
API Management,
validate-jwt
politikasını kullanarak belirteci doğrular.İsteğin geçerli bir belirteci yoksa API Management bunu engeller.
Bir isteğe geçerli bir belirteç eşlik ederse, 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ı.