INTEGRITY Dokumentace

Řízení přístupu k mezipaměti pomocí WAF a Snippets

Když zpřístupníte R2 bucket veřejně pro účely ukládání do mezipaměti (pomocí Custom Domain), k obsahu má přístup kdokoli, kdo zná adresu URL. Chcete-li přístup omezit, můžete použít WAF ověřit požadavky předtím, než se dostanou do mezipaměti nebo do vašeho bucketu.

Následující diagram znázorňuje průchod požadavku přes WAF, Cache a R2. Vlastní pravidla WAF se spouštějí před pravidly mezipaměti v pipeline požadavků, takže neplatné požadavky se zablokují dříve, než spotřebují prostředky cache.

flowchart LR
accTitle: Connections with Cloudflare
A[User's request] --> B[WAF] --> C[Cache] --> D[R2]

Presigned URLs

Předpodepsaná adresa URL (presigned URL) je běžná adresa URL, k níž je připojen kryptografický token. Tento token obsahuje kód HMAC (hash-based message authentication code) vypočítaný z cesty URL, časového razítka a tajného klíče sdíleného mezi podepisující službou a validátorem. Kdokoli, kdo danou adresu URL má, může k obsahu přistupovat až do vypršení platnosti tokenu, token ale nelze znovu použít pro jinou cestu URL.

URL adresy můžete predpodepsat (presign) podobně jako S3, což vám umožní sdílet přímý přístup k vašemu obsahu s přidruženým časovým limitem. Tento postup lze implementovat pomocí kombinace Snippets, Rules nebo Cloudflare Workers.

Pro optimální výkon doporučujeme oddělit proces vytváření od procesu ověřování:

V dokumentaci k Workers Podepisování požadavků příklad ukazuje, jak pomocí HMAC vygenerovat i ověřit podepsané požadavky. Implementace ve Workers je kompatibilní s WAF is_timed_hmac_valid_v0() validační funkce, takže můžete podepisovat pomocí Workers a ověřovat pomocí vlastních pravidel WAF, nebo obojí zpracovat ve Workers.