在 Google Cloud 上设置 reCAPTCHA Enterprise
本快速入门指导您在 Google Cloud 上设置 reCAPTCHA Enterprise。如需在 Google Cloud 上设置 reCAPTCHA Enterprise,您需要启用 reCAPTCHA Enterprise API,创建服务账号,并为后端身份验证配置服务账号。本文档同时适用于 PaaS 选项(如 App Engine)和 IaaS 选项(如 Compute Engine 中的虚拟机)。
须知事项
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
控制台
在 Google Cloud 控制台中,转到 reCAPTCHA Enterprise API 页面。
验证项目名称是否显示在页面顶部的项目选择器中。
如果您没有看到项目名称,请点击项目选择器,然后选择您的项目。
- 点击启用。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
- 如需在 gcloud 会话中设置 Google Cloud 项目,请运行
gcloud config set project
命令。将 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 列表中列出。
配置服务帐号以进行后端身份验证
您在 Google Cloud 环境中为后端身份验证配置服务账号的方式取决于您使用的产品,例如 App Engine、Compute Engine 和 Google Kubernetes Engine (GKE)。
App Engine
对于 App Engine,您可以使用 reCAPTCHA Enterprise 客户端库对服务账号进行身份验证。
-
通过设置环境变量
GOOGLE_APPLICATION_CREDENTIALS
向应用代码提供身份验证凭据。此变量仅适用于当前的 Shell 会话。如果您希望变量应用于未来的 Shell 会话,请在 shell 启动文件中设置变量,例如在~/.bashrc
或~/.profile
文件中。Linux 或 macOS
export GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
对于 PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
对于命令提示符:
set GOOGLE_APPLICATION_CREDENTIALS=
KEY_PATH
将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。 - 安装客户端库。
C#
如需了解详情,请参阅设置 C# 开发环境。Install-Package Google.Cloud.RecaptchaEnterprise.V1
Go
如需了解详情,请参阅设置 Go 开发环境。go get cloud.google.com/go/recaptchaenterprise/apiv1
Java
如需了解详情,请参阅设置 Java 开发环境。如果您使用的是 Maven,请将以下代码添加到您的
pom.xml
文件中。如需详细了解 BOM,请参阅 Google Cloud Platform 库 BOM。如果您使用的是 Gradle,请将以下代码添加到您的依赖项中:
如果您使用的是 sbt,请将以下代码添加到您的依赖项中:
如果您使用的是 Visual Studio Code、IntelliJ 或 Eclipse,可以通过以下 IDE 插件将客户端库添加到您的项目中:
上述插件还提供其他功能,例如服务账号密钥管理。如需了解详情,请参阅各个插件相应的文档。
Node.js
如需了解详情,请参阅设置 Node.js 开发环境。npm install --save @google-cloud/recaptcha-enterprise
PHP
如需了解详情,请参阅在 Google Cloud 上使用 PHP。将该库作为依赖项添加到您的composer.json
文件中:composer require google/cloud-recaptcha-enterprise
或者,您也可以在本地下载软件包。Python
如需了解详情,请参阅设置 Python 开发环境。pip install --upgrade google-cloud-recaptcha-enterprise
Ruby
如需了解详情,请参阅设置 Ruby 开发环境。gem install google-cloud-recaptcha_enterprise
现在,您创建的服务账号可以用于后端身份验证。创建评估时,您可以使用 reCAPTCHA Enterprise 客户端库对服务账号进行身份验证。
Compute Engine
您可以使用 reCAPTCHA Enterprise 客户端库或 Google Cloud CLI 配置您为后端身份验证创建的新服务帐号。
reCAPTCHA Enterprise 客户端库
-
通过设置环境变量
GOOGLE_APPLICATION_CREDENTIALS
向应用代码提供身份验证凭据。此变量仅适用于当前的 Shell 会话。如果您希望变量应用于未来的 Shell 会话,请在 shell 启动文件中设置变量,例如在~/.bashrc
或~/.profile
文件中。Linux 或 macOS
export GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
对于 PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
对于命令提示符:
set GOOGLE_APPLICATION_CREDENTIALS=
KEY_PATH
将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。 - 安装客户端库。
C#
如需了解详情,请参阅设置 C# 开发环境。Install-Package Google.Cloud.RecaptchaEnterprise.V1
Go
如需了解详情,请参阅设置 Go 开发环境。go get cloud.google.com/go/recaptchaenterprise/apiv1
Java
如需了解详情,请参阅设置 Java 开发环境。如果您使用的是 Maven,请将以下代码添加到您的
pom.xml
文件中。如需详细了解 BOM,请参阅 Google Cloud Platform 库 BOM。如果您使用的是 Gradle,请将以下代码添加到您的依赖项中:
如果您使用的是 sbt,请将以下代码添加到您的依赖项中:
如果您使用的是 Visual Studio Code、IntelliJ 或 Eclipse,可以通过以下 IDE 插件将客户端库添加到您的项目中:
上述插件还提供其他功能,例如服务账号密钥管理。如需了解详情,请参阅各个插件相应的文档。
Node.js
如需了解详情,请参阅设置 Node.js 开发环境。npm install --save @google-cloud/recaptcha-enterprise
PHP
如需了解详情,请参阅在 Google Cloud 上使用 PHP。将该库作为依赖项添加到您的composer.json
文件中:composer require google/cloud-recaptcha-enterprise
或者,您也可以在本地下载软件包。Python
如需了解详情,请参阅设置 Python 开发环境。pip install --upgrade google-cloud-recaptcha-enterprise
Ruby
如需了解详情,请参阅设置 Ruby 开发环境。gem install google-cloud-recaptcha_enterprise
现在,您创建的服务账号可以用于后端身份验证。创建评估时,您可以使用 reCAPTCHA Enterprise 客户端库对服务账号进行身份验证。
gcloud 命令行
-
安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:
gcloud init
-
通过设置环境变量
GOOGLE_APPLICATION_CREDENTIALS
向应用代码提供身份验证凭据。此变量仅适用于当前的 Shell 会话。如果您希望变量应用于未来的 Shell 会话,请在 shell 启动文件中设置变量,例如在~/.bashrc
或~/.profile
文件中。Linux 或 macOS
export GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
对于 PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="
KEY_PATH
"将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。例如:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
对于命令提示符:
set GOOGLE_APPLICATION_CREDENTIALS=
KEY_PATH
将
KEY_PATH
替换为包含凭据的 JSON 文件的路径。
现在,您创建的服务账号可以用于后端身份验证。创建评估时,您可以使用 gcloud CLI 对服务帐号进行身份验证。
GKE
将 Workload Identity 与服务账号结合使用,以便从 GKE 内运行的应用访问 Google Cloud 服务。
如需详细了解如何创建服务账号,请参阅为后端身份验证创建服务账号。
后续步骤
- 确定要使用的 reCAPTCHA(网站)密钥的类型并创建 reCAPTCHA 密钥。
-
或
将 reCAPTCHA Enterprise 与 Android 应用或 iOS 应用集成。
创建评估。
解读评估,并根据得分对您的网站采取适当的措施。