Kontobezogene betrügerische Aktivitäten auf Websites erkennen und verhindern

In diesem Dokument erfahren Sie, wie Sie mit reCAPTCHA Account Defender kontobezogene betrügerische Aktivitäten auf Websites erkennen und verhindern.

Mit reCAPTCHA lassen sich kritische Aktionen wie Anmeldungen besser schützen und den Bezahlvorgang. Es gibt jedoch viele subtile Formen des Kontomissbrauchs, durch Beobachtung des Verhaltens eines Nutzers auf einer Website über einen Zeitraum von . reCAPTCHA Account Defender hilft bei der Identifizierung dieser Arten indem Sie ein websitespezifisches Modell für Ihre Website erstellen, um Trends bei verdächtigem Verhalten oder Änderungen bei den Aktivitäten. Mit dem websitespezifischen Modell von reCAPTCHA Account Defender können Sie Folgendes erkennen:

  • Verdächtige Aktivitäten
  • Konten mit ähnlichen Verhaltensmustern
  • Anfragen von Geräten, die für bestimmte Nutzer als vertrauenswürdig markiert wurden

Basierend auf der Analyse von reCAPTCHA Account Defender und dem Website-spezifisches Modell verwenden, können Sie die folgenden Aktionen ausführen:

  • Betrügerische Konten einschränken oder deaktivieren
  • Verhindern Sie versuchte Kontoübernahmen.
  • Minimieren Sie die erfolgreichen Kontoübernahmen.
  • Gewähren Sie nur Anfragen von legitimen Nutzerkonten Zugriff.
  • Die Anmeldung auf vertrauenswürdigen Geräten wird für Nutzer vereinfacht.

Hinweise

  1. Bereiten Sie Ihre Umgebung für reCAPTCHA vor.
  2. Erstellen Sie einen punktebasierten Websiteschlüssel.

Webseiten für reCAPTCHA Account Defender konfigurieren

reCAPTCHA Account Defender erfordert ein umfassendes Verständnis der Kontoaktivitäten, um eine effektive Erkennung zu ermöglichen. So leiten Sie kontobezogene Aktivitäten an reCAPTCHA Account Defender weiter und erstellen und verbessern Ihr websitespezifisches Modell:

  1. Erfassen horizontaler Telemetriedaten aktivieren
  2. Berichte zu wichtigen Nutzeraktionen
  3. Kritische Nutzerereignisse bewerten
  4. Nutzerereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren

Erhebung horizontaler Telemetriedaten aktivieren

reCAPTCHA Account Defender benötigt einen vollständigen Überblick über die Nutzeraktionen, z. B. ob der Nutzer angemeldet ist oder eine Anmeldung auslöst. Zum Aktivieren Passive Erfassung horizontaler Telemetriedaten durch reCAPTCHA Account Defender ein, laden Sie das reCAPTCHA-JavaScript-Script mit dem wertbasierter Websiteschlüssel, den Sie im Hintergrund aller Webseiten erstellt haben die Teil Ihres Nutzer-Workflows sind.

Das folgende Beispiel zeigt, wie das reCAPTCHA-JavaScript-Script auf einer Webseite geladen wird.

    <head>
    <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
    ....
    </head>

Berichte zu wichtigen Nutzeraktionen erstellen

Um verdächtige Aktivitätsmuster zu erkennen und typische Aktivitätsmuster auf Ihrer Website besser nachvollziehen zu können, benötigt reCAPTCHA Account Defender Informationen zu kritischen Nutzeraktionen. Melden Sie daher kritische Nutzeraktionen auf den Webseiten, indem Sie grecaptcha.enterprise.execute() für diese kritischen Nutzeraktionen aufrufen.

Wir empfehlen, alle wichtigen Nutzeraktionen zu erfassen, da dadurch zusätzliche Signale erfasst werden können. Ersetzen Sie für jede Nutzeraktion, die Sie melden möchten, den Wert des Parameters action von grecaptcha.enterprise.execute() durch einen Aktionsnamen, der die Nutzeraktion beschreibt.

In der folgenden Tabelle sind die Aktionsnamen aufgeführt, die Sie verwenden können, wenn Sie wichtige Nutzeraktionen melden.

Aktionsname Vom Nutzer initiiertes Ereignis oder Nutzeraktion
LOGIN

Melden Sie sich auf der Website an.

REGISTRATION Registrierung auf der Website.
SECURITY_QUESTION_CHANGE Beantragen Sie die Änderung der Sicherheitsfrage.
PASSWORD_RESET Fordern Sie das Zurücksetzen des Passworts an.
PHONE_NUMBER_UPDATE Fordern Sie die Aktualisierung der Telefonnummer an.
EMAIL_UPDATE Fordern Sie die Aktualisierung der E-Mail-Adresse an.
ACCOUNT_UPDATE Aktualisierung von kontobezogenen Informationen wie Kontaktdaten beantragen
TRIGGER_MFA Eine Aktion, die eine MFA-Herausforderung auslöst.
REDEEM_CODE Fordern Sie das Einlösen des Codes an.
LIST_PAYMENT_METHODS Liste der Zahlungsmethoden abrufen

Das folgende Beispiel zeigt, wie grecaptcha.enterprise.execute() für eine Aktualisierung der Telefonnummer:

    <script>
    function onClick(e) {
      e.preventDefault();
      grecaptcha.enterprise.ready(async () => {
        const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'PHONE_NUMBER_UPDATE'});
      });
    }
    </script>
    

Kritische Nutzerereignisse bewerten

Wenn Sie grecaptcha.enterprise.execute() für eine Nutzeraktion aufrufen, wird ein Token generiert. Für die kritischen Nutzerereignisse, z. B. erfolgreiche und fehlgeschlagene Anmeldungen, Registrierungen und Aktionen des angemeldeten Nutzers -Nutzer, erstellen Sie eine Bewertung, um die Ergebnisse des grecaptcha.enterprise.execute()-Aufrufs zu bewerten. Die Bewertung liefert Ihnen ein Risikourteil, anhand dessen Sie entscheiden können, wie Sie mit potenziell betrügerischen Aktivitäten umgehen. Sie können beispielsweise verdächtige Anfragen blockieren, riskante Anmeldungen anfechten und Konten untersuchen, die für Sie von Interesse sind.

Für reCAPTCHA Account Defender müssen Sie eine stabile Konto-ID angeben, um Nutzeraktivitäten wie Anmeldeanfragen, Anfragen von angemeldeten Nutzern und Registrierungsanfragen einem bestimmten Konto zuzuordnen. So kann reCAPTCHA Account Defender die Nutzeraktivitätsmuster besser nachvollziehen und ein Aktivitätsmodell für jedes Konto erstellen, um anormale und missbräuchliche Zugriffe besser zu erkennen.

Wähle eine stabile Konto-ID (accountId) aus, die vom Nutzer nicht oft geändert wird und stellen sie der Bewertung im projects.assessments.create-Methode. Diese stabile Konto-ID sollte die für alle Ereignisse, die sich auf denselben Nutzer beziehen. Sie können Folgendes als Konto-ID angeben:

Nutzerkennungen

Wenn jedes Konto eindeutig mit einem stabilen Nutzernamen, einer E-Mail-Adresse oder einer Telefonnummer verknüpft werden kann, können Sie diese als accountId verwenden. Wenn Sie solche websiteübergreifenden (Kennungen, die websiteübergreifend wiederverwendet werden können), verwendet reCAPTCHA diese um den Schutz Ihrer Nutzerkonten auf der Grundlage von websiteübergreifenden Modellen zu verbessern, indem Missbrauch von Konto-IDs melden und Kenntnis von websiteübergreifenden Missbrauchsmustern im Zusammenhang mit zu diesen IDs.

Alternativ können Sie eine interne Nutzer-ID angeben, die jedem Konto eindeutig zugeordnet ist.

Gehasht oder verschlüsselt

Wenn Sie keine interne Nutzer-ID haben, die jedem Konto eindeutig zugeordnet ist, können Sie in eine intransparente, websitespezifische Konto-ID umwandeln. Diese Kennung ist weiterhin erforderlich, damit reCAPTCHA Account Defender die Nutzeraktivitätsmuster nachvollziehen und anormales Verhalten erkennen kann. Sie wird jedoch nicht für andere Websites freigegeben.

Wählen Sie eine stabile Konto-ID aus und machen Sie sie undurchsichtig, bevor Sie sie an reCAPTCHA senden, indem Sie sie verschlüsseln oder hashen:

  • Verschlüsselung (empfohlen): Verschlüsseln Sie die Konto-ID mit einer deterministischen Verschlüsselungsmethode, die einen stabilen Geheimtext erzeugt. Eine ausführliche Anleitung finden Sie unter Daten verschlüsseln deterministisch. Wenn Sie die symmetrische Verschlüsselung anstelle des Hashwerts verwenden, müssen Sie keine Zuordnung zwischen Ihren Nutzer-IDs und den entsprechenden undurchsichtigen Nutzer-IDs beibehalten. Entschlüsseln Sie die intransparenten Kennungen, die von reCAPTCHA zurückgegeben werden, um sie in die Nutzer-ID umzuwandeln.

  • Hashing: Wir empfehlen, die Kontokennung mithilfe der SHA256-HMAC-Methode mit ein Salz Ihrer Wahl. Da Hashes nur in eine Richtung gelten, müssen Sie eine Zuordnung zwischen den generierten Hashes und Ihren Nutzerkennungen, damit Sie die gehashten Konto-ID, die an die ursprünglichen Konten zurückgegeben wird.

Neben der Bereitstellung einer stabilen Konto-ID für alle kontobezogenen Anfragen kann zusätzliche, möglicherweise instabile Konto-IDs für bestimmte Anfragen angeben. Kontextspezifische Konto-IDs, die zusätzlich zur accountId bereitgestellt werden, helfen reCAPTCHA Account Defender, Nutzeraktivitäten besser zu verstehen und Kontoübernahmeversuche zu erkennen, um Ihre Nutzerkonten zu schützen. Wenn Sie zusätzliche Kennungen angeben, verwendet reCAPTCHA diese Informationen, um den Schutz Ihrer Nutzerkonten auf der Grundlage von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Konto-IDs gemeldet und Kenntnisse zu websiteübergreifenden Missbrauchsmustern in Bezug auf diese IDs genutzt. Sie können beispielsweise Folgendes angeben:

  • Der Nutzername, die E-Mail-Adresse oder die Telefonnummer, die als Anmelde-Alias für Anmeldeanfragen verwendet wurde

  • Die E-Mail-Adresse oder Telefonnummer, die für die Multi-Faktor-Authentifizierung bestätigt wurde Authentifizierungsanfrage

  • Eine E-Mail-Adresse oder Telefonnummer (primär oder sekundär), die der Nutzer bei einer Anfrage zur Kontoaktualisierung angegeben hat

  • Die E-Mail-Adressen und Telefonnummern, die der Nutzer bei einer Registrierungsanfrage angibt

Fügen Sie die ausgewählte stabile Konto-ID dem Parameter accountId in der Methode projects.assessments.create für alle kontobezogenen Anfragen an. Optional: zusätzliche Konto-IDs für die relevanten Ersuchen angeben, indem Sie die userIds verwenden in der Bewertung gelernt haben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID
  • TOKEN: vom Aufruf grecaptcha.enterprise.execute() zurückgegebenes Token
  • KEY_ID: reCAPTCHA-Schlüssel, der mit der Website verknüpft ist
  • ACCOUNT_ID: Die Kennung, die dem Nutzerkonto für ein Nutzerkonto zu Ihrer Website
  • EMAIL_ADDRESS: Optional. Eine E-Mail-Adresse, die mit dieser Anfrage verknüpft ist, wenn Beliebige(r,s)
  • PHONE_NUMBER: Optional. Eine Telefonnummer, die mit dieser Anfrage verknüpft ist (falls vorhanden)
  • USERNAME: Optional. Ein Nutzername, der mit dieser Anfrage verknüpft ist, falls vorhanden

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

{
  "event": {
    "token": "TOKEN",
    "siteKey": "KEY_ID",
    "userInfo": {
      "accountId": "ACCOUNT_ID",
      "userIds": [
        {
          "email": "EMAIL_ADDRESS"
        },
        {
          "phoneNumber": "PHONE_NUMBER"
        },
        {
          "username": "USERNAME"
        }
      ]
    }
  }
}

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/assessments"

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/assessments" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "tokenProperties": {
    "valid": true,
    "hostname": "www.google.com",
    "action": "login",
    "createTime": "2019-03-28T12:24:17.894Z"
   },
  "riskAnalysis": {
    "score": 0.6,
  },
 "event": {
    "token": "TOKEN",
    "siteKey": "KEY",
    "userInfo": {
      "accountId": "ACCOUNT_ID"
    }
  },
  "name": "projects/PROJECT_NUMBER/assessments/b6ac310000000000",
  "accountDefenderAssessment": {
    "labels": ["SUSPICIOUS_LOGIN_ACTIVITY"]
  }
}

Codebeispiel

Java

Richten Sie zur Authentifizierung bei reCAPTCHA die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseServiceClient;
import com.google.protobuf.ByteString;
import com.google.recaptchaenterprise.v1.AccountDefenderAssessment.AccountDefenderLabel;
import com.google.recaptchaenterprise.v1.Assessment;
import com.google.recaptchaenterprise.v1.CreateAssessmentRequest;
import com.google.recaptchaenterprise.v1.Event;
import com.google.recaptchaenterprise.v1.ProjectName;
import com.google.recaptchaenterprise.v1.RiskAnalysis.ClassificationReason;
import com.google.recaptchaenterprise.v1.TokenProperties;
import com.google.recaptchaenterprise.v1.UserId;
import com.google.recaptchaenterprise.v1.UserInfo;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.UUID;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

public class AccountDefenderAssessment {

  public static void main(String[] args)
      throws IOException, NoSuchAlgorithmException, InvalidKeyException {
    // TODO(developer): Replace these variables before running the sample.
    // projectId: Google Cloud Project ID
    String projectId = "project-id";

    // recaptchaSiteKey: Site key obtained by registering a domain/app to use recaptcha
    // services.
    String recaptchaSiteKey = "recaptcha-site-key";

    // token: The token obtained from the client on passing the recaptchaSiteKey.
    // To get the token, integrate the recaptchaSiteKey with frontend. See,
    // https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages#frontend_integration_score
    String token = "recaptcha-token";

    // recaptchaAction: The action name corresponding to the token.
    String recaptchaAction = "recaptcha-action";

    // Unique ID of the user, such as email, customer ID, etc.
    String accountId = "default" + UUID.randomUUID().toString().split("-")[0];

    // User phone number
    String phoneNumber = "555-987-XXXX";

    // User email address
    String emailAddress = "john.doe@example.com";

    accountDefenderAssessment(projectId, recaptchaSiteKey, token, recaptchaAction, accountId, phoneNumber, emailAddress);
  }

  /**
   * This assessment detects account takeovers. See,
   * https://cloud.google.com/recaptcha-enterprise/docs/account-takeovers The input is the hashed
   * account id. Result tells if the action represents an account takeover. You can optionally
   * trigger a Multi-Factor Authentication based on the result.
   */
  public static void accountDefenderAssessment(
      String projectId,
      String recaptchaSiteKey,
      String token,
      String recaptchaAction,
      String accountId,
      String phoneNumber,
      String emailAddress)
      throws IOException {
    try (RecaptchaEnterpriseServiceClient client = RecaptchaEnterpriseServiceClient.create()) {

      // Set the properties of the event to be tracked.
      Event.Builder eventBuilder =
          Event.newBuilder()
              .setSiteKey(recaptchaSiteKey)
              .setToken(token);

      // Set the account id, email address and phone number (of the user).
      eventBuilder.setUserInfo(
        UserInfo.newBuilder()
          .setAccountId(accountId)
          .addUserIds(UserId.newBuilder().setEmail(emailAddress))
          .addUserIds(UserId.newBuilder().setPhoneNumber(phoneNumber)));

      Event event = eventBuilder.build();

      // Build the assessment request.
      CreateAssessmentRequest createAssessmentRequest =
          CreateAssessmentRequest.newBuilder()
              .setParent(ProjectName.of(projectId).toString())
              .setAssessment(Assessment.newBuilder().setEvent(event).build())
              .build();

      Assessment response = client.createAssessment(createAssessmentRequest);

      // Check integrity of the response token.
      if (!checkTokenIntegrity(response.getTokenProperties(), recaptchaAction)) {
        return;
      }

      // Get the reason(s) and the reCAPTCHA risk score.
      // For more information on interpreting the assessment,
      // see: https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment
      for (ClassificationReason reason : response.getRiskAnalysis().getReasonsList()) {
        System.out.println(reason);
      }
      float recaptchaScore = response.getRiskAnalysis().getScore();
      System.out.println("The reCAPTCHA score is: " + recaptchaScore);
      String assessmentName = response.getName();
      System.out.println(
          "Assessment name: " + assessmentName.substring(assessmentName.lastIndexOf("/") + 1));

      // Get the Account Defender result.
      com.google.recaptchaenterprise.v1.AccountDefenderAssessment accountDefenderAssessment =
          response.getAccountDefenderAssessment();
      System.out.println(accountDefenderAssessment);

      // Get Account Defender label.
      List<AccountDefenderLabel> defenderResult =
          response.getAccountDefenderAssessment().getLabelsList();
      // Based on the result, can you choose next steps.
      // If the 'defenderResult' field is empty, it indicates that Account Defender did not have
      // anything to add to the score.
      // Few result labels: ACCOUNT_DEFENDER_LABEL_UNSPECIFIED, PROFILE_MATCH,
      // SUSPICIOUS_LOGIN_ACTIVITY, SUSPICIOUS_ACCOUNT_CREATION, RELATED_ACCOUNTS_NUMBER_HIGH.
      // For more information on interpreting the assessment, see:
      // https://cloud.google.com/recaptcha-enterprise/docs/account-defender#interpret-assessment-details
      System.out.println("Account Defender Assessment Result: " + defenderResult);
    }
  }

  private static boolean checkTokenIntegrity(
      TokenProperties tokenProperties, String recaptchaAction) {
    // Check if the token is valid.
    if (!tokenProperties.getValid()) {
      System.out.println(
          "The Account Defender Assessment call failed because the token was: "
              + tokenProperties.getInvalidReason().name());
      return false;
    }

    // Check if the expected action was executed.
    if (!tokenProperties.getAction().equals(recaptchaAction)) {
      System.out.printf(
          "The action attribute in the reCAPTCHA tag '%s' does not match "
              + "the action '%s' you are expecting to score",
          tokenProperties.getAction(), recaptchaAction);
      return false;
    }
    return true;
  }
}

Risikobewertung der kritischen Nutzerereignisse auswerten

Wenn Sie eine Bewertung mit aktiviertem Account Defender erstellen, gibt accountDefenderAssessment als Teil der Bewertungsantwort zurück. Anhand des Werts von accountDefenderAssessment können Sie beurteilen, ob die Nutzeraktivität legitim oder betrügerisch ist. Außerdem wird eine Bewertungs-ID zurückgegeben, die Sie beim Annotieren von Nutzerereignissen verwenden müssen.

Das folgende Beispiel ist eine Beispiel-JSON-Antwort:

{
  "tokenProperties": {
    "valid": true,
    "hostname": "www.google.com",
    "action": "login",
    "createTime": "2019-03-28T12:24:17.894Z"
   },
  "riskAnalysis": {
    "score": 0.6,
  },
 "event": {
    "token": "TOKEN",
    "siteKey": "KEY_ID",
    "expectedAction": "USER_ACTION"
  },
  "name": "projects/PROJECT_ID/assessments/b6ac310000000000X",
  "accountDefenderAssessment": {
    labels: ["SUSPICIOUS_LOGIN_ACTIVITY"]
  }
}

Das Feld accountDefenderAssessment kann einen der folgenden Werte haben:

Wert Beschreibung
SUSPICIOUS_LOGIN_ACTIVITY Gibt an, dass die Anfrage ein hohes Risiko für einen Identitätsdiebstahl oder eine Kontoübernahme darstellt.
SUSPICIOUS_ACCOUNT_CREATION Gibt an, dass die Anfrage einen hohen die Gefahr der missbräuchlichen Kontoerstellung besteht.
PROFILE_MATCH

Gibt an, dass die Attribute des Nutzers mit den Attribute, die bereits für diesen Nutzer erkannt wurden. Dieser Wert ist ein Indikator dafür, dass dieser Nutzer sich auf einem vertrauenswürdigen Gerät befindet, das bereits zuvor zum Zugriff auf Ihre Website verwendet wurde.

PROFILE_MATCH wird nur in den folgenden Fällen zurückgegeben:

  • Sie verwenden die Multi-Faktor-Authentifizierung(MFA) oder die 2-Faktor-Authentifizierung(2FA). und reCAPTCHA Account Defender markiert Nutzerprofile als vertrauenswürdig, nachdem Nutzer bestehen die MFA- oder 2FA-Challenge.
  • Sie kennzeichnen Bewertungen als LEGITIMATE oder PASSED_TWO_FACTOR und reCAPTCHA Account Defender kennzeichnet das entsprechende Nutzerprofil als vertrauenswürdig.
RELATED_ACCOUNTS_NUMBER_HIGH Gibt an, dass die Anfrage sehr viele zugehörige Konten umfasst. Das bedeutet nicht unbedingt, dass das Konto schlecht ist. zu untersuchen.

Ereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren

Wenn Sie reCAPTCHA Account Defender weitere Informationen zur Verfügung stellen und Ihr websitespezifisches Erkennungsmodell verbessern möchten, müssen Sie die von Ihnen bewerteten Ereignisse durch Erstellen von Bewertungen annotieren.

Sie können eine Bewertung mit Anmerkungen versehen, indem Sie eine Anfrage an den projects.assessments.annotate senden durch die Bewertungs-ID. Der Text dieser Anfrage enthält Labels zusätzliche Informationen zu einem in der Bewertung beschriebenen Ereignis zur Verfügung stellen.

So fügen Sie Anmerkungen zu einer Bewertung hinzu:

  1. Legen Sie die Informationen und Labels fest, die dem JSON-Anfragetext hinzugefügt werden sollen je nach Anwendungsfall.

    In der folgenden Tabelle sind die Labels und Werte aufgeführt, mit denen Sie Ereignisse annotieren können:

    Label Beschreibung Anfragebeispiel
    reasons Erforderlich. Ein Label zur Unterstützung Ihrer Prüfungen.

    Geben Sie Echtzeit-Ereignisdetails im reasons-Label innerhalb weniger Sekunden oder Minuten nach dem Ereignis an, da sie die Echtzeiterkennung beeinflussen.

    Für die Liste der mögliche Werte, siehe Werte für Gründe.

    Beispiel: Zur Erkennung von Kontoübernahmen annotieren Sie, ob die eingegebene Das Passwort für CORRECT_PASSWORD war richtig oder INCORRECT_PASSWORD-Werte. Wenn Sie Ihre eigene MFA bereitgestellt haben, können Sie die folgenden Werte hinzufügen: INITIATED_TWO_FACTOR und PASSED_TWO_FACTOR oder FAILED_TWO_FACTOR.

          {
          "reasons": ["INCORRECT_PASSWORD"]
          }
        
    annotation Optional. Ein Label zur Angabe der und die Seriosität der Bewertungen.

    Geben Sie Fakten zur Anmeldung und zur Validierung oder Korrektur Ihrer Risikobewertungen Label „annotation“.

    Mögliche Werte: LEGITIMATE oder FRAUDULENT.

    Sie können diese Informationen jederzeit oder als Teil eines Batchjobs senden. Wir empfehlen jedoch, diese Informationen in wenigen Sekunden oder Minuten zu senden nach dem Ereignis, da sie die Echtzeiterkennung beeinflussen.

          {
           "annotation": "LEGITIMATE"
          }
    
      
    accountId

    Optional. Ein Label, mit dem eine Konto-ID mit einem Ereignis verknüpft wird.

    Wenn Sie eine Bewertung ohne Konto-ID erstellt haben, verwenden Sie dieses Label, um das Konto anzugeben. ID eines Ereignisses, sofern verfügbar.

      {
       "accountId": "ACCOUNT_ID"
      }
  2. Erstellen Sie eine Anmerkungsanfrage mit den entsprechenden Labels.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ASSESSMENT_ID: Wert des name-Felds, der vom projects.assessments.create-Aufruf zurückgegeben wurde.
    • ANNOTATION: Optional. Ein Label zur Angabe, ob die Bewertung legitim oder betrügerisch ist.
    • REASONS: Optional. Gründe, die Ihre Anmerkung unterstützen. Für die Liste der möglichen Werte siehe Werte für Gründe.
    • ACCOUNT_ID: Optional. Die Kennung, die dem Nutzerkonto auf Ihrer Website eindeutig zugeordnet ist.

    Weitere Informationen finden Sie unter Labels für Anmerkungen.

    HTTP-Methode und URL:

    POST https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate

    JSON-Text der Anfrage:

    {
      "annotation": ANNOTATION,
      "reasons": REASONS,
      "accountId": ACCOUNT_ID
    }
    

    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/ASSESSMENT_ID:annotate"

    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/ASSESSMENT_ID:annotate" | Select-Object -Expand Content

    Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Codebeispiel

Java

Richten Sie zur Authentifizierung bei reCAPTCHA die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseServiceClient;
import com.google.protobuf.ByteString;
import com.google.recaptchaenterprise.v1.AnnotateAssessmentRequest;
import com.google.recaptchaenterprise.v1.AnnotateAssessmentRequest.Annotation;
import com.google.recaptchaenterprise.v1.AnnotateAssessmentRequest.Reason;
import com.google.recaptchaenterprise.v1.AnnotateAssessmentResponse;
import com.google.recaptchaenterprise.v1.AssessmentName;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;

public class AnnotateAccountDefenderAssessment {

  public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
    // TODO(developer): Replace these variables before running the sample.
    // projectID: GCloud Project id.
    String projectID = "project-id";

    // assessmentId: Value of the 'name' field returned from the CreateAssessment call.
    String assessmentId = "account-defender-assessment-id";

    // accountId: Set the accountId corresponding to the assessment id.
    String accountId = "default" + UUID.randomUUID().toString().split("-")[0];

    annotateAssessment(projectID, assessmentId, accountId);
  }

  /**
   * Pre-requisite: Create an assessment before annotating. Annotate an assessment to provide
   * feedback on the correctness of recaptcha prediction.
   */
  public static void annotateAssessment(
      String projectID, String assessmentId, String accountId) throws IOException {

    try (RecaptchaEnterpriseServiceClient client = RecaptchaEnterpriseServiceClient.create()) {
      // Build the annotation request.
      // For more info on when/how to annotate, see:
      // https://cloud.google.com/recaptcha-enterprise/docs/annotate-assessment#when_to_annotate
      AnnotateAssessmentRequest annotateAssessmentRequest =
          AnnotateAssessmentRequest.newBuilder()
              .setName(AssessmentName.of(projectID, assessmentId).toString())
              .setAnnotation(Annotation.LEGITIMATE)
              .addReasons(Reason.PASSED_TWO_FACTOR)
              .setAccountId(accountId)
              .build();

      // Empty response is sent back.
      AnnotateAssessmentResponse response = client.annotateAssessment(annotateAssessmentRequest);
      System.out.println("Annotated response sent successfully ! " + response);
    }
  }
}

reCAPTCHA Account Defender aktivieren

Nachdem Sie Ihre Webseiten für reCAPTCHA Account Defender konfiguriert haben, können Sie reCAPTCHA Account Defender aktivieren.

  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 angezeigt wird oben auf der Seite.

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

  3. Klicken Sie auf Einstellungen.
  4. Klicken Sie im Bereich Kontoschutz auf Konfigurieren.

  5. Klicken Sie im Dialogfeld Kontoschutz konfigurieren auf Aktivieren und dann auf Speichern.

Der reCAPTCHA Account Defender kann einige Stunden dauern Daten an unsere Systeme weiterzugeben. Nachdem die Aktivierung der Funktion in unseren Systemen übernommen wurde, sollten Sie im Rahmen der Bewertungen Antworten zu Account Defender erhalten.

Nächste Schritte