Questa pagina contiene informazioni sulla configurazione dell'analisi dei contenuti del corpo POST, una funzionalità facoltativa che puoi utilizzare con le tue policy di sicurezza Google Cloud Armor.
Per impostazione predefinita, Google Cloud Armor valuta l'intero contenuto di un corpo POST come stringa uniforme (soggetta a limitazioni delle dimensioni del corpo) rispetto alle firme nelle regole WAF preconfigurate. Per le richieste che contengono codifica alternativa come JSON, i componenti strutturali del messaggio (non specificati dall'utente) possono attivare corrispondenze con le firme WAF preconfigurate. Per evitare rumore e ridurre il rischio di falsi positivi, ti consigliamo di configurare Google Cloud Armor in modo da attivare l'analisi alternativa per qualsiasi tipo di contenuti supportato se i tuoi carichi di lavoro protetti:
- Servire API REST
- Utilizzare GraphQL
- Ricevi tutte le richieste con contenuti codificati in formato JSON.
Puoi abilitare o disabilitare l'analisi dei contenuti del corpo JSON delle richieste POST per
ogni policy di sicurezza. Quando l'intestazione Content-Type
è impostata su
application/json
, utilizza il flag --json-parsing
in Google Cloud CLI.
Per impostazione predefinita, questa opzione è disattivata. Di seguito è riportata la sintassi del flag:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
Il flag è disponibile solo con gcloud compute security-policies update
. Non puoi creare una nuova policy di sicurezza con questa opzione, a meno che tu non crei una policy di sicurezza in un file e poi importi il file. Per ulteriori informazioni, vedi
Importare le norme di sicurezza.
Utilizza l'analisi JSON
Nell'esempio seguente, configuri un elenco di valori di intestazione Content-Type
personalizzati per i quali viene applicata l'analisi alternativa. L'esempio aggiorna la
policy di sicurezza POLICY_NAME
per attivare l'analisi JSON e specifica i
tipi di contenuti application/json
, application/vnd.api+json
,
application/vnd.collection+json
e application/vnd.hyper+json
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD \ --json-custom-content-types "application/json,application/vnd.api+json,application/vnd.collection+json,application/vnd.hyper+json"
Utilizzare l'analisi GraphQL
Per configurare l'analisi GraphQL, aggiorna la policy di sicurezza impostando il
flag --json-parsing
su STANDARD_WITH_GRAPHQL
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD_WITH_GRAPHQL
Logging
Ogni richiesta HTTP(S) valutata in base a un criterio di sicurezza Google Cloud Armor viene registrata tramite Cloud Logging. I log forniscono dettagli, ad esempio il nome della norma di sicurezza applicata, la regola corrispondente e se la regola è stata applicata. Il logging delle richieste per le nuove risorse del servizio di backend è disattivato per impostazione predefinita. Per registrare le richieste Google Cloud Armor, devi attivare l'impostazione di logging HTTP(S) per ogni servizio di backend protetto da un criterio di sicurezza. Per ulteriori informazioni, consulta Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno globale.
Limitazioni
Tieni presenti le seguenti limitazioni durante la configurazione dell'analisi JSON:
Per impostazione predefinita, Google Cloud Armor ispeziona il corpo
HTTP POST
fino ai primi 8 kB. Puoi configurare questo limite su 8 kB, 16 kB, 32 kB, 48 kB o 64 kB. Se i contenuti JSON sono più grandi del limite di ispezione configurato, Google Cloud Armor applica l'analisi JSON fino a questo limite, che viene poi ispezionato da una delle regole WAF preconfigurate.Per ulteriori informazioni sulla configurazione del limite di ispezione per il corpo della richiesta quando utilizzi regole WAF preconfigurate, consulta Limitazione dell'ispezione del corpo delle richieste POST e PATCH.
Se l'analizzatore JSON non restituisce alcun risultato, potrebbe essere tentata l'analisi dell'URI. Se il parser URI non restituisce parametri nome-valore o solo parametri nome-valore parziali, la stringa intera o parziale potrebbe essere trattata come nome del parametro per l'ispezione.