Share via


Kimlik bilgileri yöneticisinde OAuth 2.0 bağlantıları - işlem ayrıntıları ve akışları

UYGULANANLAR: Tüm API Management katmanları

Bu makalede, Azure API Management'ta kimlik bilgileri yöneticisini kullanarak OAuth 2.0 bağlantılarını yönetmeye yönelik işlem akışları hakkında ayrıntılar sağlanır. İşlem akışları iki bölüme ayrılır: yönetim ve çalışma zamanı.

API Management'ta kimlik bilgileri yöneticisi hakkında arka plan bilgileri için bkz . API Management'ta kimlik bilgileri yöneticisi ve API kimlik bilgileri hakkında.

Bağlantıların yönetimi

Kimlik bilgisi yöneticisindeki bağlantıların yönetim bölümü, OAuth 2.0 belirteçleri için bir kimlik bilgisi sağlayıcısı ayarlamayı ve yapılandırmayı, sağlayıcı için onay akışını etkinleştirmeyi ve kimlik bilgilerine erişim için kimlik bilgisi sağlayıcısına bir veya daha fazla bağlantı ayarlamayı üstlenir.

Aşağıdaki görüntüde, API Management'ta yetkilendirme kodu verme türünü kullanan bir bağlantı oluşturmaya yönelik işlem akışı özetlenmektedir.

Kimlik bilgileri oluşturmaya yönelik işlem akışını gösteren diyagram.

Adımlar Veri Akışı Açıklaması
1 İstemci, kimlik bilgisi sağlayıcısı oluşturma isteği gönderir
2 Kimlik bilgisi sağlayıcısı oluşturulur ve yanıt geri gönderilir
3 İstemci bağlantı oluşturmak için bir istek gönderir
4 Bağlan oluşturma ve bağlantının "bağlı" olmadığı bilgisini içeren bir yanıt geri gönderilir
5 İstemci, kimlik bilgisi sağlayıcısında OAuth 2.0 onayını başlatmak için bir oturum açma URL'si alma isteği gönderir. İstek, son adımda kullanılacak bir yeniden yönlendirme sonrası URL içerir
6 Yanıt, onay akışını başlatmak için kullanılması gereken bir oturum açma URL'si ile döndürülür.
7 İstemci, önceki adımda sağlanan oturum açma URL'sini içeren bir tarayıcı açar. Tarayıcı, kimlik bilgisi sağlayıcısının OAuth 2.0 onay akışına yönlendirilir
8 Onay onaylandıktan sonra, tarayıcı kimlik bilgisi sağlayıcısında yapılandırılan yeniden yönlendirme URL'sine bir yetkilendirme koduyla yeniden yönlendirilir
9 API Management, erişim ve yenileme belirteçlerini getirmek için yetkilendirme kodunu kullanır
10 API Management belirteçleri alır ve şifreler
11 API Management, 5. adımdaki sağlanan URL'ye yeniden yönlendirir

Kimlik bilgisi sağlayıcısı

Kimlik bilgisi sağlayıcınızı yapılandırırken, farklı OAuth sağlayıcıları ve verme türleri (yetkilendirme kodu veya istemci kimlik bilgileri) arasında seçim yapabilirsiniz. Her sağlayıcı belirli yapılandırmalar gerektirir. Göz önünde bulundurulması gereken önemli şeyler:

  • Kimlik bilgisi sağlayıcısı yapılandırması yalnızca bir verme türüne sahip olabilir.
  • Bir kimlik bilgisi sağlayıcısı yapılandırmasının birden çok bağlantısı olabilir.

Not

Genel OAuth 2.0 sağlayıcısıyla, OAuth 2.0 akışının standartlarını destekleyen diğer kimlik sağlayıcıları kullanılabilir.

Bir kimlik bilgisi sağlayıcısı yapılandırdığınızda, arka planda kimlik bilgisi yöneticisi sağlayıcının OAuth 2.0 erişim belirteçlerini önbelleğe almak ve belirteçleri yenilemek için kullanılan bir kimlik bilgisi deposu oluşturur.

Kimlik bilgisi sağlayıcısına Bağlan

Bir sağlayıcının belirteçlerine erişmek ve bunları kullanmak için istemci uygulamalarının kimlik bilgisi sağlayıcısına bir bağlantısı olmalıdır. Belirli bir bağlantıya, Microsoft Entra ID kimliklerini temel alan erişim ilkeleri tarafından izin verilir. Bir sağlayıcı için birden çok bağlantı yapılandırabilirsiniz.

Bağlantı yapılandırma işlemi, yapılandırılan verme işlemine göre farklılık gösterir ve kimlik bilgisi sağlayıcısı yapılandırmasına özgüdür. Örneğin, Microsoft Entra Id'yi her iki verme türünü de kullanacak şekilde yapılandırmak istiyorsanız, iki kimlik bilgisi sağlayıcısı yapılandırması gerekir. Aşağıdaki tabloda iki verme türü özetlenmiştir.

Verme türü Açıklama
Yetki kodu Bir kullanıcı bağlamı ile ilişkilidir, yani kullanıcının bağlantıya onay vermesi gerekir. Yenileme belirteci geçerli olduğu sürece API Management yeni erişim ve yenileme belirteçlerini alabilir. Yenileme belirteci geçersiz hale gelirse kullanıcının yeniden kimlik doğrulaması yapması gerekir. Tüm kimlik bilgisi sağlayıcıları yetkilendirme kodunu destekler. Daha fazla bilgi edinin
İstemci kimlik bilgileri bir kullanıcıya bağlı değildir ve genellikle uygulamadan uygulamaya senaryolarda kullanılır. İstemci kimlik bilgileri verme türü için onay gerekmez ve bağlantı geçersiz olmaz. Daha fazla bilgi edinin

Yetkilendirme kodu verme türüne dayalı bağlantılar için sağlayıcıda kimlik doğrulaması yapmanız ve yetkilendirmeyi onaylamanız gerekir. Kimlik bilgisi sağlayıcısı tarafından başarıyla oturum açıldıktan ve yetkilendikten sonra sağlayıcı, API Management tarafından şifrelenen ve kaydedilen geçerli erişim ve yenileme belirteçlerini döndürür.

Erişim ilkesi

Her bağlantı için bir veya daha fazla erişim ilkesi yapılandırabilirsiniz. Erişim ilkeleri, hangi Microsoft Entra ID kimliklerinin çalışma zamanında kimlik bilgilerinize erişim kazanabileceğini belirler. Bağlan ions şu anda hizmet sorumlularını, API Management örneğinizin kimliğini, kullanıcılarını ve gruplarını kullanarak erişimi desteklemektedir.

Kimlik Açıklama Sosyal haklar Dikkat edilmesi gereken noktalar
Hizmet sorumlusu Bir kuruluş Microsoft Entra Id kullanırken, belirteçleri kimlik doğrulaması yapmak ve belirli Azure kaynaklarına erişim vermek için kullanılabilen kimlik. Kuruluşlar, bir hizmet sorumlusu kullanarak bir kaynağa erişmeleri gerektiğinde kimlik doğrulamasını yönetmek için kurgusal kullanıcılar oluşturmaktan kaçınırlar. Hizmet sorumlusu, kayıtlı bir Microsoft Entra uygulamasını temsil eden bir Microsoft Entra kimliğidir. Bağlantı ve kullanıcı temsilcisi senaryolarına daha sıkı kapsamlı erişime izin verir. belirli API Management örneğine bağlı değildir. İzin zorlama için Microsoft Entra Kimliği'ne dayanır. Yetkilendirme bağlamını almak için bir Microsoft Entra Id belirteci gerekir.
Yönetilen kimlik <Your API Management instance name> Bu seçenek, API Management örneğinize bağlı yönetilen kimliğe karşılık gelir. Varsayılan olarak, ilgili API yönetim örneği için sistem tarafından atanan yönetilen kimliğe erişim sağlanır. Kimlik, API Management örneğine bağlıdır. API Management örneğine Katkıda Bulunan erişimi olan herkes, yönetilen kimlik izinleri veren tüm bağlantılara erişebilir.
Kullanıcılar veya gruplar Microsoft Entra Id kiracınızdaki kullanıcılar veya gruplar. Erişimi belirli kullanıcılarla veya kullanıcı gruplarıyla sınırlamanıza olanak tanır. Kullanıcıların bir Microsoft Entra Id hesabına sahip olmasını gerektirir.

Bağlantıların çalışma zamanı

Çalışma zamanı bölümü, ilkeyle yapılandırılacak bir arka uç OAuth 2.0 API'sini get-authorization-context gerektirir. çalışma zamanında ilke, API Management'ın sağlayıcı için ayarlandığı kimlik bilgisi deposundan erişim ve yenileme belirteçlerini getirir ve depolar. API Management'a bir çağrı geldiğinde ve get-authorization-context ilke yürütülürse, önce mevcut yetkilendirme belirtecinin geçerli olup olmadığını doğrular. Yetkilendirme belirtecinin süresi dolduysa API Management, kimlik bilgisi sağlayıcısından depolanan belirteçleri yenilemek için bir OAuth 2.0 akışı kullanır. Ardından erişim belirteci, arka uç hizmetine erişimi yetkilendirmek için kullanılır.

İlke yürütme sırasında belirteçlere erişim de erişim ilkeleri kullanılarak doğrulanır.

Aşağıdaki görüntüde yetkilendirme kodu verme türünü kullanan bir bağlantıya göre yetkilendirme ve yenileme belirteçlerini getirmek ve depolamak için örnek bir işlem akışı gösterilmektedir. Belirteçler alındıktan sonra arka uç API'sine bir çağrı yapılır.

Çalışma zamanında belirteç almaya yönelik işlem akışını gösteren diyagram.

Adımlar Veri Akışı Açıklaması
1 İstemci API Management örneğine istek gönderir
2 İlke, get-authorization-context erişim belirtecinin geçerli bağlantı için geçerli olup olmadığını denetler
3 Erişim belirtecinin süresi dolduysa ancak yenileme belirteci geçerliyse, API Management yapılandırılan kimlik bilgisi sağlayıcısından yeni erişim ve yenileme belirteçleri getirmeye çalışır
4 Kimlik bilgisi sağlayıcısı hem erişim belirteci hem de API Management'a şifrelenmiş ve kaydedilen bir yenileme belirteci döndürür
5 Belirteçler alındıktan sonra erişim belirteci, ilke kullanılarak set-header arka uç API'sine giden isteğe yetkilendirme üst bilgisi olarak eklenir
6 API Management'a yanıt döndürülür
7 İstemciye yanıt döndürülür