从 reCAPTCHA 传统版迁移

本文档介绍了如何使用有效的网站密钥从 reCAPTCHA 传统版迁移到 reCAPTCHA。迁移过程需要 5-10 分钟才能完成,并且不需要更改代码。

如果您访问 reCAPTCHA 管理控制台,则表示您使用的是 reCAPTCHA 传统版,该版本的功能有限,并且对每月用量设有严格限制。如需详细了解功能比较,请参阅 reCAPTCHA 版本之间的功能比较

迁移后,您将成为 reCAPTCHA 用户,每个月的请求数超过 1 万次时才需要付费。如需了解详情,请参阅 reCAPTCHA 价格

准备工作

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

    reCAPTCHA 要求在项目上关联并启用结算功能才能进行迁移。您可以使用信用卡或现有的 Google Cloud 项目结算 ID 来启用结算功能。如果您需要结算方面的帮助,请与 Cloud Billing 支持团队联系。

  3. 如果要在 Google Cloud 控制台外部运行 gcloud CLI,请安装并初始化 gcloud CLI。如需查看相关说明,请参阅以下内容:

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

启用 reCAPTCHA Enterprise API

控制台

  1. 在 Google Cloud 控制台中,前往 reCAPTCHA Enterprise API 页面。

    转到 reCAPTCHA Enterprise API

  2. 验证项目名称是否显示在页面顶部的项目选择器中。

    如果您没有看到项目名称,请点击项目选择器,然后选择您的项目。

  3. 点击启用

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 如需在 gcloud 会话中设置 Google Cloud 项目,请运行 gcloud config set project 命令。将 PROJECT_ID 替换为您的 Google Cloud 项目 ID。
           gcloud config set project PROJECT_ID
           
  3. 如需启用 reCAPTCHA Enterprise API,请运行 gcloud services enable 命令:
             gcloud services enable recaptchaenterprise.googleapis.com
           
  4. 如需验证 reCAPTCHA Enterprise API 是否已启用,请运行 gcloud services list 命令:
             gcloud services list --enabled
           

    验证 reCAPTCHA Enterprise API 是否在已启用的 API 列表中列出。

迁移到 reCAPTCHA

如需将 reCAPTCHA 传统版迁移到 reCAPTCHA,请从 reCAPTCHA 管理控制台选择有效的网站密钥,然后迁移网站密钥。您可以迁移一个或多个有效网站密钥。但是,一次只能迁移一个网站密钥。

要执行迁移过程,您必须有满足以下要求的 reCAPTCHA 用户账号:

  • 在 reCAPTCHA 管理控制台中,用户账号被列为要迁移的网站密钥的所有者。
  • 对于启用了 reCAPTCHA Enterprise API 的 Google Cloud 项目,该用户账号具有以下 IAM 角色之一:
    • Project Owner (roles/owner)
    • Project Editor (roles/editor)
    • reCAPTCHA Admin (roles/recaptchaenterprise.admin)
    如果您的用户账号没有这些角色之一,请让您的管理员授予其中一个角色,或按照授予、更改和撤消访问权限中的说明操作。
  1. 使用 Google Cloud 控制台、Cloud Shell、Google Cloud CLI 或 reCAPTCHA Enterprise API 迁移网站密钥。

    迁移网站密钥不会影响密钥或 API 端点;它会将密钥添加到企业许可中。

    Google Cloud 控制台

    1. 在 Google Cloud 控制台中,前往 reCAPTCHA 页面。

      前往 reCAPTCHA

    2. 验证项目名称是否显示在页面顶部的资源选择器中。如果您没有看到项目名称,请点击资源选择器,然后选择您的项目。

    3. 传统密钥部分中,找到要迁移的密钥,然后点击升级密钥

    4. 如需完成所选密钥的迁移,请点击确认

    Cloud Shell

    1. Google Cloud 控制台中,前往 Cloud Shell

      转到 Cloud Shell

    2. 如果出现提示,请点击授权

    3. 选择并复制您用于将 reCAPTCHA 与网页集成的有效网站密钥:

      1. 转到 reCAPTCHA 管理控制台,然后点击
      2. 选择网站密钥。迁移支持以下 reCAPTCHA 网站密钥:reCAPTCHA v2 Checkbox、reCAPTCHA v2 Invisible 和 reCAPTCHA v3。

      3. 要复制网站密钥,请点击 Copy site key

    4. 迁移网站密钥。

      如以下示例所示运行 gcloud recaptcha keys migrate 命令:

       gcloud recaptcha keys migrate SITE_KEY --project PROJECT-ID
      

      请提供以下值:

      • SITE_KEY:您从 reCAPTCHA 管理控制台复制的有效网站密钥。
      • PROJECT-ID:启用了 reCAPTCHA Enterprise API 的 Google Cloud 项目的 ID。

    gcloud CLI

    1. 如需配置身份验证,请运行以下 gcloud 命令:

      gcloud auth login
      

      使用拥有所选网站密钥且具有以下角色之一的 reCAPTCHA 用户账号登录:Project OwnerProject EditorreCAPTCHA Enterprise Admin 角色。

    2. 选择并复制您用于将 reCAPTCHA 与网页集成的有效网站密钥:

      1. 转到 reCAPTCHA 管理控制台,然后点击
      2. 选择网站密钥。迁移支持以下 reCAPTCHA 网站密钥:reCAPTCHA v2 Checkbox、reCAPTCHA v2 Invisible 和 reCAPTCHA v3。

      3. 要复制网站密钥,请点击 Copy site key

    3. 迁移网站密钥。

      如以下示例所示运行 gcloud recaptcha keys migrate 命令:

       gcloud recaptcha keys migrate SITE_KEY --project PROJECT-ID
      

      请提供以下值:

      • SITE_KEY:您从 reCAPTCHA 管理控制台复制的有效网站密钥。
      • PROJECT-ID:启用了 reCAPTCHA Enterprise API 的 Google Cloud 项目的 ID。

    REST API

    1. 选择并复制您用于将 reCAPTCHA 与网页集成的有效网站密钥:

      1. 转到 reCAPTCHA 管理控制台,然后点击
      2. 选择网站密钥。迁移支持以下 reCAPTCHA 网站密钥:reCAPTCHA v2 Checkbox、reCAPTCHA v2 Invisible 和 reCAPTCHA v3。

      3. 要复制网站密钥,请点击 Copy site key

    2. 迁移网站密钥。

      在使用任何请求数据之前,请先进行以下替换:

      • PROJECT_ID:启用了 reCAPTCHA API 的 Google Cloud 项目的 ID。
      • SITE_KEY:您从 reCAPTCHA 管理控制台复制的有效网站密钥。

      HTTP 方法和网址:

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

      如需发送请求,请选择以下方式之一:

      curl

      执行以下命令:

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

      PowerShell

      执行以下命令:

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

      Invoke-WebRequest `
      -Method POST `
      -Headers $headers `
      -Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys/SITE_KEY:migrate" | Select-Object -Expand Content

      您应该收到类似以下内容的 JSON 响应:

      {
        "name": "projects/PROJECT-ID/keys/6Ldqgs0UAAAAAIn4k7YxEB-LwEh5S9-Gv6IIWB8m",
        "displayName": "My site key",
        "webSettings": {
          "allowAllDomains": false,
          "allowedDomains": [
            recaptcha.net
          ],
          "allowAmpTraffic": false,
          "integrationType": "SCORE",
          "challengeSecurityPreference": "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED"
        }
      }
      

  2. 如需验证网站密钥是否已迁移,请按如下所述操作:

    Google Cloud 控制台

    前往 reCAPTCHA 页面,然后在 reCAPTCHA 密钥部分中找到迁移后的网站密钥。

    前往 reCAPTCHA

    Cloud Shell

    运行 gcloud recaptcha keys list 命令并在密钥列表中找到迁移后的网站密钥。

    gcloud CLI

    运行 gcloud recaptcha keys list 命令并在密钥列表中找到迁移后的网站密钥。

迁移到 reCAPTCHA 后,您可以继续使用 siteverify 方法评估用户的 reCAPTCHA 响应令牌。

您可以撤消 reCAPTCHA 用户账号中的 reCAPTCHA Enterprise Admin (roles/recaptchaenterprise.admin) IAM 角色。您可以要求管理员撤消访问权限,也可以按照授予、更改和撤消访问权限中的说明操作。

后续步骤