Birçok uygulama, veri ve işlevselliği değiştirmek için API'lere (Uygulama Programlama Arayüzleri) güvenir. Ancak bu kolaylıkla birlikte, bu etkileşimleri güvence altına alma sorumluluğu da gelir. API güvenliğindeki iki kritik kavram, genellikle karıştırılan kimlik doğrulama ve yetkilendirmedir. Bu makale, bu iki süreç arasındaki ince farklılıkları açıklayacak ve iki kavramı birbirinden ayırt edebilmenizi sağlayacaktır.
API'lerinizin gerekli güvenliğe sahip olduğundan emin olmak için, geliştiriciye hangi tür kimlik doğrulama ve güvenliği istediğini seçmesi için bir platform sağlayan Apidog, hepsi bir arada bir API geliştirme aracı'nı düşünebilirsiniz.
Apidog hakkında daha fazla bilgi edinmek isterseniz, aşağıdaki düğmeyi tıklayarak bugün ücretsiz deneyin!
API Kimlik Doğrulaması Nedir?
API kimlik doğrulaması, bir API'ye erişmeye çalışan bir kullanıcının veya uygulamanın kimliğini doğrulama güvenlik sürecidir. Bu doğrulama süreci tipik olarak, kullanıcının veya uygulamanın kimlik bilgilerini, bir kullanıcı adı/parola kombinasyonu, bir API anahtarı veya bir yetkilendirme sunucusu tarafından verilen bir güvenlik belirteci gibi güvenilir bir kaynağa karşı doğrulamayı içerir.
API kimlik doğrulamasının birincil amacı, yalnızca yetkili kullanıcıların veya uygulamaların API'nin kaynaklarına erişebilmesini sağlamaktır. API ile kimin etkileşim kurmaya çalıştığını belirleyen ilk güvenlik katmanı olarak görev yapar.

API Kimlik Doğrulama Süreci
1. Kimlik Bilgileriyle İstek: Bir uygulama veya kullanıcı API'ye erişmek istediğinde, bir istek başlatır. Bu istek, kimliklerini doğrulayan kimlik doğrulama kimlik bilgilerini içerir. Bu kimlik bilgileri, seçilen yönteme bağlı olarak çeşitli biçimlerde gelir:
- API Anahtarları: API erişimi için uygulamalara atanan benzersiz tanımlayıcılar. Uygulanması basittir, ancak kötüye kullanımın önlenmesi için dikkatli yönetim gerektirir.
- Belirteçler: Başarılı oturum açma işleminden sonra oluşturulan kısa ömürlü kimlik bilgileri (örneğin, OAuth). Süre sonu zaman sınırları nedeniyle API anahtarlarından daha güvenlidir.
- Kullanıcı Adı/Parola: Kullanıcı kimlik doğrulaması için kullanılan geleneksel yöntem. Güvenli parola depolama gerektirir ve uygulamadan uygulamaya iletişim için daha az uygun olabilir.
2. API Tarafından Doğrulama: API isteği alır ve sağlanan kimlik bilgilerini bir doğrulama işleminden geçirir:
API Anahtarları/Belirteçleri: API, anahtarın/belirtecin:
- Geçerli (sistemde mevcut)
- Süresi dolmamış (ömrünü aşmamış)
- Tanınan bir uygulamaya veya kullanıcıya ait
Kullanıcı Adı/Parola: API, kullanıcı adının ve parolanın veritabanındaki kayıtlı bir kullanıcıyla eşleşip eşleşmediğini kontrol eder. Bu, kullanıcı kimlik bilgilerini korumak için güvenli parola karma tekniklerini içerebilir.
Erişim Verme veya Reddetme:
- Başarılı: Kimlik bilgileri doğrulamayı geçerse, API API içindeki istenen kaynaklara erişim izni verir. Bu, veri alımına, işlemeye veya belirli işlevlerin tetiklenmesine izin vermeyi içerebilir.
- Başarısız: Kimlik bilgileri geçersizse (örneğin, yanlış anahtar/belirteç, yanlış kullanıcı adı/parola), erişim reddedilir. API tipik olarak sorunu açıklayan bir hata mesajı döndürür.
API Kimlik Doğrulamasının Avantajları
Geliştirilmiş Güvenlik
API kimlik doğrulamasının birincil faydası, bir API'nin genel güvenlik duruşunu güçlendirme yeteneğinde yatar. Her erişim girişimini titizlikle inceleyen tetikte bir kapıcı gibi davranır. Yalnızca geçerli kimlik bilgilerine sahip yetkili uygulamalara ve kullanıcılara erişim izni verilirken, yetkisiz tüm girişimler kararlılıkla engellenir.
Bu, kötü niyetli aktörlerin hassas bilgileri çalmaya, değiştirmeye veya kurcalamaya çalıştığı veri ihlali riskini önemli ölçüde azaltır. Kuruluşlar, sağlam bir kimlik doğrulama mekanizması uygulayarak, veri alışverişi için güvenli bir ortam oluşturabilir, kullanıcılar ve paydaşlarla güven oluşturabilir.
Geliştirilmiş Sorumluluk ve İzlenebilirlik
API kimlik doğrulaması, erişim girişimlerini titizlikle kaydeder, API'ye kimin ve tam olarak hangi saatte eriştiğini titizlikle kaydeder. Bu ayrıntılı veri akışı, kuruluşlara etkinlik izleme için paha biçilmez bilgiler sağlar. Potansiyel güvenlik tehditleri, bu günlükleri analiz ederek hızla belirlenebilir ve ele alınabilir. Ayrıca, API kimlik doğrulaması, kullanıcılar ve uygulamalar arasında sorumluluk oluşturur.
Yetkisiz herhangi bir eylem girişiminde bulunulursa, günlükler bir denetim izi sağlar, sorunun kaynağını tespit eder ve derhal düzeltici önlemler alınmasını sağlar. Bu sadece verileri korumakla kalmaz, aynı zamanda kullanıcıların eylemlerinin izlendiğinin farkında olması nedeniyle yetkisiz erişim girişimlerini de caydırır.
Geliştirilmiş Kullanıcı Güveni
Sağlam bir API kimlik doğrulama mekanizmasının uygulanması, kristal netliğinde bir mesaj iletir - kullanıcı verilerinin güvenliği en büyük önceliktir. Kuruluşlar, titiz doğrulama prosedürleri uygulayarak, kullanıcı bilgilerini korumaya yönelik sarsılmaz bağlılıklarını gösterirler.
Bu, kullanıcılara güven verir ve verilerinin güvenli bir kimlik doğrulama katmanının arkasında korunduğunu garanti eder. Sonuç olarak, kullanıcı memnuniyeti ve sadakati artacak ve kullanıcılar API ile etkileşim kurarken güvende hissedeceklerdir.
Geliştirilmiş Veri Gizliliği
Çok sayıda endüstri, katı veri gizliliği düzenlemeleri kapsamında faaliyet göstermektedir. Bu düzenlemeler genellikle, kullanıcı verilerini korumak için sağlam güvenlik önlemlerinin uygulanmasını zorunlu kılar. API kimlik doğrulaması, bu düzenlemelere uygunluğun sağlanmasında önemli bir rol oynar.
Kuruluşlar, kullanıcı kimliklerini ve erişim girişimlerini titizlikle doğrulayarak, veri gizliliği gereksinimlerine uyduklarını gösterebilir, potansiyel yasal sonuçları azaltabilir ve düzenleyici kurumlarla güven oluşturabilir.
API Kimlik Doğrulama Örnekleri
1. API Anahtarları:
- İşlev: Yetkili uygulamalara atanan, genellikle uzun karakter dizilerine benzeyen basit kimlik bilgileri. Bu anahtarlar, uygulamaların bir API'ye erişim talep ederken sunduğu benzersiz tanımlayıcılar olarak hareket eder.
Avantajları:
- Basitlik: Sınırlı sayıda uygulama için uygulaması ve yönetmesi kolaydır.
- Durumsuz: Sunucu yükünü azaltarak, API sunucusunda oturum bilgilerinin tutulmasını gerektirmez.
Dezavantajları:
- Güvenlik Endişeleri: API anahtarları, dikkatli kullanılmazsa tehlikeye açıktır. Bir anahtar sızdırılırsa, yetkisiz erişim meydana gelebilir.
- Sınırlı Kontrol: Tehlikeye girmiş bir anahtar için erişimi iptal etmek zordur. Tüm yetkili uygulamalara yeni anahtarlar oluşturmanız ve dağıtmanız gerekir.
- Örnek: Bir hava durumu izleme hizmeti, canlı hava durumu verilerini mobil uygulamalarına dahil etmek isteyen kayıtlı geliştiricilere API anahtarları sağlayabilir.
2. Belirteçler:
- İşlev: Başarılı kullanıcı kimlik doğrulamasından sonra oluşturulan kısa ömürlü kimlik bilgileri (genellikle OAuth gibi protokoller aracılığıyla). Bu belirteçler, güvenliği artırarak kullanıcı adları ve parolalar için geçici ikameler olarak hareket eder.
Avantajları:
- Geliştirilmiş Güvenlik: Önceden belirlenmiş bir süre sonra sona erer, bir belirteç tehlikeye girse bile yetkisiz erişim riskini azaltır.
- Ayrıntılı Kontrol: Erişim seviyeleri belirteçlerle ilişkilendirilebilir, bu da kullanıcıların API içinde neler yapabileceği üzerinde daha ayrıntılı kontrol sağlar.
Dezavantajları:
- Artan Karmaşıklık: Belirteç tabanlı kimlik doğrulamasının uygulanması, API anahtarlarını kullanmaktan daha karmaşık olabilir.
- Durum Yönetimi: Hem API sunucusunda hem de istemci uygulamasında belirteç süresinin dolması ve potansiyel yenileme mekanizmalarının yönetilmesini gerektirir.
- Örnek: Bir sosyal medya platformu, başarılı bir oturum açma işleminden sonra bir kullanıcının profil bilgilerine erişim izni vermek için belirteçler kullanabilir. Belirteç, belirli bir süre hareketsizlikten sonra sona erecek ve kullanıcının bilgilere tekrar erişmeden önce yeniden kimlik doğrulaması yapmasını gerektirecektir.
3. Kullanıcı Adı ve Parola:
- İşlev: Kullanıcıların API'ye erişmek için bir kullanıcı adı ve parola sağladığı geleneksel kimlik doğrulama yöntemi.
Avantajları:
- Tanıdıklık: Kullanıcılar, çeşitli çevrimiçi hizmetler için kullanıcı adları ve parolaları kullanmaya zaten alışkındır.
Dezavantajları:
- Güvenlik Endişeleri: Güvenli bir şekilde uygulanmazsa (örneğin, zayıf parola karması) kaba kuvvet saldırılarına veya kimlik bilgisi sızıntılarına karşı hassastır.
- Makineden Makineye İletişim İçin Daha Az Uygun: Uygulamaların insan müdahalesi olmadan API ile etkileşim kurması gereken senaryolar için ideal değildir.
- Örnek: Çalışanlar tarafından kullanılan dahili bir kurumsal API, erişim kontrolü için kullanıcı adı ve parola kimlik doğrulamasından yararlanabilir. Ancak, genel kullanıma açık API'ler için genellikle belirteç tabanlı yöntemler tercih edilir.
API Yetkilendirmesi Nedir?
API yetkilendirmesi, daha önce kimliği doğrulanmış bir kullanıcının veya uygulamanın, bir API içindeki belirli kaynaklara veya işlevlere ne düzeyde erişimi olduğunu doğrulama güvenlik sürecidir.
API yetkilendirme süreci, bir kullanıcının veya uygulamanın API tarafından sunulan belirli veriler veya işlevler üzerinde gerçekleştirebileceği izin verilen eylemleri (okuma, yazma, güncelleme ve silme gibi) belirleyen erişim kontrol politikalarını uygular.

API Yetkilendirme Süreci
1. Erişim İsteği:
- Bir kullanıcı veya uygulama, API'ye erişmek için bir istek başlatır. Bu istek tipik olarak, istenen eylemi belirten bir HTTP fiilini (GET, POST, PUT, DELETE) ve belirli bir API kaynağına işaret eden bir URL'yi içerir.
2. Kimlik Doğrulama Kontrolü (İsteğe Bağlı):
- Bazı durumlarda, yetkilendirmeden önce bir kimlik doğrulama adımı gelebilir. Bu, isteği yapan kullanıcının veya uygulamanın kimliğini doğrular. Yaygın yöntemler arasında API anahtarları, kullanıcı adı/parola kombinasyonları veya bir yetkilendirme sunucusu (örneğin, OAuth) tarafından verilen belirteçler bulunur.
- Not: Tüm yetkilendirme şemaları ayrı kimlik doğrulama gerektirmez. API anahtarları gibi bazı yöntemler, hem kimlik doğrulamasını hem de erişim kontrolünü doğal olarak ele alır.
3. Yetkilendirme Politikası Değerlendirmesi:
- Kullanıcı veya uygulama tanımlandıktan sonra (veya kimlik doğrulama gerekmiyorsa), API yetkilendirme katmanı devreye girer.
- API sunucusu, istenen kaynak veya işlevsellikle ilişkili ilgili erişim kontrol politikasını alır. Bu politikalar, farklı kullanıcı rolleri veya uygulamalar için izin verilen eylemleri tanımlar.
- Alınan politika daha sonra kullanıcının veya uygulamanın niteliklerine karşı değerlendirilir. Bu nitelikler şunları içerebilir:
- Kullanıcı Rolleri: (örneğin, yönetici, editör, okuyucu)
- İzinler: Kaynak üzerinde izin verilen belirli eylemler (örneğin, okuma, yazma, güncelleme, silme)
- Bağlamsal Faktörler: (örneğin, konum, cihaz türü, erişim zamanı)
4. Erişim Kararı:
- Politika değerlendirmesine bağlı olarak, API sunucusu bir yetkilendirme kararı verir. Bu karar, istenen kaynağa veya işlevselliğe erişim izni verilip verilmeyeceğini belirler.
- Erişim İzni Ver: Kullanıcının veya uygulamanın nitelikleri, politikadaki izin verilen eylemlerle eşleşiyorsa, erişim izni verilir.
- Erişimi Reddet: Bir uyuşmazlık meydana gelirse, erişim reddedilir ve kullanıcı veya uygulama bir hata mesajı alır (örneğin, "Yetkisiz" veya "Yasak").
5. Kaynak Erişimi (veya Hata Yanıtı):
- Yetkilendirme kararına bağlı olarak:
- Erişim İzni Verildi: Kullanıcı veya uygulama, istenen verileri alır veya API kaynağı üzerinde istenen eylemi gerçekleştirmesine izin verilir.
- Erişim Reddedildi: Kullanıcı veya uygulama, gerekli izinlere sahip olmadığını belirten bir hata mesajı alır.
Ek Hususlar:
- Yetkilendirme Belirteçleri: Bazı yetkilendirme şemalarında (örneğin, OAuth), başarılı kimlik doğrulamasından sonra erişim belirteçleri verilir. Bu belirteçler, kullanıcının veya uygulamanın izinlerini kapsar ve yetkilendirme kontrolleri için sonraki API isteklerine dahil edilir.
- Ayrıntılı Erişim Kontrolü: Öznitelik Tabanlı Erişim Kontrolü (ABAC) gibi gelişmiş yetkilendirme yöntemleri, çeşitli kullanıcı ve istek özniteliklerini dikkate alarak erişim kararları üzerinde son derece ayrıntılı kontrol sağlar.
API Yetkilendirmesinin Temel Faydaları
Geliştirilmiş Güvenlik:
- Yetkisiz Erişimi Kısıtlar: Birincil fayda, yetkisiz kullanıcıların veya uygulamaların API'nizdeki hassas verilere veya işlevlere erişmesini engellemektir. Bu, veri ihlalleri, yetkisiz değişiklikler ve hizmet reddi saldırıları gibi riskleri azaltır.
- Ayrıntılı Kontrol: Yetkilendirme, erişim izinlerini çok özel bir düzeyde tanımlamanıza olanak tanır. Farklı kullanıcıların veya uygulamaların belirli kaynaklar üzerinde gerçekleştirebileceği eylemleri kontrol edebilirsiniz. Örneğin, bir editör blog gönderilerini güncelleyebilirken, bir okuyucu yalnızca bunları görüntüleyebilir.
Geliştirilmiş Kullanıcı Güveni:
- Veri Koruması: Sağlam yetkilendirme, kullanıcı verilerini koruma taahhüdünüzü gösterir. Kullanıcılar, bilgilerinin yalnızca yetkili kişilerin erişebileceğini bilerek API'nizi kullanma konusunda daha kendinden emin hissederler.
- Şeffaflık: Açık ve tanımlanmış erişim kontrol politikaları, kullanıcılara hangi verilere erişebilecekleri ve hangi eylemleri gerçekleştirebilecekleri konusunda şeffaflık sağlar.
Artan Verimlilik ve Ölçeklenebilirlik:
- Hata Riskini Azaltır: Yetkisiz erişimi kısıtlayarak, yetkisiz kullanıcılar tarafından yanlışlıkla veri değişiklikleri veya silmeler olasılığını en aza indirirsiniz.
- Basitleştirilmiş Yönetim: Yetkilendirme politikaları, benzer rollere sahip kullanıcı gruplarına uygulanabilir ve büyük kullanıcı tabanları için izin yönetimini kolaylaştırır.
Ek Avantajlar:
- Uyumluluk: Bazı endüstrilerde katı veri gizliliği düzenlemeleri vardır. API yetkilendirmesi uygulamak, uyumluluk gereksinimlerine uymanıza yardımcı olabilir.
- Geliştirilmiş Hata Ayıklama: Yetkilendirme günlükleri erişim girişimlerini izler, şüpheli etkinlikleri belirlemeyi veya izinle ilgili sorunları gidermeyi kolaylaştırır.
API Yetkilendirmesinin Gerçek Dünya Örnekleri
E-ticaret Platformu:
- Senaryo: Bir mobil alışveriş uygulaması, ürün bilgilerini görüntülemek ve kullanıcıların sepetlerine ürün eklemesine izin vermek için bir e-ticaret mağazasının API'si ile entegre olur.
- Yetkilendirme: API, API anahtar yetkilendirmesini kullanır. Mobil uygulama, her istekte benzersiz bir API anahtarı sağlar. E-ticaret platformunun sunucusu, ürün verilerine erişim izni vermeden önce anahtarı yetkili uygulamaların bir listesine karşı doğrular.
- Ek Hususlar: Sepete ürün eklemek (bir değiştirme eylemi) için, yetkilendirme, mobil uygulama içindeki kullanıcı oturumu aracılığıyla elde edilen ek bir erişim belirteci gerektirebilir.
Sosyal Medya Uygulaması:
- Senaryo: Bir sosyal medya uygulaması, kullanıcılar adına güncellemeler ve fotoğraflar yayınlamak için bir API kullanır.
- Yetkilendirme: API, popüler bir yetkilendirme çerçevesi olan OAuth 2.0'dan yararlanır. Kullanıcı, sosyal medya uygulamasına giriş yapar ve bu daha sonra onları sosyal medya platformunun yetkilendirme sunucusuna yönlendirir. Orada, kullanıcı uygulamaya kendi adına yayınlama izni verir. Yetkilendirme sunucusu, sosyal medya uygulamasının içerik yayınlamak için sonraki API çağrıları için kullandığı bir erişim belirteci yayınlar.
- Avantajları: OAuth, kullanıcıların gerçek oturum açma kimlik bilgilerini sosyal medya uygulamasıyla paylaşmadan erişim izni vermeleri için güvenli bir yol sağlar.
Bankacılık Uygulaması:
Senaryo: Bir mobil bankacılık uygulaması, hesap bakiyelerini görüntülemek ve fon transferi yapmak için bir bankanın API'si ile etkileşim kurar.
Yetkilendirme: API muhtemelen yöntemlerin bir kombinasyonunu kullanır.
- Temel Kimlik Doğrulama: Mobil uygulama içinde oturum açma sırasında, kullanıcı kullanıcı adını ve parolasını sağlar. Bu kimlik bilgileri, bankanın sistemine karşı temel kimlik doğrulama için kullanılır.
- Erişim Belirteçleri: Başarılı oturum açma işleminden sonra, bankanın sistemi bir son kullanma süresi olan bir erişim belirteci yayınlayabilir. Mobil uygulama, belirli eylemler (örneğin, bakiye görüntüleme ve fon transferi) üzerinde yetkilendirme kontrolleri için sonraki API isteklerine bu belirteci dahil eder.
Güvenlik Odaklı: Finans kuruluşları için, hassas kullanıcı verilerini korumak ve yetkisiz işlemleri önlemek için sağlam API yetkilendirmesi kritiktir.
API Kimlik Doğrulama ve Yetkilendirme Arasındaki Tablolaştırılmış Farklar
Özellik | API Kimlik Doğrulaması | API Yetkilendirmesi |
---|---|---|
Amaç | Bir API'ye erişmeye çalışan bir kullanıcının veya uygulamanın kimliğini doğrular. | Daha önce kimliği doğrulanmış bir kullanıcının veya uygulamanın, bir API içindeki belirli kaynaklara veya işlevlere ne düzeyde erişimi olduğunu belirler. |
Odak | "Sen kimsin?" | "Ne yapmana izin veriliyor?" |
Süreç | Kullanıcı/uygulama kimlik bilgileri sağlar (kullanıcı adı/parola, API anahtarı, belirteç) ve API sunucusu kimlik bilgilerini güvenilir bir kaynağa karşı doğrular. | Erişim kontrol politikaları, farklı kullanıcı rolleri veya uygulamalar için izin verilen eylemleri tanımlar ve kullanıcı/uygulama nitelikleri (roller, izinler, bağlam) bu politikalara karşı değerlendirilir. |
Sonuç | (Başarılıysa) yetkilendirme aşamasına erişim izni verir. | API içindeki belirli kaynaklara veya işlevlere erişim izni verir veya reddeder. |
Örnek Yöntemler | Kullanıcı adı/parola kombinasyonları ve API anahtarları - Bir yetkilendirme sunucusu tarafından verilen güvenlik belirteçleri (örneğin, OAuth) | Rol Tabanlı Erişim Kontrolü (RBAC), Öznitelik Tabanlı Erişim Kontrolü (ABAC) ve API anahtarları (bazen hem kimlik doğrulama hem de yetkilendirmeyi işleyebilir) |
İlişki | Genellikle yetkilendirmeden önce gelir | Kimlik doğrulamasıyla birlikte çalışır (her zaman gerekli değildir) |
Apidog - API'nizin Güvenliğini API Kimlik Doğrulama ve Yetkilendirme ile Uygulayın!
API'niz için yeterli güvenliği ayarlamak, genellikle API geliştirmenin sıkça göz ardı edilen bir yönüdür. Ancak, API'nin ve tüketicinin bilgilerinin güvenli olduğundan emin olmak için uygun güvenlik sağlamak esastır. Bu nedenle Apidog gibi bir API aracı seçmeniz ve kullanmanız gerekir.

Apidog'da API Kimlik Doğrulaması Kurulumu

Apidog ile, belirli API'lerin kimlik doğrulama yöntemlerini düzenleyebilirsiniz. Seçebileceğiniz çeşitli seçenekler vardır. Apidog'un bu bölümüne erişmek için önce şunları yapmanız gerekir:
- Bir API seçin.
Düzenle
başlığına tıklayın.İstek
bölümüne gidin.Auth
başlığına tıklayın.- Son olarak, istediğiniz
Tür
kimlik doğrulamasını seçin.
Apidog Kullanarak API Uç Noktalarını Test Etme
Geliştirdiğiniz API'lerin sorunsuz çalıştığından emin olmak için, uç noktalarını Apidog ile ayrı ayrı test edebilirsiniz!