```html
API (Uygulama Programlama Arayüzü) güvenliği, kamuya açık kullanıma hazır, işlevsel bir API için hayati öneme sahiptir. API'ler esas olarak farklı uygulamalar arasındaki iletişimi kolaylaştıran aracı olarak kullanıldığından, iki taraf arasında değiş tokuş edilen verilerin gizli kalmasını sağlamak için yeterli güvenliği sağlamalıdırlar.
Apidog, geliştiricilerin OAuth 2.0 ve SAML yetkilendirme çerçevelerini uygulamalarına olanak tanıyan, tüketicilerine API'lerinin uygulamaya hazır olduğunu garanti eden uygun bir API aracıdır.
Apidog'u bugün kullanmaya başlamak için, başlamak için aşağıdaki düğmeye tıklayın!
OAuth 2.0 ve SAML, geliştiricilerin kullanabileceği iki baskın yetkilendirme çerçevesidir. Bu nedenle bu makale, hem OAuth 2.0 hem de SAML'nin ayrıntılarına girecektir. Ayrıntılı açıklamalara girmeden önce, OAuth.20 ve SAML hakkında basit bir özet olacaktır.

OAuth 2.0 Nedir?
OAuth 2.0, özellikle uygulama programlama arayüzleri (API'ler) için tasarlanmış, endüstri standardı bir yetkilendirme çerçevesidir. Kaynak sahiplerinin (genellikle kullanıcılar) bir hizmetteki bilgilerine, üçüncü taraf uygulamalara (istemciler) kontrollü erişim izni vermesini, gerçek kimlik bilgilerini asla ifşa etmeden kolaylaştırır.
OAuth 2.0'ın Kapsamlı Analizi
API'ler için endüstri standardı yetkilendirme çerçevesi olan OAuth 2.0, güvenli erişim yetkilendirmesi etrafında döner. Bu çerçevenin bileşenlerini, iş akışlarını ve güvenlik hususlarını keşfederek, inceliklerine dalalım.
OAuth 2.0 Temel Rolleri
- Kaynak Sahibi (RO): Erişilen kaynakları kontrol eden varlık (genellikle bir kullanıcı). Bu, fotoğrafları, e-postaları veya bir hizmette saklanan diğer verileri olabilir.
- Kaynak Sunucusu (RS): Korumalı kaynakları depolayan ve istemciler tarafından sunulan erişim belirteçlerini doğrulayan sunucu.
- İstemci (Üçüncü Taraf Uygulama): RO adına kaynaklara erişim talep eden uygulama. Bu, bir fotoğraf düzenleme uygulaması, bir fitness takip cihazı veya kullanıcı verilerine ihtiyaç duyan herhangi bir hizmet olabilir.
- Yetkilendirme Sunucusu (AS): RO'nun yetkilendirmesini doğruladıktan sonra erişim belirteçleri yayınlamaktan sorumlu sunucu. RO, İstemci ve RS arasında güvenilir bir aracı görevi görür.
OAuth 2.0 Yetkilendirme Akışları
OAuth 2.0, farklı uygulama türlerine ve güvenlik ihtiyaçlarına göre uyarlanmış çeşitli yetkilendirme akışları tanımlar. İşte öne çıkanlar:
- Yetkilendirme Kodu İzni: Bu akış, web uygulamaları için yaygın olarak kullanılır. İstemci, RO'yu AS'ye yönlendirir; burada erişim izni verir veya reddeder. İzin verilirse, AS istemciye bir yetkilendirme kodu verir. Daha sonra istemci, bu kodu erişim belirteci için AS ile değiştirir. Bu iki aşamalı işlem, yetkilendirme kodunu kısa ömürlü ve gizli tutarak güvenliği artırır.
- Zımni İzin: Bu akış, genel istemci uygulamaları (örneğin, sınırlı gizli depolamaya sahip mobil uygulamalar) için uygundur. AS, RO yetkilendirmesi üzerine doğrudan bir erişim belirtecini istemciye döndürür. Uygun olsa da, bu akış, istemci uygulamasında erişim belirteçlerinin ifşa edilmesi nedeniyle güvenlik riskleri taşır.
- Kaynak Sahibi Parola İzni: Bu akış, istemcinin RO kimlik bilgileri için güvenli depolamaya sahip olduğu sunucu tarafı uygulamalarda tipik olarak kullanılır. RO, kimlik bilgilerini doğrudan istemciye sağlar ve daha sonra bunları AS'den bir erişim belirteci almak için kullanır. Kimlik bilgilerinin ifşa edilmesi nedeniyle, bu akış dikkatli kullanılmalıdır.
- İstemci Kimlik Bilgileri İzni: Bu akış, istemcilerin kimlik bilgileriyle önceden yapılandırıldığı makineden makineye yetkilendirme için kullanılır. İstemci, belirli kaynaklara erişmek için AS'den doğrudan bir erişim belirteci almak için bu kimlik bilgilerini kullanır.
Bunlar, yaygın akışlardan sadece bazılarıdır ve seçim, uygulama türü, güvenlik gereksinimleri ve kullanıcı deneyimi hususları gibi faktörlere bağlıdır.
OAuth 2.0 Belirteçleri
- Erişim Belirteci: Başarılı yetkilendirmeden sonra AS tarafından istemciye verilen kısa ömürlü bir kimlik bilgisi. İstemciye, RO adına RS'deki belirli kaynaklara erişim izni verir. Erişim belirteçleri genellikle opak olacak ve hassas bilgiler içermeyecek şekilde tasarlanmıştır.
- Yenileme Belirteci (İsteğe Bağlı): Daha fazla RO etkileşimi gerektirmeden yeni erişim belirteçleri elde etmek için kullanılan uzun ömürlü bir kimlik bilgisi (genellikle daha katı güvenlik önlemleriyle). Bu, erişimi sürdürmesi gereken uzun süreli çalışan uygulamalar için kullanışlıdır.
OAuth 2.0 Güvenlik Hususları
- Sınırlı Kapsam: Erişim belirteçleri tipik olarak belirli bir kapsamla verilir ve istemcinin erişebileceği kaynakları kısıtlar.
- Kısa Ömürlü Erişim Belirteçleri: Erişim belirteçleri, tehlikeye girme durumunda güvenlik açığı penceresini en aza indiren sınırlı bir yaşam süresine sahiptir.
- Yenileme Belirteci Güvenliği: Yenileme belirteçleri, uzun ömürlü doğaları nedeniyle dikkatli bir şekilde ele alınmalıdır. Güvenli depolama ve uygun geçersiz kılma mekanizmaları esastır.
- HTTPS iletişimi: OAuth akışına dahil olan taraflar arasındaki tüm iletişim, dinlemeyi ve ortadaki adam saldırılarını önlemek için HTTPS kullanılarak şifrelenmelidir.
OAuth 2.0 Faydaları
- Geliştirilmiş Güvenlik: İstemcilerin RO kimlik bilgilerini saklamasına gerek kalmaz, bu da veri ihlali riskini azaltır.
- Ayrıntılı Erişim Kontrolü: Bir istemcinin hangi kaynaklara erişebileceği üzerinde ayrıntılı kontrol sağlar.
- Standartlaştırılmış Çerçeve: İyi tanımlanmış bir yetkilendirme mekanizması sunarak uygulama geliştirmeyi basitleştirir.
- Esneklik: Farklı yetkilendirme akışları aracılığıyla çeşitli uygulama türlerini destekler.
SAML Nedir?
Güvenlik Bildirimi İşaretleme Dili (SAML), güvenlik etki alanları arasında kimlik doğrulama ve yetkilendirme verilerini değiştirmek için XML tabanlı bir standarttır. Kullanıcıların bir kez kimlik doğrulaması yapmasını ve kimlik bilgilerini yeniden girmeden birden fazla kaynağa erişmesini sağlayarak, web uygulamaları arasında güvenli tek oturum açma (SSO) için bir çerçeve sağlar.
SAML'nin Kapsamlı Analizi
Güvenlik Bildirimi İşaretleme Dili (SAML), web tek oturum açma (SSO) ve erişim kontrolünde çok önemli bir rol oynar. Bu derinlemesine analiz, SAML'nin temel kavramlarını, işlevselliğini, güvenlik yönlerini ve pratik hususlarını inceler.
SAML Temel İşlevselliği
SAML, iki varlık arasında kurulan güven temelinde çalışır:
- Kimlik Sağlayıcısı (IdP): Güvenilir bir kimlik doğrulama yetkilisi olarak hareket eder. Kullanıcı kimlik bilgilerini doğrular ve bir kullanıcının kimlik öznitelikleri (örneğin, ad, e-posta adresi, grup üyelikleri) hakkında bildirimler yayınlar. Bunu bir şirketin güvenli oturum açma portalı olarak düşünün.
- Hizmet Sağlayıcı (SP): Kullanıcı kimlik doğrulaması ve yetkilendirme kararları için IdP'ye güvenen bir uygulamayı veya web kaynağını temsil eder. Erişim izni vermeden önce bir kullanıcının kimliğini doğrulaması gereken bir şirket gider yönetimi uygulaması gibi düşünün.
SAML Kimlik Doğrulama Akışı
SAML kimlik doğrulama akışı, kullanıcı, IdP ve SP arasında bir dizi güvenli alışveriş içerir:
- Kullanıcı Erişimi Başlatır: Bir kullanıcı, SP'deki korumalı bir kaynağa erişmeye çalışır (örneğin, gider yönetimi uygulamasına erişmeye çalışmak).
- IdP'ye Yönlendirme: Kullanıcının kendisini doğrulayamayan SP, kimlik doğrulaması için kullanıcıyı IdP'ye yönlendirir.
- IdP'de Kimlik Doğrulama: Kullanıcı, kimlik doğrulaması için kimlik bilgilerini sağlayarak IdP'nin oturum açma sayfasıyla etkileşime girer.
- SAML Bildirimi Oluşturma: Başarılı kimlik doğrulamasının ardından, IdP bir SAML bildirimi oluşturur. Bu XML belgesi, kullanıcının doğrulanmış kimlik öznitelikleri hakkında bilgi kapsar.
- Bildirim Teslimi: IdP, SAML bildirimini güvenli bir şekilde SP'ye iletir.
- Bildirim Doğrulama: SP, dijital imzaları kullanarak bildirimin özgünlüğünü ve bütünlüğünü inceler. Bu, bildirimin kurcalanmadığından ve güvenilir bir IdP'den geldiğinden emin olur.
- Erişim Verildi (veya Reddedildi): Bildirim geçerliyse, SP ilgili kullanıcı özniteliklerini ondan çıkarır ve istenen kaynağa erişim izni verir. Geçersizse, erişim reddedilir.
SAML Temel Bileşenleri
- SAML Bildirimleri: SAML'nin kalbi olan bu XML belgeleri, kullanıcı kimlik bilgilerini ve diğer yetkilendirmeyle ilgili verileri kapsar.
- Meta Veriler: Bu XML dosyaları, iletişim için planlar gibi davranır. IdP ve SP, birbirlerinin yeteneklerini ve yapılandırma ayrıntılarını (örneğin, desteklenen protokoller ve güvenlik sertifikaları) anlamak için meta veri alışverişinde bulunur.
- Protokoller: Tanımlanmış bir dizi protokol, kimlik doğrulama ve yetkilendirme için mesaj formatlarını ve iletişim akışlarını belirler. Yaygın örnekler arasında SAML SOAP Binding (SOAP mesajlaşması için) ve SAML HTTP Binding (web tarayıcı iletişimi için) bulunur.
SAML Güvenlik Hususları
- Dijital İmzalar: SAML bildirimleri, özgünlüklerini garanti eden ve yetkisiz değişiklikleri önleyen IdP tarafından dijital olarak imzalanır.
- Güvenli İletişim: Varlıklar (kullanıcı, IdP, SP) arasındaki iletişim, aktarım halindeki verileri korumak için HTTPS kullanılarak şifrelenmelidir.
- Öznitelik Yayın Kontrolü: IdP, SAML bildiriminde hangi kullanıcı özniteliklerinin yayınlandığı üzerinde kontrolü sürdürür. Bu, en az ayrıcalık ilkesine uyar ve ifşa edilen kullanıcı verisi miktarını en aza indirir.
SAML Faydaları
- Merkezi Kimlik Doğrulama: Aynı IdP'den yararlanan birden fazla uygulama arasında tek oturum açmayı sağlayarak kullanıcı deneyimini basitleştirir. Kullanıcıların çeşitli kaynaklara erişmek için yalnızca bir kez kimlik doğrulaması yapması gerekir.
- Gelişmiş Güvenlik: Kullanıcı kimlik doğrulama sorumluluğunu, potansiyel olarak daha güvenli ve merkezi bir IdP'ye kaydırır, potansiyel olarak genel güvenlik duruşunu iyileştirir.
- Ölçeklenebilirlik: Daha büyük bir kullanıcı tabanı için güvenli erişim yönetimini kolaylaştırarak, tek bir IdP altyapısı içinde artan sayıda SP'yi destekler.
- Standardizasyon: Farklı satıcıların IdP ve SP çözümleri arasında birlikte çalışabilir SSO için iyi tanımlanmış bir çerçeve sunar. Bu, esnekliği teşvik eder ve entegrasyonu basitleştirir.
OAuth 2.0 ile SAML Arasındaki Tablolu Farklar
Özellik | OAuth 2.0 | SAML |
---|---|---|
Birincil İşlev | API Erişim Kontrolü | Web SSO ve Erişim Kontrolü |
Yetkilendirme Protokolü | Evet | Hayır (kimlik doğrulama ve yetkilendirme için bildirimler kullanır) |
Roller | Kaynak sahibi, kaynak sunucusu, istemci (uygulama) ve yetkilendirme sunucusu | Kimlik Sağlayıcısı (IdP) ve Hizmet Sağlayıcısı (SP) |
Kullanılan Belirteç | Erişim Belirteci (kısa ömürlü, isteğe bağlı yenileme belirteci) | SAML Bildirimi (imzalı XML belgesi) |
Güvenlik Odağı | Kimlik bilgilerini paylaşmayı ortadan kaldırır ve sınırlı kapsamlı erişim belirteçlerine sahiptir. | Dijital imzalar ve güvenli iletişim. |
Faydaları | Geliştirilmiş güvenlik, ayrıntılı erişim kontrolü ve standartlaştırılmış çerçeve | Merkezi kimlik doğrulama, geliştirilmiş güvenlik, ölçeklenebilirlik ve standardizasyon. |
İş Akışı | Yetkilendirme akışına bağlı olarak değişir (Yetkilendirme Kodu İzni gibi). | Kullanıcı -> SP -> IdP -> SP (SAML Bildirimi ile) |
Şunlar için uygundur: | API'leri korumak, belirli kaynaklara Erişim izni vermek. | Birden fazla uygulama genelinde merkezi kimlik doğrulama. |
Apidog - En Sevdiğiniz Kimlik Doğrulama Çerçevesini Uygulayın
API araçları, uygun API geliştirmede ayrılmaz bir parçadır. Geliştiricilerin tüm API yaşam döngüsü üzerinde kontrole sahip olması için mükemmel bir API aracı Apidog olacaktır.

Apidog ile OAuth 2.0'ı Uygulama
OAuth 2.0 kimlik doğrulamasını yeni yapılan isteğe nasıl uygulayabileceğimizi inceleyelim.

Yeni bir istek oluşturduktan sonra, yukarıdaki resimde görüldüğü gibi OAuth 2.0 kimlik doğrulama türünü seçin.
Apidog Kullanarak API Uç Noktalarını Test Etme
API geliştirme aşamasında yapılan her değişiklikten sonra, API'nin hala amaçlandığı gibi çalıştığından emin olmamız gerekir. Apidog ile her API'nin uç noktasını test edebilirsiniz.

Doğru API uç noktasını hedeflemek için, önce test etmek istediğiniz ilgili API uç noktasını eklemeniz gerekir. Hedeflenen API URL'sini ekledikten sonra, uç nokta için kullanmak istediğiniz parametreleri ekleyin (varsa).
Hala bir API uç noktasının nasıl test edileceği konusunda emin değilseniz, bu makaleyi okuyun!

Sonuç
Hem OAuth 2.0 hem de SAML hayati roller oynar. OAuth 2.0, API'lere erişimi titizlikle kontrol etme yeteneğiyle parlar. Uygulamaların kullanıcı kimlik bilgilerini saklamasına gerek kalmamasını sağlayarak ve hangi kaynaklara erişilebileceği üzerinde ayrıntılı kontrol sunarak, OAuth 2.0, API güvenliği güvenlik açıkları için saldırı yüzeyini önemli ölçüde azaltır.
SAML, web uygulamaları için SSO aracılığıyla kullanıcı deneyimini basitleştirmede mükemmel olurken, doğrudan API erişim kontrolünü ele almaz. Bu nedenle, API'leri güvence altına almak ve ayrıntılı erişim kontrolü sağlamak için, OAuth 2.0 tartışmasız şampiyon olarak duruyor. API güvenliğine ve standartlaştırılmış yaklaşıma odaklanması, onu modern uygulama ekosistemlerinde değerli kaynakları korumak için ideal seçim haline getiriyor.
```