In diesem Dokument erfahren Sie, wie Sie Google Cloud Fraud Defense for Cloud Armor auf Websites einbinden.
Um die Integration abzuschließen, müssen Sie mindestens ein Feature von Fraud Defense for Cloud Armor implementieren und Cloud Armor-Sicherheitsrichtlinien konfigurieren.
Hinweis
Aktivieren Sie die reCAPTCHA Enterprise API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von RollenPlanen Sie, wie Sie die Funktionen von Fraud Defense for Cloud Armor implementieren möchten, um Ihre Website zu schützen.
- Wählen Sie ein oder mehrere WAF-Features aus, die am besten zu Ihrem Anwendungsfall passen.
- Ermitteln Sie die Seiten, die Sie schützen möchten, und den Typ der Cloud Armor-Funktion, die Sie auf diesen Seiten implementieren möchten.
Funktionen von Fraud Defense for Cloud Armor implementieren
Je nach Ihren Anforderungen können Sie eine oder mehrere Funktionen von Fraud Defense for Cloud Armor 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-Aufgabenseite verwenden möchten, müssen Sie einen Aktionstoken-Schlüssel und einen Aufgabenseiten-Schlüssel 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 Aktionstoken an einen vordefinierten Anfrageheader an, wenn Sie eine Nutzeraktion wie checkout schützen möchten. Standardmäßig sind Aktions-Tokens 30 Minuten lang gültig. Dies kann jedoch je nach Traffic variieren.
Sie müssen das Aktions-Token an einen vordefinierten Anfrageheader anhängen, bevor das Token abläuft, damit Cloud Armor die Tokenattribute auswerten kann.
So implementieren Sie ein reCAPTCHA-Aktionstoken:
Erstellen Sie einen Aktionstoken-Schlüssel für Ihre Website.
Cloud Console
Rufen Sie in der Google Cloud Console die Seite Google Cloud Fraud Defense auf.
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.
- Wählen Sie den Tab Keys aus.
- Klicken Sie auf Schlüssel erstellen.
- Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
- Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
- Wählen Sie als Anwendungstyp die Option Web aus.
Der Abschnitt Domainliste wird angezeigt.
-
Zum Schutz des reCAPTCHA-Schlüssels für Ihre Domain und Subdomains müssen Sie den Ein/Aus-Button Domainbestätigung deaktivieren 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 aufgerufen und verwendet werden.
-
Geben Sie den Domainnamen für Ihre Website ein:
- Klicken Sie im Abschnitt Domainliste auf Domain hinzufügen.
- Geben Sie im Feld Domain den Namen Ihrer Domain ein.
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 ist der reCAPTCHA-Schlüssel für die von Ihnen angegebenen Domains und Subdomains eindeutig. 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 die zugehörigen Subdomains (z. B.subdomain.examplepetstore.com) nicht angeben. Es kann bis zu 30 Minuten dauern, bis Änderungen an der Domainliste wirksam werden.
- Aktivieren Sie unter Zusätzliche Einstellungen die Option Wird dieser Schlüssel in einer Web Application Firewall (WAF) bereitgestellt?.
Wählen Sie unter Feature die Option Aktion aus.
-
Optional: Aktivieren Sie die Option Möchten Sie Aufgaben verwenden?.
- Klicken Sie auf Schlüssel erstellen.
Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.
gcloud
Verwenden Sie zum Erstellen von reCAPTCHA-Schlüsseln den Befehl gcloud recaptcha keys create.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
scoreodercheckboxan. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- 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-domainsan, um die Domainbestätigung zu 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 aufgerufen und verwendet werden.
- WAF_FEATURE: Name des WAF-Features.
Geben Sie
action-tokenan. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür 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:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
scoreodercheckboxan. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- 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-domainsan, um die Domainbestätigung zu 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 aufgerufen und verwendet werden.
- WAF_FEATURE: Name des WAF-Features.
Geben Sie
action-tokenan. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür Cloud Armor an. - DEFAULT_SCORE_THRESHOLD: Bei richtlinienbasierten Abfrageschlüsseln wird hier der allgemeine Abfrageschwellenwert für den Schlüssel definiert, wenn kein benutzerdefinierter Schwellenwert für die Punktzahl festgelegt ist. Diese Funktion ist eine Vorabversion.
- ACTION_SCORE_THRESHOLDS: Bei richtlinienbasierten Challenge-Schlüsseln werden hier die Aktion und der entsprechende Schwellenwert zwischen 0,0 und 1,0 angegeben. Beispiel:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Diese Funktion ist eine Vorabversion.
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": "INTEGRATION_TYPE" } }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.jsonund 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.jsonund 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 ContentSie sollten eine JSON-Antwort ähnlich wie diese 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" } }Binden Sie reCAPTCHA-JavaScript mit dem von Ihnen erstellten Aktions-Token-Schlüssel in Ihre Webseiten ein. Eine Anleitung finden Sie in dem Dokument, das dem Integrationstyp Ihres Aktions-Tokens entspricht.
- Informationen zum Integrationstyp
SCOREfinden Sie unter Punktbasierte Schlüssel in das Frontend einbinden. - Informationen zum Integrationstyp
CHECKBOXfinden Sie unter reCAPTCHA-Widget im Frontend rendern.
- Informationen zum Integrationstyp
Nachdem Sie das Token von reCAPTCHA erhalten haben, hängen Sie es im folgenden Format an einen vordefinierten Anfrageheader 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 Anfrageheader anzuhängen.
Das folgende Beispielskript zeigt, wie Sie die Aktion
executeschützen und das Token mit JavaScript + XHR an einen vordefinierten Anfrageheader anhängen:<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 dem Aufruf von execute() ein reCAPTCHA-Sitzungstoken als Cookie im Endnutzerbrowser fest. Der Browser des Endnutzers hängt das Cookie an und aktualisiert es, solange das reCAPTCHA-JavaScript aktiv bleibt.
Wenn Sie ein Sitzungstoken als Cookie bereitstellen möchten, installieren Sie einen Sitzungstoken-Schlüssel auf mindestens einer Ihrer Webseiten, die der Endnutzer vor der zu schützenden Seite aufruft. Wenn Sie beispielsweise die Zahlungsseite schützen möchten, installieren Sie einen Sitzungstoken-Schlüssel auf der Startseite oder Produktseite.
Informationen zum Installieren von Sitzungstoken-Schlüsseln auf Ihren Webseiten finden Sie unter Punktbasierte Schlüssel in das Frontend einbinden.
Sie können dieses Cookie verwenden, um nachfolgende Anfragen und Seitenaufrufe des Endnutzers auf einer bestimmten Domain zu schützen. Sitzungstokens sind standardmäßig 30 Minuten lang gültig. Wenn der Endnutzer jedoch auf der Seite bleibt, auf der Sie das Sitzungstoken implementiert haben, aktualisiert reCAPTCHA das Sitzungstoken regelmäßig, um zu verhindern, dass es abläuft.
Installieren Sie Sitzungstokens auf jeder Seite, die durch reCAPTCHA geschützt werden soll. Wir empfehlen, jede Seite mit reCAPTCHA zu schützen und Cloud Armor-Regeln zu verwenden, um den Zugriff auf alle Seiten zu erzwingen, mit Ausnahme der ersten Seite, die Endnutzer aufrufen.
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:
Erstellen Sie einen Sitzungstoken-Schlüssel für Ihre Website.
Cloud Console
Rufen Sie in der Google Cloud Console die Seite Google Cloud Fraud Defense auf.
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.
- Wählen Sie den Tab Keys aus.
- Klicken Sie auf Schlüssel erstellen.
- Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
- Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
- Wählen Sie als Anwendungstyp die Option Web aus.
Der Abschnitt Domainliste wird angezeigt.
-
Zum Schutz des reCAPTCHA-Schlüssels für Ihre Domain und Subdomains müssen Sie den Ein/Aus-Button Domainbestätigung deaktivieren 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 aufgerufen und verwendet werden.
-
Geben Sie den Domainnamen für Ihre Website ein:
- Klicken Sie im Abschnitt Domainliste auf Domain hinzufügen.
- Geben Sie im Feld Domain den Namen Ihrer Domain ein.
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 ist der reCAPTCHA-Schlüssel für die von Ihnen angegebenen Domains und Subdomains eindeutig. 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 die zugehörigen Subdomains (z. B.subdomain.examplepetstore.com) nicht angeben. Es kann bis zu 30 Minuten dauern, bis Änderungen an der Domainliste wirksam werden.
- Aktivieren Sie unter Zusätzliche Einstellungen die Option Wird dieser Schlüssel in einer Web Application Firewall (WAF) bereitgestellt?.
Wählen Sie unter Feature die Option Sitzung aus.
- 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 aufgerufen und verwendet werden.
- Klicken Sie auf Schlüssel erstellen.
Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.
gcloud
Verwenden Sie zum Erstellen von reCAPTCHA-Schlüsseln den Befehl gcloud recaptcha keys create.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
scorean. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- 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-domainsan, um die Domainbestätigung zu 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 aufgerufen und verwendet werden.
- WAF_FEATURE: Name des WAF-Features.
Geben Sie
session-tokenan. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür 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:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
scorean. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- 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-domainsan, um die Domainbestätigung zu 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 aufgerufen und verwendet werden.
- WAF_FEATURE: Name des WAF-Features.
Geben Sie
session-tokenan. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür Cloud Armor an. - DEFAULT_SCORE_THRESHOLD: Bei richtlinienbasierten Abfrageschlüsseln wird hier der allgemeine Abfrageschwellenwert für den Schlüssel definiert, wenn kein benutzerdefinierter Schwellenwert für die Punktzahl festgelegt ist. Diese Funktion ist eine Vorabversion.
- ACTION_SCORE_THRESHOLDS: Bei richtlinienbasierten Challenge-Schlüsseln werden hier die Aktion und der entsprechende Schwellenwert zwischen 0,0 und 1,0 angegeben. Beispiel:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Diese Funktion ist eine Vorabversion.
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": "INTEGRATION_TYPE" } }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.jsonund 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.jsonund 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 ContentSie sollten eine JSON-Antwort ähnlich wie diese 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" } }Fügen Sie den Sitzungstoken-Schlüssel und
waf=sessionzum reCAPTCHA-JavaScript 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"></script> </head> <body></body> </html>
reCAPTCHA-Aufgabenseite implementieren
Wenn Sie eine reCAPTCHA-Aufgabenseite implementieren, leitet reCAPTCHA zu einer Interstitial-Seite weiter, auf der ermittelt wird, ob einem Nutzer eine CAPTCHA-Aufgabe angezeigt werden muss. Daher sind CAPTCHA-Tests möglicherweise nicht für alle Nutzer sichtbar.
Wenn Sie eine reCAPTCHA-Aufgabenseite implementieren möchten, erstellen Sie einen Aufgabenseiten-Schlüssel für Ihre Website.
Cloud Console
Rufen Sie in der Google Cloud Console die Seite Google Cloud Fraud Defense auf.
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.
- Wählen Sie den Tab Keys aus.
- Klicken Sie auf Schlüssel erstellen.
- Geben Sie im Feld Anzeigename einen Anzeigenamen für den Schlüssel ein.
- Führen Sie je nach Plattform, für die Sie reCAPTCHA-Schlüssel für die WAF erstellen möchten, die entsprechende Aktion aus:
- Wählen Sie als Anwendungstyp die Option Web aus.
- Aktivieren Sie unter Zusätzliche Einstellungen die Option Wird dieser Schlüssel in einer Web Application Firewall (WAF) bereitgestellt?.
Wählen Sie unter Feature die Option Challenge aus.
- Aktivieren Sie die Option Domainbestätigung deaktivieren.
Wenn Sie die Domainbestätigung für Schlüssel für Abfrageseiten deaktivieren, überprüft Cloud Armor die Domain.
- Klicken Sie auf Schlüssel erstellen.
Der neu erstellte Schlüssel wird auf der Seite reCAPTCHA-Schlüssel aufgeführt.
gcloud
Verwenden Sie zum Erstellen von reCAPTCHA-Schlüsseln den Befehl gcloud recaptcha keys create.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
invisiblean. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.
Geben Sie
--allow-all-domainsan. - WAF_FEATURE: Name des WAF-Features.
Geben Sie
challenge-pagean. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür 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:
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
invisiblean. - DISPLAY_NAME: Name für den Schlüssel. In der Regel der Name einer Website.
- DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.
Geben Sie
--allow-all-domainsan. - WAF_FEATURE: Name des WAF-Features.
Geben Sie
challenge-pagean. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Geben Sie
CAfür Cloud Armor an. - DEFAULT_SCORE_THRESHOLD: Bei richtlinienbasierten Abfrageschlüsseln wird hier der allgemeine Abfrageschwellenwert für den Schlüssel definiert, wenn kein benutzerdefinierter Schwellenwert für die Punktzahl festgelegt ist. Diese Funktion ist eine Vorabversion.
- ACTION_SCORE_THRESHOLDS: Bei richtlinienbasierten Challenge-Schlüsseln werden hier die Aktion und der entsprechende Schwellenwert zwischen 0,0 und 1,0 angegeben. Beispiel:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Diese Funktion ist eine Vorabversion.
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": "INTEGRATION_TYPE"
}
}
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 eine JSON-Antwort ähnlich wie diese 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"
}
}
Cloud Armor-Sicherheitsrichtlinien konfigurieren
Nachdem Sie die Funktionen von Fraud Defense for Cloud Armor implementiert haben, müssen Sie Cloud Armor-Sicherheitsrichtlinien für die Bot-Verwaltung konfigurieren.
Wenn Sie eine reCAPTCHA-Aufgabenseite implementiert haben, müssen Sie Folgendes tun:
- Verknüpfen Sie den Schlüssel für die Aufgabenseite mit Ihrer Sicherheitsrichtlinie.
- Konfigurieren Sie eine Sicherheitsrichtlinienregel, um eine Anfrage für die reCAPTCHA-Bewertung weiterzuleiten.
Wenn Sie reCAPTCHA-Aktionstokens oder -Sitzungstokens implementiert haben, müssen Sie eine Sicherheitsrichtlinienregel konfigurieren, die reCAPTCHA-Tokens auswertet.
Bevor Sie die Cloud Armor-Sicherheitsrichtlinien konfigurieren, sollten Sie sich mit den reCAPTCHA-Tokenattributen für Cloud Armor vertraut machen.
Informationen zum Konfigurieren von 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.
reCAPTCHA-Werte abrufen
Für reCAPTCHA-Aktions- und -Sitzungstokens können Sie reCAPTCHA-Scores aus dem Header X-Recaptcha-Wafdata abrufen.
Anhand dieser Werte können Sie benutzerdefinierte Aktionen konfigurieren, die für Nutzeranfragen ausgeführt werden sollen.
Das folgende Beispiel zeigt einen X-Recaptcha-Wafdata-Header:
X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n
Sie können sich die reCAPTCHA-Bewertungen auch in den Google Cloud Armor-Logs ansehen.