← Cloudflare API Shield / api-shield / security
Sequence Analytics
Sequence Analytics v průběhu času sleduje pořadí požadavků na endpointy API, díky čemuž zjistíte, jak uživatelé s vaším API pracují. Sequence Analytics seskupuje a zvýrazňuje důležité cesty uživatelů (sekvence) napříč vaším API. Preferované sekvence můžete vynutit pomocí Sequence mitigation.
Proces
Sestavování sekvencí
Sekvence je časově seřazený seznam požadavků HTTP API, které odešle konkrétní návštěvník při procházení webu, používání mobilní aplikace nebo komunikaci s partnerem B2B přes API.
Například část sekvence provedené během bankovního převodu prostředků může vypadat takto:
| Pořadí | Metoda | Cesta | Popis |
|---|---|---|---|
| 1 | GET |
/api/v1/users/{user_id}/accounts |
user_id je aktivní uživatel. |
| 2 | GET |
/api/v1/accounts/{account_id}/balance |
account_id je jeden z účtů uživatele. |
| 3 | GET |
/api/v1/accounts/{account_id}/balance |
account_id je jiný účet patřící danému uživateli. |
| 4 | POST |
/api/v1/transferFunds |
Obsahuje tělo požadavku, které specifikuje účet, ze kterého se mají prostředky převést, účet, na který se mají převést, a částku, která se má převést. |
API Shield využívá vaše nakonfigurované identifikátor relace a operace v full nebo candidate stav a sestavit sadu seřazených API operací (HTTP host, metoda a cesta) vyžádaných za jednotlivé relace. API Shield může zobrazit sekvence různých délek podle toho, jak je vyhodnotí.
Skórování sekvencí
API Shield hodnotí sekvence pomocí metriky nazvané precedence score. Sequence Analytics zobrazuje sekvence podle nejvyššího precedence score. Sekvence s vysokým skóre obsahují požadavky API, které se pravděpodobně vyskytují společně a v daném pořadí.
Ve výše uvedeném příkladu vysoké skóre znamená, že poslední operace v sekvenci POST /api/v1/transferFunds je s vysokou pravděpodobností předcházeno ostatními operacemi v sekvenci GET /api/v1/users/{user_id}/accounts a za ním GET /api/v1/accounts/{account_id}/balance. Skóre představují pravděpodobnosti, které API Shield odhaduje na základě dat za posledních 24 hodin.
Zabezpečte své API
Chcete-li své API proaktivně zabezpečit, měli byste zkontrolovat sekvence s nejvyšším skóre. U každé sekvence s vysokým skóre byste si měli s vývojovým týmem ověřit, zda finální operaci v sekvenci musí vždy legitimně předcházet ostatní operace v této sekvenci.
Ve výše uvedeném příkladu, pokud POST /api/v1/transferFunds musí být za normálních okolností vždy předcházeno GET /api/v1/users/{user_id}/accounts a GET /api/v1/accounts/{account_id}/balance, měli byste vytvořit Allow pravidlo ve zmírňování sekvencí na poslední operaci sekvence.
Zvažte také nasazení dalších ochran API Shield na tyto koncové body (návrhy pro rate limiting, Ověřování schématu, Ověřování JWT, a mTLS).
Další informace naleznete v blogový příspěvek ↗.
Opakující se sekvence
Reálné využití API vykazuje mnoho po sobě jdoucích opakování téže operace. Aby se daly snáze prozkoumávat, Sequence Analytics tato po sobě jdoucí opakování sloučí do jedné položky.
Dostupnost
Sequence Analytics je k dispozici všem zákazníkům API Shield. Zákazníci s tarify Pro, Business a Enterprise, kteří si API Shield nezakoupili, mohou začít tak, že aktivace zkušební verze API Shield ↗ v Cloudflare dashboardu nebo se obraťte na svého account manažera.
Omezení
Sequence Analytics aktuálně vyžaduje identifikátor relace a operace, které dokáže API Shield rozpoznat na okraji sítě. Ujistěte se, že máte nastavte si identifikátor(y) relace a zkontrolovali jste své operace v full a candidate stavy v Webová aktiva.
Sekvence jsou v současné době omezeny na délku devíti operací.