Proteggi il tuo gateway con AWS WAF
Puoi usare AWS WAF con Amazon Bedrock AgentCore Gateway per proteggere il tuo gateway da exploit web, traffico bot e attacchi volumetrici. AWS WAF fornisce un livello di sicurezza in linea che valuta tutte le richieste in entrata prima che raggiungano i tuoi obiettivi.
Quando si associa una lista di controllo degli accessi Web AWS WAF (Web ACL) al gateway, AWS WAF ispeziona ogni richiesta in entrata e applica le regole configurate. Le richieste che corrispondono a una regola di blocco vengono rifiutate prima di raggiungere qualsiasi obiettivo. È possibile associare un ACL Web a livello di gateway, a un ACL Web per gateway.
In che modo AWS WAF funziona con il tuo gateway
Quando si associa un ACL Web al gateway, si verifica il seguente flusso di richieste:
-
Un client invia una richiesta all'endpoint del gateway.
-
AWS WAF valuta la richiesta in base alle regole dell'ACL web associato.
-
Se la richiesta è consentita, il gateway la indirizza alla destinazione appropriata.
-
Se la richiesta è bloccata, il gateway restituisce un errore al client senza inoltrare la richiesta.
AWS WAF valuta ogni richiesta in entrata in linea. Quando nessun ACL web è associato al gateway, non vi è alcun sovraccarico e non viene effettuata alcuna valutazione WAF. AWS
Prerequisiti
Prima di associare un ACL web al gateway, assicuratevi di soddisfare i seguenti requisiti:
-
L'ACL web AWS WAF deve esistere nella stessa AWS regione del gateway.
-
È necessario utilizzare un ACL web regionale. CloudFront Gli ACL web (globali) non sono supportati.
-
Il gateway deve essere attivo
READY. -
La tua identità IAM deve disporre delle seguenti autorizzazioni:
-
wafv2:AssociateWebACL -
wafv2:DisassociateWebACL -
wafv2:GetWebACLForResource -
wafv2:ListResourcesForWebACL -
bedrock-agentcore:GatewayAssociateWebACL -
bedrock-agentcore:GatewayDisassociateWebACL -
bedrock-agentcore:GatewayGetWebACLForResource -
bedrock-agentcore:GatewayListResourcesForWebACL
-
Associazione di un ACL web al gateway
È possibile associare un ACL Web al gateway utilizzando la console AWS WAF o la CLI AWS . Un gateway può avere al massimo un ACL web. Tuttavia, un ACL web può essere associato a più gateway. Per modificare l'ACL Web associato al gateway, associa un nuovo ACL Web. La nuova associazione sostituisce quella esistente.
Per associare un ACL Web al gateway utilizzando la AWS CLI, esegui il comando seguente:
aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:regional/webacl/my-web-acl/a1b2c3d4-5678-90ab-cdef-example11111 \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id
Sostituisci i valori ARN con il tuo ARN ACL web e l'ARN del gateway.
Dissociazione di un ACL Web dal gateway
Per rimuovere la protezione AWS WAF dal gateway, dissocia l'ACL web. È necessario dissociare qualsiasi ACL Web dal gateway prima di poter eliminare il gateway.
Per dissociare un ACL Web dal gateway utilizzando la AWS CLI, esegui il comando seguente:
aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id
Sostituisci il valore ARN con il tuo gateway ARN.
Configurazione della AWS modalità di errore WAF
Se il AWS WAF non è raggiungibile o scade durante la valutazione della richiesta, il gateway utilizza la modalità di errore configurata per determinare se bloccare o consentire la richiesta.
-
FAIL_CLOSE -
Il gateway blocca la richiesta. Questo è il comportamento che segue di default.
-
FAIL_OPEN -
Il gateway consente alla richiesta di pervenire alla destinazione senza la valutazione AWS WAF.
Per configurare la modalità di errore, utilizza l'UpdateGatewayAPI con il wafConfiguration parametro:
aws bedrock-agentcore-control update-gateway \ --gateway-identifier my-gateway-id \ --name my-gateway \ --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/my-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }' \ --waf-configuration '{"failureMode": "FAIL_OPEN"}'
Importante
La modalità di errore predefinita èFAIL_CLOSE, che fornisce un approccio incentrato sulla sicurezza. Utilizzala FAIL_OPEN solo quando la disponibilità è più importante della sicurezza per il tuo carico di lavoro.
AWS Gestione della risposta WAF
Quando AWS WAF blocca una richiesta, la risposta all'errore dipende dal tipo di destinazione:
- Obiettivi MCP
-
Le richieste bloccate restituiscono un JSON-RPC errore con il codice
-32002e il messaggio"Authorization error - Request forbidden". - Obiettivi HTTP e passthrough
-
Le richieste bloccate restituiscono HTTP 403.
Se il timeout AWS WAF è FAIL_CLOSE configurato, il gateway restituisce lo stesso errore di una richiesta bloccata. Se AWS WAF restituisce un errore 5xx, le destinazioni MCP ricevono un JSON-RPC errore con il codice -32603 e il messaggio. "Internal error - Server error"
Monitoraggio AWS Attività WAF
Puoi monitorare l'attività AWS WAF per il tuo gateway utilizzando i CloudWatch parametri di Amazon.
Le seguenti metriche sono disponibili nel namespace: AWS/Bedrock-AgentCore
| Metrica | Description |
|---|---|
|
|
Il numero di richieste bloccate da AWS WAF, incluse le risposte ai blocchi predefinite e personalizzate. |
|
|
Il numero di richieste in cui il AWS WAF non era raggiungibile e la modalità di errore del gateway è pari a zero |
|
|
Il numero di richieste in cui il AWS WAF non era raggiungibile e la modalità di errore del gateway è pari a zero, quindi la richiesta è |
Per ottenere dettagli a livello di regola sulle richieste bloccate, utilizza la registrazione WAF. AWS È possibile correlare l'ID della richiesta nei log del gateway con i log WAF. AWS
Quote e limiti
Le seguenti quote e limitazioni si applicano all'integrazione AWS WAF con il gateway:
-
Massimo 100 associazioni ACL Web per account.
-
AWS L'associazione WAF è solo a livello di gateway, non per destinazione. Per applicare regole diverse a obiettivi diversi, utilizza le regole WAF basate su percorsi AWS URI.
-
AWS L'integrazione WAF è disponibile AWS nelle regioni in cui sono disponibili sia AWS WAF che Gateway. AgentCore
Best practice
Consigliamo le seguenti pratiche quando si utilizza AWS WAF con il gateway:
-
Utilizza i gruppi di regole AWS Managed Rules per protezioni comuni contro le minacce note.
-
Implementa regole basate sulla frequenza per proteggerti dagli attacchi volumetrici.
-
Utilizza IP-based le regole per consentire o negare l'elenco delle fonti note.
-
Prova le regole AWS WAF in
COUNTmodalità prima di passareBLOCKa per comprendere l'impatto sul traffico. -
Monitora
WafBlocksWafFailOpensleWafFailClosesmetriche e per ottimizzare le regole e identificare i problemi. -
Utilizza la
FAIL_CLOSEmodalità predefinita per carichi di lavoro sensibili alla sicurezza. UtilizzalaFAIL_OPENsolo quando la disponibilità è fondamentale e disponi di altri controlli di sicurezza.