Google Cloud Armor für Websites einbinden

In diesem Dokument erfahren Sie, wie Sie reCAPTCHA for WAF in Google Cloud Armor auf Websites einbinden.

Zum Abschließen der Integration müssen Sie mindestens ein Feature von reCAPTCHA for WAF implementieren und Google Cloud Armor-Sicherheitsrichtlinien konfigurieren.

Hinweise

  1. Aktivieren Sie die reCAPTCHA Enterprise API.

    Enable the API

  2. Planen Sie, wie Sie die Funktionen von reCAPTCHA for WAF zum Schutz Ihrer Website implementieren möchten.

    1. Wählen Sie eine oder mehrere WAF-Funktionen aus, die am besten zu Ihrem Anwendungsfall passen.
    2. Geben Sie die Seiten an, die Sie schützen möchten, und die Art der WAF-Funktion, die Sie auf diesen Seiten implementieren möchten.

Funktionen von reCAPTCHA for WAF implementieren

Je nach Ihren Anforderungen können Sie eine oder mehrere Funktionen von reCAPTCHA for WAF in einer einzelnen Anwendung verwenden.

Wenn Sie mehr als eine Funktion verwenden möchten, müssen Sie für jede dieser Funktionen einen reCAPTCHA-Schlüssel erstellen und in Ihrer Anwendung verwenden. Wenn Sie beispielsweise reCAPTCHA-Aktionstokens und die reCAPTCHA-Abfrageseite verwenden möchten, müssen Sie einen Aktionstokenschlüssel und einen Schlüssel für die Abfrageseite erstellen und in Ihrer Anwendung verwenden.

reCAPTCHA-Aktionstokens implementieren

reCAPTCHA muss auf Ihren Webseiten ausgeführt werden, um Aktionstokens zu generieren. Nachdem reCAPTCHA ein Aktionstoken generiert hat, hängen Sie das Token an einen vordefinierten Anfrageheader an, wo Sie Nutzeraktionen wie checkout schützen müssen. Aktionstokens sind standardmäßig 30 Minuten lang gültig, können aber je nach Traffic variieren. Sie müssen das Aktionstoken vor dem Ablauf des Tokens an einen vordefinierten Anfrageheader anhängen, damit Google Cloud Armor die Tokenattribute auswerten kann.

So implementieren Sie ein reCAPTCHA-Aktionstoken:

  1. Erstellen Sie einen Aktionstoken-Schlüssel für Ihre Website.

    Cloud Console

    1. Rufen Sie in der Google Cloud Console die Seite reCAPTCHA auf.

      Zu reCAPTCHA

    2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl oben auf der Seite angezeigt wird.

      Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.

    3. Klicken Sie auf Schlüssel erstellen.
    4. Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
    5. Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
      1. Wählen Sie im Menü Plattformtyp auswählen die Option Website aus.

        Der Abschnitt Domainliste wird angezeigt.

      2. Geben Sie den Domainnamen für Ihre Website ein:

        1. Klicken Sie im Abschnitt Domainliste auf Domain hinzufügen.
        2. Geben Sie im Feld Domain den Namen Ihrer Domain ein.
        3. Optional: Klicken Sie zum Hinzufügen einer zusätzlichen Domain auf Domain hinzufügen und geben Sie den Namen einer anderen Domain in das Feld Domain ein. Sie können bis zu 250 Domains hinzufügen.

          Bei Websites gilt der reCAPTCHA-Schlüssel nur für die von Ihnen angegebenen Domains und Subdomains. Sie können mehrere Domains angeben, wenn Sie Ihre Website von mehreren Domains bereitstellen. Wenn Sie eine Domain angeben (z. B. examplepetstore.com), müssen Sie ihre Subdomains nicht angeben (z. B. subdomain.examplepetstore.com).

      3. Maximieren Sie den Abschnitt Web Application Firewall (WAF), Domainbestätigung, AMP-Seiten und Herausforderung.
      4. Aktivieren Sie die Option Web Application Firewall (WAF).
      5. Wählen Sie im Menü Funktion die Option Aktionstoken aus.

      6. Optional: Aktivieren Sie Kästchen-Herausforderung verwenden.

      7. Klicken Sie auf Schlüssel erstellen.
      8. Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.

    gcloud

    Verwenden Sie den Befehl gcloud recaptcha keys create, um reCAPTCHA-Schlüssel zu erstellen.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
    • INTEGRATION_TYPE: Integrationstyp. Geben Sie score oder checkbox an.
    • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.

      Geben Sie mehrere Domains als durch Kommas getrennte Liste an. Optional: Geben Sie --allow-all-domains an, um die Domainbestätigung zu deaktivieren.

      Die Deaktivierung der Domainbestätigung ist ein Sicherheitsrisiko, da es keine Einschränkungen für die Website gibt. Ihr reCAPTCHA-Schlüssel kann also von jedem abgerufen und verwendet werden.

    • WAF_FEATURE: Name der WAF-Funktion. Geben Sie action-token an.
    • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

    Führen Sie den Befehl gcloud recaptcha keys create aus:

    Linux, macOS oder 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

    Die Antwort enthält den neu erstellten reCAPTCHA-Schlüssel.

    REST

    API-Referenzinformationen zu Schlüsseltypen und Integrationstypen finden Sie unter Schlüssel und Integrationstyp.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
    • INTEGRATION_TYPE: Integrationstyp. Geben Sie score oder checkbox an.
    • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.

      Geben Sie mehrere Domains als durch Kommas getrennte Liste an. Optional: Geben Sie --allow-all-domains an, um die Domainbestätigung zu deaktivieren.

      Die Deaktivierung der Domainbestätigung ist ein Sicherheitsrisiko, da es keine Einschränkungen für die Website gibt. Ihr reCAPTCHA-Schlüssel kann also von jedem abgerufen und verwendet werden.

    • WAF_FEATURE: Name der WAF-Funktion. Geben Sie action-token an.
    • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

    HTTP-Methode und URL:

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

    JSON-Text der Anfrage:

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

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

    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

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

    $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

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      "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. Integrieren Sie reCAPTCHA JavaScript mit dem von Ihnen erstellten Schlüssel für Aktionstokens in Ihre Webseiten. Eine Anleitung finden Sie im Dokument, das dem Integrationstyp Ihres Aktionstoken-Schlüssels entspricht.

  3. Nachdem Sie das Token von reCAPTCHA erhalten haben, hängen Sie es an einen vordefinierten Anfrageheader im folgenden Format an:

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

    Sie können Sprachen wie XHR, Ajax oder Fetch API verwenden, um das Token an einen vordefinierten Anfrage-Header anzuhängen.

    Das folgende Beispielskript zeigt, wie die execute-Aktion geschützt und das Token mithilfe von JavaScript + XHR an einen vordefinierten Anfrage-Header angehängt wird:

      
      <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>
      
      

reCAPTCHA-Sitzungstokens implementieren

Das reCAPTCHA-JavaScript legt nach der Bewertung ein reCAPTCHA-Sitzungstoken als Cookie im Browser des Endnutzers fest. Der Browser des Endnutzers hängt das Cookie an und aktualisiert das Cookie, solange das reCAPTCHA-JavaScript aktiv bleibt.

Wenn Sie ein Sitzungs-Token als Cookie bereitstellen möchten, installieren Sie einen Sitzungs-Token-Schlüssel auf mindestens einer Ihrer Webseiten, die die folgenden Anforderungen erfüllen:

  • Die Webseite muss die Seite sein, die der Endnutzer vor der Seite aufruft, die geschützt werden muss. Wenn Sie beispielsweise die Zahlungsseite schützen möchten, installieren Sie einen Sitzungstokenschlüssel auf der Startseite oder der Produktseite.
  • Die Webseite wird durch eine Google Cloud Armor-Sicherheitsrichtlinie geschützt.

Mit diesem Cookie können Sie nachfolgende Anfragen des Endnutzers und das Laden der Seite in einer bestimmten Domain schützen. Sitzungstokens sind standardmäßig 30 Minuten lang gültig. Wenn der Endnutzer jedoch auf der Seite verbleibt, auf der Sie das Sitzungstoken implementiert haben, aktualisiert reCAPTCHA das Sitzungstoken regelmäßig, um zu verhindern, dass es abläuft.

Installieren Sie Sitzungs-Tokens auf jeder Seite, die durch reCAPTCHA geschützt werden muss. Wir empfehlen, jede Seite mit reCAPTCHA zu schützen und Google Cloud Armor-Regeln zu verwenden, um den Zugriff auf allen Seiten zu erzwingen, mit Ausnahme der ersten Seite, die Endnutzer durchsuchen.

Hier ist ein Beispiel für ein reCAPTCHA-Sitzungstoken:
   recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time

So implementieren Sie ein reCAPTCHA-Sitzungstoken:

  1. Erstellen Sie einen Sitzungstokenschlüssel für Ihre Website.

    Cloud Console

    1. Rufen Sie in der Google Cloud Console die Seite reCAPTCHA auf.

      Zu reCAPTCHA

    2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl oben auf der Seite angezeigt wird.

      Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.

    3. Klicken Sie auf Schlüssel erstellen.
    4. Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
    5. Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
      1. Wählen Sie im Menü Plattformtyp auswählen die Option Website aus.

        Der Abschnitt Domainliste wird angezeigt.

      2. Geben Sie den Domainnamen für Ihre Website ein:

        1. Klicken Sie im Abschnitt Domainliste auf Domain hinzufügen.
        2. Geben Sie im Feld Domain den Namen Ihrer Domain ein.
        3. Optional: Klicken Sie zum Hinzufügen einer zusätzlichen Domain auf Domain hinzufügen und geben Sie den Namen einer anderen Domain in das Feld Domain ein. Sie können bis zu 250 Domains hinzufügen.

          Bei Websites gilt der reCAPTCHA-Schlüssel nur für die von Ihnen angegebenen Domains und Subdomains. Sie können mehrere Domains angeben, wenn Sie Ihre Website von mehreren Domains bereitstellen. Wenn Sie eine Domain angeben (z. B. examplepetstore.com), müssen Sie ihre Subdomains nicht angeben (z. B. subdomain.examplepetstore.com).

      3. Maximieren Sie den Abschnitt Web Application Firewall (WAF), Domainbestätigung, AMP-Seiten und Herausforderung.
      4. Aktivieren Sie die Option Web Application Firewall (WAF).
      5. Wählen Sie im Menü Funktion die Option Sitzungstoken aus.

      6. Optional:Aktivieren Sie Domainbestätigung deaktivieren.

        Das Deaktivieren der Domainbestätigung ist ein Sicherheitsrisiko, da es keine Einschränkungen für die Website gibt. Ihr reCAPTCHA-Schlüssel kann also von jedem abgerufen und verwendet werden.

      7. Klicken Sie auf Schlüssel erstellen.
      8. Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.

    gcloud

    Verwenden Sie den Befehl gcloud recaptcha keys create, um reCAPTCHA-Schlüssel zu erstellen.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
    • INTEGRATION_TYPE: Integrationstyp. Geben Sie score an.
    • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.

      Geben Sie mehrere Domains als durch Kommas getrennte Liste an. Optional: Geben Sie --allow-all-domains an, um die Domainbestätigung zu deaktivieren.

      Die Deaktivierung der Domainbestätigung ist ein Sicherheitsrisiko, da es keine Einschränkungen für die Website gibt. Ihr reCAPTCHA-Schlüssel kann also von jedem abgerufen und verwendet werden.

    • WAF_FEATURE: Name der WAF-Funktion. Geben Sie session-token an.
    • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

    Führen Sie den Befehl gcloud recaptcha keys create aus:

    Linux, macOS oder 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

    Die Antwort enthält den neu erstellten reCAPTCHA-Schlüssel.

    REST

    API-Referenzinformationen zu Schlüsseltypen und Integrationstypen finden Sie unter Schlüssel und Integrationstyp.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
    • INTEGRATION_TYPE: Integrationstyp. Geben Sie score an.
    • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.

      Geben Sie mehrere Domains als durch Kommas getrennte Liste an. Optional: Geben Sie --allow-all-domains an, um die Domainbestätigung zu deaktivieren.

      Die Deaktivierung der Domainbestätigung ist ein Sicherheitsrisiko, da es keine Einschränkungen für die Website gibt. Ihr reCAPTCHA-Schlüssel kann also von jedem abgerufen und verwendet werden.

    • WAF_FEATURE: Name der WAF-Funktion. Geben Sie session-token an.
    • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

    HTTP-Methode und URL:

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

    JSON-Text der Anfrage:

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

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

    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

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

    $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

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    
    {
      "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. Fügen Sie dem reCAPTCHA-JavaScript den Schlüssel für das Sitzungstoken und waf=session hinzu.

    Das folgende Beispielskript zeigt, wie ein Sitzungs-Token auf einer Webseite implementiert wird:

    <!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>

reCAPTCHA-Abfrageseite implementieren

Wenn Sie eine reCAPTCHA-Abrufseite implementieren, wird der Nutzer von reCAPTCHA zu einer Zwischenseite weitergeleitet, auf der ermittelt wird, ob ihm eine CAPTCHA-Herausforderung angezeigt werden muss. Daher sind CAPTCHA-Herausforderungen möglicherweise nicht für alle Nutzer sichtbar.

Wenn Sie eine reCAPTCHA-Abfrageseite implementieren möchten, erstellen Sie einen Schlüssel für die Abfrageseite für Ihre Website.

Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite reCAPTCHA auf.

    Zu reCAPTCHA

  2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl oben auf der Seite angezeigt wird.

    Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.

  3. Klicken Sie auf Schlüssel erstellen.
  4. Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
  5. Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
    1. Wählen Sie im Menü Plattformtyp auswählen die Option Website aus.
    2. Maximieren Sie den Abschnitt Web Application Firewall (WAF), Domainbestätigung, AMP-Seiten und Herausforderung.
    3. Aktivieren Sie die Option Web Application Firewall (WAF).
    4. Wähle im Menü Funktion die Option Challenge-Seite aus.

    5. Aktivieren Sie Domainbestätigung deaktivieren.

      Wenn Sie die Domainbestätigung für Schlüssel für Abfrageseiten deaktivieren, überprüft Google Cloud Armor die Domain.

    6. Klicken Sie auf Schlüssel erstellen.
    7. Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.

gcloud

Verwenden Sie den Befehl gcloud recaptcha keys create, um reCAPTCHA-Schlüssel zu erstellen.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
  • INTEGRATION_TYPE: Integrationstyp. Geben Sie invisible an.
  • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen. Geben Sie --allow-all-domains an.
  • WAF_FEATURE: Name der WAF-Funktion. Geben Sie challenge-page an.
  • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

Führen Sie den Befehl gcloud recaptcha keys create aus:

Linux, macOS oder 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

Die Antwort enthält den neu erstellten reCAPTCHA-Schlüssel.

REST

API-Referenzinformationen zu Schlüsseltypen und Integrationstypen finden Sie unter Schlüssel und Integrationstyp.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
  • INTEGRATION_TYPE: Integrationstyp. Geben Sie invisible an.
  • DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen. Geben Sie --allow-all-domains an.
  • WAF_FEATURE: Name der WAF-Funktion. Geben Sie challenge-page an.
  • WAF_SERVICE: Name des WAF-Dienstanbieters. Geben Sie CA für Google Cloud Armor an.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:


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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten in etwa folgende JSON-Antwort erhalten:


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

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

  "integrationType": "INVISIBLE",
 

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

  "wafFeature": "CHALLENGE_PAGE"
  

}
}

Google Cloud Armor-Sicherheitsrichtlinien konfigurieren

Nachdem Sie die Funktionen von reCAPTCHA for WAF implementiert haben, müssen Sie Google Cloud Armor-Sicherheitsrichtlinien für die Bot-Verwaltung konfigurieren.

Wenn Sie eine reCAPTCHA-Abfrageseite implementiert haben, gehen Sie so vor:

  1. Ordnen Sie den Schlüssel für die Bestätigungsseite Ihrer Sicherheitsrichtlinie zu.
  2. Konfigurieren Sie eine Sicherheitsrichtlinienregel, um eine Anfrage für die reCAPTCHA-Bewertung weiterzuleiten.

Wenn Sie reCAPTCHA-Aktions- oder Sitzungstokens implementiert haben, müssen Sie eine Sicherheitsrichtlinienregel konfigurieren, die reCAPTCHA-Tokens auswertet.

Bevor Sie die Google Cloud Armor-Sicherheitsrichtlinien konfigurieren, sollten Sie sich mit den reCAPTCHA-Token-Attributen für Google Cloud Armor vertraut machen.

Informationen zum Konfigurieren von Google Cloud Armor-Sicherheitsrichtlinien und zum Verwenden der reCAPTCHA-Schlüssel für WAF mit Ihren Sicherheitsrichtlinien finden Sie unter Regeln für die Bot-Verwaltung konfigurieren.

Nächste Schritte