本文說明如何將有效網站金鑰從 reCAPTCHA 舊版遷移至Google Cloud 專案中的 reCAPTCHA。您可以透過 reCAPTCHA 管理控制台 (建議使用) 或控制台 Google Cloud 遷移網站金鑰。遷移程序大約需要 5 到 10 分鐘,而且不需要變更任何程式碼。
如果您在 reCAPTCHA 管理控制台中管理金鑰,則您使用的是 reCAPTCHA Classic。如要使用最新的 reCAPTCHA 功能,網站金鑰必須在 Google Cloud 專案中管理。如要進一步瞭解可用功能,請參閱「比較 reCAPTCHA 層級」。
完成遷移程序後,系統會進行下列變更:
- 您的網站金鑰會顯示在專案中, Google Cloud 不會有任何變更。
- 現有的 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 role
(
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 替換為專案 ID。 Google Cloudgcloud 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 keys」(reCAPTCHA 金鑰) 部分中找到已遷移的網站金鑰。
gcloud CLI
執行
gcloud recaptcha keys list指令,並在金鑰清單中找出已遷移的網站金鑰。
遷移至 reCAPTCHA 後,您仍可使用 siteverify 方法評估使用者的 reCAPTCHA 回應權杖。如要瞭解回應相關資訊,請參閱「siteverify method 的回應」。
網站金鑰遷移至 reCAPTCHA 後,系統會開始記錄使用情況,並在 1 小時內顯示在 Google Cloud 控制台中,包括使用情況和分數相關資訊主控台。一般來說, Google Cloud 控制台不會顯示遷移前的用量。
您可以從 reCAPTCHA 使用者帳戶撤銷 reCAPTCHA Enterprise 管理員 (roles/recaptchaenterprise.admin) IAM 角色。你可以請管理員撤銷存取權,或按照「授予、變更及撤銷存取權」一文中的說明操作。