從 reCAPTCHA Classic 遷移

本文說明如何將有效網站金鑰從 reCAPTCHA Classic 遷移至Google Cloud 專案中的 reCAPTCHA 層級。您可以透過 reCAPTCHA 管理控制台 (建議) 或 Google Cloud 控制台遷移網站金鑰。遷移程序大約需要 5 到 10 分鐘,且無須變更任何程式碼。

如果您在 reCAPTCHA 管理控制台中管理金鑰,則表示您使用的是 reCAPTCHA Classic,這項服務的功能有限,且每月使用量有嚴格限制。只有在 Google Cloud 專案中管理的網站金鑰,才能使用最新的 reCAPTCHA 功能。如要進一步瞭解可用功能,請參閱「比較 reCAPTCHA 層級」。

完成遷移程序後,系統會進行下列變更:

  • 您的網站金鑰會顯示在專案中, Google Cloud 不會有任何變更。
  • 現有的 reCAPTCHA 整合功能會繼續運作,您無須變更程式碼。您可以保留相同的網頁插碼和後端呼叫。不過,如要使用帳戶防護或密碼防護等功能,必須修改網頁檢測和後端呼叫。詳情請參閱「遷移後使用 reCAPTCHA 功能」。
  • 如果每月評估次數超過 10,000 次,系統就會開始收費。詳情請參閱「帳單資訊」。

使用 reCAPTCHA 管理控制台遷移

  1. 前往 reCAPTCHA 管理控制台。

    前往 reCAPTCHA 管理控制台

  2. 選取要將金鑰遷移至的專案。

  3. 選取要遷移的金鑰。

  4. 按一下「提交」

Google Cloud 控制台隨即開啟,並顯示您的專案和遷移的金鑰。

使用 Google Cloud 控制台遷移

事前準備

  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.

    如要遷移,專案必須連結並啟用帳單功能,您可以使用信用卡或現有 Google Cloud 專案帳單 ID 啟用帳單功能。如需帳單方面的協助,請與 Cloud 帳單支援團隊聯絡。

  3. 如要在 Google Cloud 控制台以外執行 gcloud CLI,請安裝並初始化 gcloud CLI。如需操作說明,請參閱

    After installing the Google Cloud CLI, initialize it by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

啟用 reCAPTCHA Enterprise API

所有 reCAPTCHA 級別 (Essentials、Standard 和 Enterprise) 都使用 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 工作階段中設定專案,請執行 gcloud config set project Google Cloud 指令。將 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 的專案中,具備下列其中一個 IAM 角色: Google Cloud
    • 專案擁有者 (roles/owner)
    • 專案編輯者 (roles/editor)
    • reCAPTCHA 管理員 (roles/recaptchaenterprise.admin)
    如果您的使用者帳戶不具備上述任一角色,請要求管理員授予角色,或按照「授予、變更及撤銷存取權」一文中的操作說明進行。
  1. 使用 Google Cloud 控制台、Google Cloud CLI 或 reCAPTCHA Enterprise API 遷移網站金鑰。

    遷移網站金鑰不會影響金鑰或 API 端點,只會將金鑰新增至企業授權。

    Google Cloud 控制台

    1. 前往 Google Cloud 控制台的「reCAPTCHA」reCAPTCHA頁面。

      前往 reCAPTCHA

    2. 確認頁面頂端的資源選取器中顯示了專案名稱。如果沒有看到專案名稱,請按一下資源選取器,然後選取專案。

    3. 在「傳統金鑰」部分,找出要遷移的金鑰,然後按一下「升級金鑰」

    4. 如要完成所選金鑰的遷移作業,請按一下「確認」

    gcloud CLI

    1. 如要設定驗證,請執行下列 gcloud 指令:

      gcloud auth login
      

      使用擁有選定網站金鑰的 reCAPTCHA 使用者帳戶登入,並具備下列其中一個角色:專案擁有者專案編輯者reCAPTCHA Enterprise 管理員角色。

    2. 選擇並複製您用來整合 reCAPTCHA 與網頁的有效網站金鑰:

      1. 前往 reCAPTCHA 管理控制台,然後按一下
      2. 選擇網站金鑰。遷移作業支援下列 reCAPTCHA 網站金鑰:reCAPTCHA v2 核取方塊、reCAPTCHA v2 隱形和 reCAPTCHA v3。

      3. 如要複製網站金鑰,請按一下「複製網站金鑰」

    3. 遷移網站金鑰。

      使用 gcloud recaptcha keys migrate 指令,如以下範例所示:

       gcloud recaptcha keys migrate SITE_KEY --project PROJECT-ID
      

      提供以下這些值:

      • SITE_KEY:您從 reCAPTCHA 管理主控台複製的有效網站金鑰。
      • PROJECT-ID:啟用 reCAPTCHA Enterprise API 的專案 ID。 Google Cloud

    REST API

    1. 選擇並複製您用來整合 reCAPTCHA 與網頁的有效網站金鑰:

      1. 前往 reCAPTCHA 管理控制台,然後按一下
      2. 選擇網站金鑰。遷移作業支援下列 reCAPTCHA 網站金鑰:reCAPTCHA v2 核取方塊、reCAPTCHA v2 隱形和 reCAPTCHA v3。

      3. 如要複製網站金鑰,請按一下「複製網站金鑰」

    2. 遷移網站金鑰。 <

      使用任何要求資料之前,請先替換以下項目:

      • PROJECT_ID:已啟用 reCAPTCHA API 的專案 ID。 Google Cloud
      • 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

    gcloud CLI

    執行 gcloud recaptcha keys list 指令,並在金鑰清單中找出已遷移的網站金鑰。

遷移至 reCAPTCHA 後,您仍可使用 siteverify 方法評估使用者的 reCAPTCHA 回應權杖。如要瞭解回應的相關資訊,請參閱「siteverify method 的回應」。

網站金鑰遷移至 reCAPTCHA 後,系統會開始記錄使用情況,並在 一小時內顯示在 Google Cloud 控制台中,包括使用情況和分數相關資訊主控台。一般來說, Google Cloud 控制台不會顯示遷移前的用量。

您可以從 reCAPTCHA 使用者帳戶撤銷 reCAPTCHA Enterprise 管理員 (roles/recaptchaenterprise.admin) IAM 角色。你可以請管理員撤銷存取權,或按照「授予、變更及撤銷存取權」一文中的說明操作。

後續步驟