Abonelikleri kullanarak API'lerin güvenliğini sağlama

Tamamlandı

API Management aracılığıyla API'leri yayımladığınızda, abonelik anahtarlarını kullanarak bu API'lere erişimin güvenliğini sağlamak kolay ve yaygın bir işlemdir. Yayımlanan API'leri tüketmesi gereken geliştiricilerin, bu API'lere çağrı yaparken HTTP isteklerine geçerli bir abonelik anahtarı eklemesi gerekir. Aksi takdirde, çağrılar API Management ağ geçidi tarafından hemen reddedilir. Bunlar arka uç hizmetlerine iletilir.

API'lere erişmek için abonelik anahtarı almak için bir abonelik gereklidir. Abonelik temelde bir çift abonelik anahtarı için adlandırılmış bir kapsayıcıdır. Yayımlanan API'leri tüketmesi gereken geliştiriciler abonelik alabilir. Ayrıca API yayımcılarının onayına da ihtiyaçları yoktur. API yayımcıları doğrudan API tüketicileri için de abonelik oluşturabilir.

Dekont

API Management, API'lere erişimi güvenli hale getirmek için OAuth2.0, İstemci sertifikaları ve IP izin verilenler listesi gibi diğer mekanizmaları da destekler.

Abonelikler ve Anahtarlar

Abonelik anahtarı, otomatik olarak oluşturulan ve istemci isteğinin üst bilgilerinde veya bir sorgu dizesi parametresi olarak geçirilebilen benzersiz bir anahtardır. Anahtar, kapsamı farklı alanlara ayarlanabilen bir abonelikle doğrudan ilişkilidir. Abonelikler size izinler ve ilkeler üzerinde ayrıntılı bir denetim olanağı sunar.

Üç ana abonelik kapsamı vardır:

Scope Ayrıntılar
Tüm API'ler Ağ geçidinden erişilebilen tüm API'leri içerir
Tek bir API Bu kapsam içeri aktarılan tek bir API'yi ve onun tüm uç noktalarını içerir
Ürün Ürün, API Management'ta yapılandırdığınız bir veya birden fazla API'den oluşmuş bir koleksiyondur. API'leri birden fazla ürüne atayabilirsiniz. Ürünlerin farklı erişim kuralları, kullanım kotaları ve kullanım koşulları olabilir.

Korumalı bir API'yi çağıran uygulamaların her istekte anahtarı kullanması gerekir.

Bu abonelik anahtarlarını dilediğiniz zaman yeniden oluşturabilirsiniz. Örneğin anahtarın yetkisiz kullanıcılar tarafından paylaşıldığını düşünüyorsanız bunu yapabilirsiniz.

Image showing the Subscriptions screen.

Her abonelik birincil ve ikincil olmak üzere iki anahtara sahiptir. İki anahtara sahip olmak, anahtar oluşturma sürecini daha kolay hale getirir. Örneğin kesinti yaşamadan birincil anahtarı değiştirmek için uygulamalarınızda ikincil anahtarı kullanabilirsiniz.

Aboneliklerin etkinleştirildiği ürünlerde istemcilerin API çağrısı yaparken bir anahtar sağlaması gerekir. Geliştiriciler abonelik isteği göndererek anahtar alabilir. İsteği onaylarsanız abonelik anahtarını onlara güvenli bir yolla, örneğin şifrelenmiş bir iletide göndermeniz gerekir. Bu adım API Management iş akışının temel parçalarından biridir.

Abonelik anahtarıyla API çağırma

Bir abonelikle korunan API uç noktalarına çağrı yapan uygulamaların HTTP isteklerinde geçerli bir anahtar kullanması gerekir. Anahtarlar istek üst bilgisinde veya URL'de sorgu dizesi olarak geçirilebilir.

Varsayılan üst bilgi adı Ocp-Apim-Subscription-Key, varsayılan sorgu dizesi ise subscription-key şeklindedir.

API çağrılarınızı test etmek için geliştirici portalını veya curl gibi komut satırı araçlarını kullanabilirsiniz. Burada geliştirici portalını kullanan ve abonelik anahtarı üst bilgisini gösteren örnek bir GET isteği verilmiştir:

Call API from developer portal

curl kullanarak istek üst bilgisinde anahtar geçirmek için şunları yapabilirsiniz:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Anahtarı URL'de sorgu dizesi olarak geçiren örnek bir curl komutu aşağıda verilmiştir:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Anahtarın üst bilgide veya URL'de sorgu dizesi olarak geçirilmemesi durumunda API ağ geçidi 401 Erişim Engellendi yanıtı döndürür.