本文說明如何將有效網站金鑰從 reCAPTCHA Classic 遷移至Google Cloud 專案中的 reCAPTCHA 層級。您可以透過 reCAPTCHA 管理控制台 (建議) 或 Google Cloud 控制台遷移網站金鑰。遷移程序大約需要 5 到 10 分鐘,且無須變更任何程式碼。
如果您在 reCAPTCHA 管理控制台中管理金鑰,則表示您使用的是 reCAPTCHA Classic,這項服務的功能有限,且每月使用量有嚴格限制。只有在 Google Cloud 專案中管理的網站金鑰,才能使用最新的 reCAPTCHA 功能。如要進一步瞭解可用功能,請參閱「比較 reCAPTCHA 層級」。
完成遷移程序後,系統會進行下列變更:
- 您的網站金鑰會顯示在專案中, Google Cloud 不會有任何變更。
- 現有的 reCAPTCHA 整合功能會繼續運作,無須變更程式碼。您可以保留相同的網頁插碼和後端呼叫。不過,如要使用帳戶防護或密碼防護等功能,必須修改網頁檢測和後端呼叫。詳情請參閱「遷移後使用 reCAPTCHA 功能」。
- 如果超過 reCAPTCHA 的每月免費額度 (每月 10,000 次評估),系統就會向您收費。詳情請參閱「帳單資訊」。
使用 reCAPTCHA 管理控制台遷移
- 前往 reCAPTCHA 管理控制台。 
- 選取要將金鑰遷移至的專案。 
- 選取要遷移的金鑰。 
- 按一下「提交」。 
Google Cloud 控制台隨即開啟,並顯示您的專案和遷移的金鑰。
使用 Google Cloud 控制台遷移
事前準備
- 
        
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
  
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
        
  
   
   
  
   
   
  
  
    Verify that billing is enabled for your Google Cloud project. 如要遷移,專案必須連結並啟用帳單功能,才能使用 reCAPTCHA。你可以使用信用卡或現有 Google Cloud 專案帳單 ID 啟用帳單功能。如需帳單方面的協助,請與 Cloud 帳單支援團隊聯絡。 
- 如要在 Google Cloud 控制台以外執行 gcloud CLI,請安裝並初始化 gcloud CLI。如需相關操作說明,請參閱
      
      
  
   
   
  
  
   
   
  
 
 
   
   
      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI: gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。 
啟用 reCAPTCHA Enterprise API
所有 reCAPTCHA 級別 (Essentials、Standard 和 Enterprise) 都使用 reCAPTCHA Enterprise API 運作。
控制台
- 在 Google Cloud 控制台中,前往「reCAPTCHA Enterprise API」頁面。 
- 確認頁面頂端的專案選取器中顯示專案名稱。 - 如果沒有看到專案名稱,請按一下專案選取器,然後選取專案。 
- 按一下「啟用」。
gcloud
- 
    
    
  
   
   
  
 
   
 
 
 
  
  
    In the Google Cloud console, activate Cloud Shell. 
- 如要在 gcloud 工作階段中設定專案,請執行 gcloud config set projectGoogle Cloud 指令。將 PROJECT_ID 替換為您的 Google Cloud 專案 ID。gcloud config set project PROJECT_ID
- 如要啟用 reCAPTCHA Enterprise API,請執行 gcloud services enable指令:gcloud services enable recaptchaenterprise.googleapis.com
- 如要確認 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)
 
- 專案擁有者 (
- 使用 Google Cloud 控制台、Google Cloud CLI 或 reCAPTCHA Enterprise API 遷移網站金鑰。 - 遷移網站金鑰不會影響金鑰或 API 端點,只會將金鑰新增至企業授權。 - Google Cloud 控制台- 前往 Google Cloud 控制台的「reCAPTCHA」reCAPTCHA頁面。 
- 確認頁面頂端的資源選取器中顯示了專案名稱。如果沒有看到專案名稱,請按一下資源選取器,然後選取專案。 
- 在「傳統金鑰」部分,找出要遷移的金鑰,然後按一下「升級金鑰」。     
- 如要完成所選金鑰的遷移作業,請按一下「確認」。 
 - gcloud CLI- 如要設定驗證,請執行下列 - gcloud指令:- gcloud auth login- 使用擁有選定網站金鑰的 reCAPTCHA 使用者帳戶登入,並具備下列其中一個角色:專案擁有者、專案編輯者或 reCAPTCHA Enterprise 管理員角色。 
- 選擇並複製您用來整合 reCAPTCHA 與網頁的有效網站金鑰: - 前往 reCAPTCHA 管理控制台,然後按一下 。
- 選擇網站金鑰。遷移作業支援下列 reCAPTCHA 網站金鑰:reCAPTCHA v2 核取方塊、reCAPTCHA v2 隱形和 reCAPTCHA v3。 
- 如要複製網站金鑰,請按一下「複製網站金鑰」。 
 
- 遷移網站金鑰。 - 使用 - 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- 選擇並複製您用來整合 reCAPTCHA 與網頁的有效網站金鑰: - 前往 reCAPTCHA 管理控制台,然後按一下 。
- 選擇網站金鑰。遷移作業支援下列 reCAPTCHA 網站金鑰:reCAPTCHA v2 核取方塊、reCAPTCHA v2 隱形和 reCAPTCHA v3。 
- 如要複製網站金鑰,請按一下「複製網站金鑰」。 
 
- 遷移網站金鑰。 < - 使用任何要求資料之前,請先替換以下項目: - 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" } }
 
- 如要確認網站金鑰已遷移,請按照下列步驟操作: - Google Cloud 控制台- 前往 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 角色。你可以請管理員撤銷存取權,或按照「授予、變更及撤銷存取權」一文中的說明操作。