Eseguire l'integrazione con Google Cloud Armor per i siti web

Questo documento mostra come integrare reCAPTCHA per WAF con Google Cloud Armor sui siti web.

Per completare l'integrazione, devi implementare una o più funzionalità di reCAPTCHA per WAF e configurare i criteri di sicurezza di Google Cloud Armor.

Prima di iniziare

  1. Abilita l'API reCAPTCHA Enterprise.

    Enable the API

  2. Pianifica come implementare le funzionalità di reCAPTCHA per WAF per proteggere il tuo sito web.

    1. Scegli una o più funzionalità WAF che corrispondono meglio al tuo caso d'uso.
    2. Identifica le pagine che vuoi proteggere e il tipo di funzionalità WAF che vuoi implementare in queste pagine.

Implementare le funzionalità di reCAPTCHA per WAF

A seconda dei tuoi requisiti, puoi utilizzare una o più funzionalità di reCAPTCHA per WAF in una singola applicazione.

Se vuoi utilizzare più di una funzionalità, devi creare una chiave reCAPTCHA per ciascuna di queste funzionalità e utilizzarle nella tua applicazione. Ad esempio, se vuoi utilizzare i token di azione reCAPTCHA e la pagina di verifica reCAPTCHA, devi creare una chiave token di azione e una chiave pagina di verifica e utilizzarle nella tua applicazione.

Implementare i token di azione reCAPTCHA

Per generare token di azione, devi aver eseguito reCAPTCHA nelle tue pagine web. Dopo che reCAPTCHA genera un token di azione, lo colleghi a un'intestazione della richiesta predefinita ovunque tu debba proteggere un'azione dell'utente, ad esempio checkout. Per impostazione predefinita, i token di azione sono validi per 30 minuti, ma possono variare a seconda del traffico. Devi allegare il token di azione a un'intestazione della richiesta predefinita prima della scadenza del token, in modo che Google Cloud Armor possa valutare gli attributi del token.

Per implementare un token di azione reCAPTCHA:

  1. Crea una chiave per token di azione per il tuo sito web.

    console Cloud

    1. Nella console Google Cloud , vai alla pagina reCAPTCHA.

      Vai a reCAPTCHA

    2. Verifica che il nome del tuo progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.

      Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, poi seleziona il tuo progetto.

    3. Fai clic su Crea chiave.
    4. Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
    5. A seconda della piattaforma per cui vuoi creare chiavi reCAPTCHA per WAF, esegui l'azione appropriata:
      1. Per Tipo di applicazione, seleziona Web.

        Viene visualizzata la sezione Elenco domini.

      2. Inserisci il nome di dominio del tuo sito web:

        1. Nella sezione Elenco domini, fai clic su Aggiungi un dominio.
        2. Nel campo Dominio, inserisci il nome del tuo dominio.
        3. (Facoltativo) Per aggiungere un altro dominio, fai clic su Aggiungi un dominio e inserisci il nome di un altro dominio nel campo Dominio. Puoi aggiungere fino a un massimo di 250 domini.

          Per i siti web, la chiave reCAPTCHA è univoca per i domini e i sottodomini che specifichi. Puoi specificare più di un dominio se il tuo sito web viene pubblicato da più domini. Se specifichi un dominio (ad esempio examplepetstore.com), non devi specificarne i sottodomini (ad esempio, subdomain.examplepetstore.com).

      3. In Impostazioni aggiuntive, attiva il pulsante di attivazione/disattivazione Implementerai questa chiave in un firewall per applicazioni web (WAF)?.
      4. Dalle opzioni Funzionalità, seleziona Azione.

      5. (Facoltativo) Attiva l'opzione Utilizzerai le verifiche?.

      6. Fai clic su Crea chiave.
      7. La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.

    gcloud

    Per creare chiavi reCAPTCHA, utilizza il comando gcloud recaptcha keys create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
    • INTEGRATION_TYPE: Tipo di integrazione. Specifica score o checkbox.
    • DOMAIN_NAME: i domini o i sottodomini dei siti web autorizzati a utilizzare la chiave.

      Specifica più domini come elenco separato da virgole. (Facoltativo) Specifica --allow-all-domains per disattivare la verifica del dominio.

      La disattivazione della verifica del dominio è un rischio per la sicurezza perché non ci sono restrizioni sul sito, quindi chiunque può accedere e utilizzare la chiave reCAPTCHA.

    • WAF_FEATURE: il nome della funzionalità WAF. Specifica action-token.
    • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

    Esegui il comando gcloud recaptcha keys create:

    Linux, macOS o Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    La risposta contiene la chiave reCAPTCHA appena creata.

    REST

    Per informazioni di riferimento sull'API relative ai tipi di chiavi e di integrazione, vedi Key e Integration type.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
    • INTEGRATION_TYPE: Tipo di integrazione. Specifica score o checkbox.
    • DOMAIN_NAME: i domini o i sottodomini dei siti web autorizzati a utilizzare la chiave.

      Specifica più domini come elenco separato da virgole. (Facoltativo) Specifica --allow-all-domains per disattivare la verifica del dominio.

      La disattivazione della verifica del dominio è un rischio per la sicurezza perché non ci sono restrizioni sul sito, quindi chiunque può accedere e utilizzare la chiave reCAPTCHA.

    • WAF_FEATURE: il nome della funzionalità WAF. Specifica action-token.
    • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

    Metodo HTTP e URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Corpo JSON della richiesta:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "TYPE_OF_INTEGRATION"
       }
       
    }
    

    Per inviare la richiesta, scegli una di queste opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "ACTION_TOKEN"
      
    
    }
    }
    
    

  2. Integra JavaScript reCAPTCHA nelle tue pagine web con la chiave del token di azione che hai creato. Per istruzioni, consulta il documento corrispondente al tipo di integrazione della chiave del token di azione.

  3. Dopo aver ricevuto il token da reCAPTCHA, allegalo a un'intestazione della richiesta predefinita nel seguente formato:

     X-Recaptcha-Token: value-of-your-action-token
    

    Puoi utilizzare linguaggi come XHR, Ajax o Fetch API per allegare il token a un'intestazione di richiesta predefinita.

    Il seguente script di esempio mostra come proteggere l'azione execute e allegare il token a un'intestazione della richiesta predefinita utilizzando JavaScript + XHR:

      
      <script>
        src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_KEY"></script>
    
        <script>
        function onSuccess(action_token) {
             const xhr = new XMLHttpRequest();
             xhr.open('GET','YOUR_URL', false);
             // Attach the action-token to the predefined request header
             xhr.setRequestHeader("X-Recaptcha-Token", action_token);
             xhr.send(null);
           }
           function onError(reason) {
             alert('Response promise rejected: ' + reason);
           grecaptcha.enterprise.ready(function () {
             document.getElementById("execute-button").onclick = () => {
               grecaptcha.enterprise.execute('ACTION_TOKEN_KEY', {
               }).then(onSuccess, onError);
             };
           });
          }
        </script>
      
      

Implementare i token di sessione reCAPTCHA

Dopo la valutazione, il codice JavaScript reCAPTCHA imposta un token di sessione reCAPTCHA come cookie nel browser dell'utente finale. Il browser dell'utente finale allega il cookie e lo aggiorna finché JavaScript reCAPTCHA rimane attivo.

Per fornire un token di sessione come cookie, installa una chiave del token di sessione in almeno una delle tue pagine web che soddisfano i seguenti requisiti:

  • La pagina web deve essere quella che l'utente finale visita prima della pagina che deve essere protetta. Ad esempio, se vuoi proteggere la pagina di pagamento, installa una chiave token di sessione nella home page o nella pagina di prodotto.
  • La pagina web è protetta da un criterio di sicurezza di Google Cloud Armor.

Puoi utilizzare questo cookie per proteggere le richieste successive e i caricamenti di pagina dell'utente finale su un dominio specifico. I token di sessione sono validi per 30 minuti per impostazione predefinita. Tuttavia, se l'utente finale rimane sulla pagina in cui hai implementato il token di sessione, reCAPTCHA aggiorna periodicamente il token di sessione per impedirne la scadenza.

Installa i token di sessione in ogni pagina che deve essere protetta da reCAPTCHA. Ti consigliamo di proteggere ogni pagina con reCAPTCHA e di utilizzare le regole di Google Cloud Armor per applicare l'accesso a tutte le pagine, ad eccezione della prima pagina che gli utenti finali visitano.

Di seguito è riportato un esempio di token di sessione reCAPTCHA:
   recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time

Per implementare un token di sessione reCAPTCHA:

  1. Crea una chiave per token di sessione per il tuo sito web.

    console Cloud

    1. Nella console Google Cloud , vai alla pagina reCAPTCHA.

      Vai a reCAPTCHA

    2. Verifica che il nome del tuo progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.

      Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, poi seleziona il tuo progetto.

    3. Fai clic su Crea chiave.
    4. Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
    5. A seconda della piattaforma per cui vuoi creare chiavi reCAPTCHA per WAF, esegui l'azione appropriata:
      1. Per Tipo di applicazione, seleziona Web.

        Viene visualizzata la sezione Elenco domini.

      2. Inserisci il nome di dominio del tuo sito web:

        1. Nella sezione Elenco domini, fai clic su Aggiungi un dominio.
        2. Nel campo Dominio, inserisci il nome del tuo dominio.
        3. (Facoltativo) Per aggiungere un altro dominio, fai clic su Aggiungi un dominio e inserisci il nome di un altro dominio nel campo Dominio. Puoi aggiungere fino a un massimo di 250 domini.

          Per i siti web, la chiave reCAPTCHA è univoca per i domini e i sottodomini che specifichi. Puoi specificare più di un dominio se il tuo sito web viene pubblicato da più domini. Se specifichi un dominio (ad esempio examplepetstore.com), non devi specificarne i sottodomini (ad esempio, subdomain.examplepetstore.com).

      3. In Impostazioni aggiuntive, attiva il pulsante di attivazione/disattivazione Implementerai questa chiave in un firewall per applicazioni web (WAF)?.
      4. Dalle opzioni Funzionalità, seleziona Sessione.

      5. (Facoltativo) Attiva Disattiva verifica dominio.

        La disattivazione della verifica del dominio è un rischio per la sicurezza perché non ci sono restrizioni sul sito, quindi chiunque può accedere e utilizzare la chiave reCAPTCHA.

      6. Fai clic su Crea chiave.
      7. La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.

    gcloud

    Per creare chiavi reCAPTCHA, utilizza il comando gcloud recaptcha keys create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
    • INTEGRATION_TYPE: Tipo di integrazione. Specifica score.
    • DOMAIN_NAME: Domini o sottodomini di siti web autorizzati a utilizzare la chiave.

      Specifica più domini come elenco separato da virgole. (Facoltativo) Specifica --allow-all-domains per disattivare la verifica del dominio.

      La disattivazione della verifica del dominio è un rischio per la sicurezza perché non ci sono restrizioni sul sito, quindi chiunque può accedere e utilizzare la chiave reCAPTCHA.

    • WAF_FEATURE: il nome della funzionalità WAF. Specifica session-token.
    • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

    Esegui il comando gcloud recaptcha keys create:

    Linux, macOS o Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    La risposta contiene la chiave reCAPTCHA appena creata.

    REST

    Per informazioni di riferimento sull'API relative ai tipi di chiavi e di integrazione, vedi Key e Integration type.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
    • INTEGRATION_TYPE: Tipo di integrazione. Specifica score.
    • DOMAIN_NAME: Domini o sottodomini di siti web autorizzati a utilizzare la chiave.

      Specifica più domini come elenco separato da virgole. (Facoltativo) Specifica --allow-all-domains per disattivare la verifica del dominio.

      La disattivazione della verifica del dominio è un rischio per la sicurezza perché non ci sono restrizioni sul sito, quindi chiunque può accedere e utilizzare la chiave reCAPTCHA.

    • WAF_FEATURE: il nome della funzionalità WAF. Specifica session-token.
    • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

    Metodo HTTP e URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Corpo JSON della richiesta:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "TYPE_OF_INTEGRATION"
       }
       
    }
    

    Per inviare la richiesta, scegli una di queste opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "SESSION_TOKEN"
    
    
    }
    }
    
    

  2. Aggiungi la chiave session-token e waf=session al codice JavaScript di reCAPTCHA.

    Il seguente script di esempio mostra come implementare un token di sessione in una pagina web:

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>reCAPTCHA WAF Session Token</title>
     <script src="https://www.google.com/recaptcha/enterprise.js?render=SESSION_TOKEN_KEY&waf=session" async defer></script>
     <body></body>
    </head>
    </html>

Implementare una pagina di verifica reCAPTCHA

Quando implementi una pagina di verifica reCAPTCHA, reCAPTCHA reindirizza a una pagina interstiziale in cui determina se è necessario mostrare una verifica CAPTCHA a un utente. Pertanto, i test CAPTCHA potrebbero non essere visibili a tutti gli utenti.

Per implementare una pagina di verifica reCAPTCHA, crea una chiave di pagina di verifica per il tuo sito web.

console Cloud

  1. Nella console Google Cloud , vai alla pagina reCAPTCHA.

    Vai a reCAPTCHA

  2. Verifica che il nome del tuo progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.

    Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, poi seleziona il tuo progetto.

  3. Fai clic su Crea chiave.
  4. Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
  5. A seconda della piattaforma per cui vuoi creare chiavi reCAPTCHA per WAF, esegui l'azione appropriata:
    1. Per Tipo di applicazione, seleziona Web.
    2. In Impostazioni aggiuntive, attiva il pulsante di attivazione/disattivazione Implementerai questa chiave in un firewall per applicazioni web (WAF)?.
    3. Nelle opzioni Funzionalità, seleziona Verifica.

    4. Attiva l'opzione Disattiva verifica dominio.

      Quando disattivi la verifica del dominio per le chiavi della pagina di verifica, Google Cloud Armor verifica il dominio.

    5. Fai clic su Crea chiave.
    6. La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.

gcloud

Per creare chiavi reCAPTCHA, utilizza il comando gcloud recaptcha keys create.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
  • INTEGRATION_TYPE: Tipo di integrazione. Specifica invisible.
  • DOMAIN_NAME: i domini o i sottodomini dei siti web autorizzati a utilizzare la chiave. Specifica --allow-all-domains.
  • WAF_FEATURE: il nome della funzionalità WAF. Specifica challenge-page.
  • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

Esegui il comando gcloud recaptcha keys create:

Linux, macOS o Cloud Shell

gcloud recaptcha keys create \
--web \
--display-name=DISPLAY_NAME  \
--integration-type=INTEGRATION_TYPE \
--domains=DOMAIN_NAME \
--waf-feature=WAF_FEATURE \
--waf-service=WAF_SERVICE

Windows (PowerShell)

gcloud recaptcha keys create `
--web `
--display-name=DISPLAY_NAME  `
--integration-type=INTEGRATION_TYPE `
--domains=DOMAIN_NAME `
--waf-feature=WAF_FEATURE `
--waf-service=WAF_SERVICE

Windows (cmd.exe)

gcloud recaptcha keys create ^
--web ^
--display-name=DISPLAY_NAME  ^
--integration-type=INTEGRATION_TYPE ^
--domains=DOMAIN_NAME ^
--waf-feature=WAF_FEATURE ^
--waf-service=WAF_SERVICE

La risposta contiene la chiave reCAPTCHA appena creata.

REST

Per informazioni di riferimento sull'API relative ai tipi di chiavi e di integrazione, vedi Key e Integration type.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • DISPLAY_NAME: il nome della chiave. In genere il nome di un sito.
  • INTEGRATION_TYPE: Tipo di integrazione. Specifica invisible.
  • DOMAIN_NAME: i domini o i sottodomini dei siti web autorizzati a utilizzare la chiave. Specifica --allow-all-domains.
  • WAF_FEATURE: il nome della funzionalità WAF. Specifica challenge-page.
  • WAF_SERVICE: Nome del fornitore di servizi WAF. Specifica CA per Google Cloud Armor.

Metodo HTTP e URL:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Corpo JSON della richiesta:


{
  "displayName": "DISPLAY_NAME",
   'wafSettings': "  {
       "wafService": "WAF_SERVICE",
  
"wafFeature": "WAF_FEATURE"
  }
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "TYPE_OF_INTEGRATION"
   }
   
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:


{
  "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
"displayName": "DISPLAY_NAME,

"webSettings": {
  "allowAllDomains": true,
  "allowedDomains": [
    "localhost"
  ],

  "integrationType": "INVISIBLE",
 

},
"wafSettings": {
  "wafService": "CA",

  "wafFeature": "CHALLENGE_PAGE"
  

}
}

Configura i criteri di sicurezza di Google Cloud Armor

Dopo aver implementato le funzionalità di reCAPTCHA per WAF, devi configurare i criteri di sicurezza di Google Cloud Armor per la gestione dei bot.

Se hai implementato una pagina di verifica reCAPTCHA, devi fare quanto segue:

  1. Associa la chiave della pagina di verifica alla tua policy di sicurezza.
  2. Configura una regola del criterio di sicurezza per reindirizzare una richiesta di valutazione reCAPTCHA.

Se hai implementato token di azione o di sessione reCAPTCHA, devi configurare una regola dei criteri di sicurezza che valuti i token reCAPTCHA.

Prima di configurare i criteri di sicurezza di Google Cloud Armor, comprendi gli attributi del token reCAPTCHA per Google Cloud Armor.

Per scoprire come configurare i criteri di sicurezza di Google Cloud Armor e utilizzare le chiavi reCAPTCHA per WAF con i tuoi criteri di sicurezza, consulta Configurare le regole per la gestione dei bot.

Recupero dei punteggi reCAPTCHA

Per i token di azione e di sessione reCAPTCHA, puoi ottenere i punteggi reCAPTCHA dall'intestazione X-Recaptcha-Wafdata. In base a questi punteggi, puoi configurare qualsiasi azione personalizzata da intraprendere per le richieste degli utenti.

L'esempio seguente mostra un'intestazione X-Recaptcha-Wafdata di esempio:

X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n

Puoi anche visualizzare i punteggi reCAPTCHA nei log di Google Cloud Armor.

Passaggi successivi