Bu kelimeyi bugünlerde neredeyse her çapraz hizmet uygulamasında görüyorum.
Bir API anahtarı tam olarak nedir ve kullanımları nelerdir?
Ayrıca, genel ve özel API anahtarları arasındaki fark nedir?
Bu kelimeyi bugünlerde neredeyse her çapraz hizmet uygulamasında görüyorum.
Bir API anahtarı tam olarak nedir ve kullanımları nelerdir?
Ayrıca, genel ve özel API anahtarları arasındaki fark nedir?
Yanıtlar:
Bir API anahtarının "tam olarak" ne için kullanıldığı, büyük ölçüde onu kimin verdiğine ve hangi hizmetler için kullanıldığına bağlıdır. Bununla birlikte, genel olarak bir API anahtarı, isteğin kaynağını belirlemek için web hizmeti (veya benzer) talepleriyle birlikte gönderilen bir tür gizli jetona verilen addır. Anahtar, kaynağı daha fazla doğrulamak ve değerlerle oynamayı önlemek için talep içeriğinin bazı özetlerine dahil edilebilir.
Tipik olarak, bir isteğin kaynağını pozitif olarak belirleyebilirseniz, bu, erişim kontrolüne yol açabilecek bir kimlik doğrulama biçimi olarak işlev görür. Örneğin, isteği kimin gerçekleştirdiğine bağlı olarak belirli API eylemlerine erişimi kısıtlayabilirsiniz. Bu tür hizmetleri satarak para kazanan şirketler için, bu aynı zamanda faturalandırma amacıyla kimin bu şeyi kullandığını izlemenin bir yoludur. Dahası, bir anahtarı bloke ederek çok yüksek talep hacimlerinde kötüye kullanımı kısmen önleyebilirsiniz.
Genel olarak, hem genel hem de özel bir API anahtarınız varsa, anahtarların kendilerinin bir tür asimetrik kriptografide veya ilgili dijital imzalamada kullanılan geleneksel bir genel / özel anahtar çifti olduğunu önerir . Bunlar, bir talebin kaynağını pozitif olarak tanımlamak ve ayrıca talebin içeriğini gözetlemeden korumak için (kurcalanmaya ek olarak) daha güvenli tekniklerdir.
Genel olarak konuşursak:
Bir API anahtarı sizi basitçe tanımlar.
Genel / özel bir ayrım varsa, açık anahtar, sizin hakkınızda api'den bazı bilgi alt kümelerini almalarına izin vermek için başkalarına dağıtabileceğiniz bir anahtardır. Özel anahtar yalnızca sizin kullanımınız içindir ve tüm verilerinize erişim sağlar.
Görünüşe göre birçok kişi API anahtarlarını bir güvenlik çözümü olarak kullanıyor. Sonuç olarak: API anahtarlarını asla gizli olmadığı gibi ele almayın . Https'de olsun veya olmasın, isteği okuyabilen herkes API anahtarını görebilir ve istediği çağrıyı yapabilir. Bir API Anahtarı, ssl ile kullanıldığında bile tam bir güvenlik çözümü olmadığı için bir 'kullanıcı' tanımlayıcı olmalıdır.
Daha iyi açıklama Eugene Osovetsky'de şu bağlantıdadır: Çoğu API ile çalışırken, neden iki tür kimlik doğrulamaya ihtiyaç duyuyorlar: bir anahtar ve bir sır? Veya http://nordicapis.com/why-api-keys-are-not-enough/ adresini kontrol edin.
Bir API anahtarı, hizmetin bir kullanıcısı olarak kabul edildiğinde bu hizmetin bir kullanıcısına atanan benzersiz bir değerdir.
Hizmet, verilen tüm anahtarları korur ve her talepte kontrol eder.
Talepte sağlanan anahtara bakarak bir hizmet, bir kullanıcıya erişim izni verip vermemeye karar vermek için bunun geçerli bir anahtar olup olmadığını kontrol eder.
Şöyle düşünün, "Genel API Anahtarı", veritabanınızın bir doğrulama sunucusunda oturum açma olarak kullandığı bir kullanıcı adına benzer. "Özel API Anahtarı" daha sonra şifreye benzer olacaktır. Bu yöntemi kullanan site / veri tabanı ile, sitenizi / veri tabanınızı yayınlama veya düzenleme talebinin doğrulanması için üçüncü taraf / doğrulama sunucusunda güvenlik korunur.
API dizesi, sitenizin / veritabanınızın doğrulama sunucusuyla iletişim kurması için yalnızca oturum açma URL'sidir.