快速入门:从 reCAPTCHA 迁移

本快速入门介绍如何使用有效网站密钥从 reCAPTCHA(非 Enterprise 版)迁移到 reCAPTCHA Enterprise。迁移过程大约需要 5-10 分钟才能完成,并且不需要更改代码。

如果您当前访问 reCAPTCHA 管理控制台,那么您使用的是非 Enterprise 版 reCAPTCHA,它的功能有限,并且对每月用量有严格限制。如需详细了解功能比较,请参阅 reCAPTCHA 版本之间的功能比较

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

要进行迁移,您必须拥有有效的网站密钥。如果您没有有效的网站密钥,则无法使用此方法进行迁移。您可以通过选择适当的设置方法来设置 reCAPTCHA Enterprise。

准备工作

  1. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  2. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

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

  3. 安装并初始化 Cloud SDK

启用 reCAPTCHA Enterprise API

控制台

  1. 在 Cloud Console 中,转到 reCAPTCHA Enterprise API 页面。

    转到 reCAPTCHA Enterprise API

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

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

  3. 点击启用

gcloud

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

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

迁移到 reCAPTCHA Enterprise

从非 Enterprise 版 reCAPTCHA 迁移到 reCAPTCHA Enterprise 涉及从 reCAPTCHA 管理控制台选择有效的网站密钥以及迁移网站密钥。您可以迁移一个或多个有效网站密钥。但是,一次只能迁移一个网站密钥。

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

  • 在 reCAPTCHA 管理控制台中,用户帐号被列为要迁移的网站密钥的所有者。
  • 用户帐号具有启用了 reCAPTCHA Enterprise API 的 Google Cloud 项目的 reCAPTCHA Enterprise Admin (roles/recaptchaenterprise.admin) IAM 角色。如果您的用户帐号没有此角色,请让管理员授予该角色,或者按照授予、更改和撤消访问权限中的说明操作。

要将有效网站密钥迁移到 reCAPTCHA Enterprise,请执行以下操作:

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

      gcloud auth login
    

    使用拥有所选网站密钥并具有 reCAPTCHA Enterprise Admin 角色的 reCAPTCHA 用户帐号登录。

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

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

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

  3. 使用 gcloud 命令行工具或 reCAPTCHA Enterprise API 迁移网站密钥。

    gcloud

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

     gcloud alpha recaptcha keys migrate SITE_KEY --project PROJECT-ID
    

    请提供以下值:

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

    REST 和命令行

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

    • PROJECT_ID:启用了 reCAPTCHA Enterprise 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"
      }
    }
    

  4. 如需验证网站密钥是否已迁移,请执行以下操作:

    gcloud

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

    控制台

    转到 reCAPTCHA Enterprise 页面,在密钥列表中找到迁移后的网站密钥。

    转到 reCAPTCHA Enterprise

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

清除数据

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

后续步骤