API'deki Değişiklikleri İzleme
¶
API'nizde değişiklikler meydana gelirse, API Discovery oluşturulmuş API envanterini günceller, değişiklikleri vurgular ve ne zaman neyin değiştiği hakkında size bilgi verir. Ayrıca, tüm ya da bazı değişiklikler için bildirimler ayarlayabilirsiniz.
Şirketin birkaç ekibi, farklı programlama dilleri ve çeşitli dil framework'leri olabilir. Bu nedenle, API'ye farklı kaynaklardan herhangi bir zamanda değişiklik gelebilir, bu da onları kontrol etmeyi zorlaştırır. Güvenlik yetkilileri için, değişiklikleri en kısa sürede tespit etmek ve analiz etmek önemlidir. Kaçırılırsa, bu tür değişiklikler bazı riskler içerebilir, örneğin:
-
Geliştirme ekibi, üçüncü taraf bir kütüphane kullanmaya başlayabilir ve bu kütüphane ayrı bir API'ye sahip olabilir; ancak güvenlik uzmanlarına bildirilmez. Bu şekilde, şirket izlenmeyen ve zafiyetlere karşı kontrol edilmeyen uç noktalar elde eder. Bu uç noktalar potansiyel saldırı alanları olabilir.
-
PII verileri uç noktaya gönderilmeye başlanır. Planlanmamış bir PII aktarımı, düzenleyici gereksinimlere uyum ihlali ve itibar risklerine yol açabilir.
-
İş mantığı açısından önemli bir uç nokta (örneğin,
/login
,/order/{order_id}/payment/
) artık çağrılmaz. -
Uç noktaya gönderilmemesi gereken diğer parametreler, örneğin
is_admin
(birisi uç noktaya erişip yönetici haklarıyla işlem yapmaya çalışır) gönderilmeye başlanır.
API'deki Değişiklikleri Vurgulama¶
Her seferinde API Discovery bölümünü açtığınızda, Changes since filtresi Last week
durumuna geçer; bu da son hafta içinde gerçekleşen değişikliklerin vurgulandığı anlamına gelir. Zaman aralığını değiştirmek için, Changes since filtresindeki tarihleri yeniden tanımlayın.
Uç nokta listesinde, aşağıdaki işaretler API'deki değişiklikleri vurgular:
-
Dönem içinde listeye eklenen uç noktalar için New.
-
Dönem içinde yeni keşfedilen parametreleri veya
Unused
durumunu alan parametreleri olan uç noktalar için Changed. Uç nokta detaylarında bu tür parametrelerin karşılık gelen bir işareti bulunacaktır.- Bir parametre, dönem içinde keşfedilirse
New
durumunu alır. - Bir parametre, 7 gün boyunca herhangi bir veri iletilmediği takdirde
Unused
durumunu alır. - Daha sonra
Unused
durumundaki parametre tekrar veri iletmeye başlarsaUnused
durumunu kaybeder.
- Bir parametre, dönem içinde keşfedilirse
-
Dönem içinde
Unused
durumunu alan uç noktalar için Unused.- Bir uç nokta, 7 gün boyunca (200 kodlu yanıt ile) talep edilmezse
Unused
durumunu alır. - Daha sonra
Unused
durumundaki uç nokta tekrar (200 kodlu yanıt ile) talep edilirseUnused
durumunu kaybeder.
- Bir uç nokta, 7 gün boyunca (200 kodlu yanıt ile) talep edilmezse
Seçilen dönem ne olursa olsun, New, Changed veya Unused işareti ile hiçbir şey vurgulanmıyorsa, bu, o dönem için API'de herhangi bir değişiklik olmadığı anlamına gelir.
Hata olarak işaretlenen uç noktalar için hızlı ipuçları:
-
Değişikliğin ne zaman gerçekleştiğini görmek için New, Changed veya Unused etiketlerinin üzerine fare ile gelin.
-
Bu durumun nedenini görmek için Changed uç nokta detaylarına gidin: New parametreler ve Unused durumunu alan parametreler - parametre değişikliğinin ne zaman gerçekleştiğini görmek için etiketlerin üzerine fare ile gelin.
-
Son 7 gün içinde tüm değişiklik türleri için sayaçlar API Discovery Dashboard sayfasında görüntülenir.
API'deki Değişiklikleri Filtreleme¶
API Discovery bölümünde, Changes since filtresini kullanmak, seçili dönem içinde değişen uç noktaları vurgular, ancak değişiklik olmayan uç noktaları filtrelemez.
Changes in API filtresi ise farklı çalışır ve yalnızca seçili dönem içinde değişen uç noktaları gösterir, diğer tüm uç noktaları filtreler.
Örneği ele alalım: Diyelim ki API'nizde bugün 10 uç nokta var (önceden 12 vardı, fakat 10 gün önce 3'ü Unused
olarak işaretlenmişti). Bu 10 uç noktadan 1'i dün eklenmiş, 2'sinde ise 5 gün önce birinde ve 10 gün önce diğerinde parametre değişiklikleri meydana gelmiş:
-
Bugün her seferinde API Discovery bölümünü açtığınızda, Changes since filtresi
Last week
durumuna geçecektir; sayfada 10 uç nokta görüntülenecektir, Changes sütununda 1 tanesinde New işareti, 1 tanesinde ise Changed işareti olacaktır. -
Changes since filtresini
Last 2 weeks
olarak değiştirin - 13 uç nokta görüntülenecektir, Changes sütununda 1 tanesinde New işareti, 2 tanesinde Changed işareti ve 3 tanesinde Unused işareti olacaktır. -
Changes in API filtresini
Unused endpoints
olarak ayarlayın - 3 uç nokta görüntülenecek, hepsi Unused işareti ile gösterilecektir. -
Changes in API filtresini
New endpoints + Unused endpoints
olarak değiştirin - 4 uç nokta görüntülenecek, 3'ü Unused işaretiyle, 1'i ise New işaretiyle gösterilecektir. -
Changes since filtresini tekrar
Last week
durumuna getirin - 1 uç nokta görüntülenecek, bu uç nokta New işareti ile gösterilecektir.
Bildirim Almak¶
API'deki değişiklikler hakkında e-posta veya mesajlaşma aracınıza anında bildirim almak için, Changes in API koşuluna sahip triggers yapılandırın.
Yeni, değişen veya kullanılmayan uç noktalar hakkında veya tüm bu değişiklikler hakkında mesajlar alabilirsiniz. Ayrıca, bildirimleri, izlemek istediğiniz uygulama veya ana makine ve sunulan hassas veri türüne göre daraltabilirsiniz.
Trigger örneği: Slack'de yeni uç noktalar hakkında bildirim
Bu örnekte, API Discovery modülü tarafından example.com
API ana makinesi için yeni uç noktalar keşfedilirse, bu bildirim yapılandırılmış Slack kanalınıza gönderilecektir.
Trigger'ı test etmek için:
-
Wallarm Console → Integrations bölümüne gidin ve US veya EU bulutunda integration with Slack yapılandırmasını yapın.
-
Triggers bölümünde, yukarıda gösterildiği gibi bir trigger oluşturun.
-
example.com/users
uç noktasına,200
(OK
) yanıtı alana kadar birkaç istek gönderin. -
API Discovery bölümünde, uç noktanızın New işareti ile eklendiğini kontrol edin.
-
Slack kanalınızdaki mesajları kontrol edin, örneğin:
[wallarm] API'nizde yeni bir uç nokta keşfedildi Bildirim türü: api_structure_changed API'nizde yeni GET example.com/users uç noktası keşfedildi. Client: Client 001 Cloud: US Detaylar: application: Application 1802 domain: example.com endpoint_path: /users http_method: GET change_type: added link: https://my.wallarm.com/api-discovery?instance=1802&method=GET&q=example.com%2Fusers