Google Cloud での reCAPTCHA Enterprise の設定

このクイックスタートでは、Google Cloud で reCAPTCHA Enterprise を設定する方法について説明します。Google Cloud で reCAPTCHA Enterprise を設定するには、reCAPTCHA Enterprise API を有効にして、サービス アカウントを作成し、バックエンド認証用のサービス アカウントを構成する必要があります。このドキュメントは、App Engine などの PaaS オプションと、Compute Engine の仮想マシンなどの IaaS オプションの両方に適用できます。

始める前に

  1. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

    reCAPTCHA Enterprise から API にアクセスするには、課金をプロジェクトにリンクして有効にする必要があります。課金は、クレジット カードまたは既存の Google Cloud プロジェクトの課金 ID を使用して有効にできます。課金についてサポートが必要な場合は、Cloud Billing サポートまでお問い合わせください。

reCAPTCHA Enterprise API の有効化

Console

  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 のリストに含まれていることを確認します。

バックエンド認証用のサービス アカウントの作成

Console

  1. Cloud Console で、[サービス アカウント] ページに移動します。

    [サービス アカウント] に移動

  2. reCAPTCHA Enterprise API を有効にしたプロジェクトを選択します。
  3. [サービス アカウントを作成] をクリックします。
  4. Cloud Console に表示するサービス アカウント名を入力します。

    Cloud Console は、この名前に基づいてサービス アカウント ID を生成します。 必要に応じて ID を編集します。後で ID を変更することはできません。

  5. (省略可)サービス アカウントの説明を入力します。
  6. [作成] をクリックします。
  7. [ロールを選択] プルダウン メニューから [reCAPTCHA Enterprise エージェント] を選択します。
  8. [完了] をクリックします。
  9. サービス アカウントのリストで、作成したサービス アカウントのメールアドレスをクリックします。
  10. [] をクリックします。
  11. [鍵を追加]、[新しい鍵を作成] の順に選択します。
  12. ダイアログで [JSON] を選択し、[作成] をクリックします。

    キーを含む JSON ファイルがパソコンにダウンロードされます。

  13. [閉じる] をクリックします。

gcloud

  1. サービス アカウントを作成します。NAME をサービス アカウントの名前に置き換えます。

    gcloud iam service-accounts create NAME
  2. サービス アカウントに reCAPTCHA Enterprise エージェントroles/recaptchaenterprise.agent)権限を付与します。次の値を置き換えます。

    • PROJECT_ID: Google Cloud プロジェクト ID
    • NAME: 権限を付与するサービス アカウントの名前
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/recaptchaenterprise.agent"
         
  3. サービス アカウント キー ファイルを作成します。次の値を置き換えます。

    • KEY_PATH: 秘密鍵の新しい出力ファイルのパス(例: /home/user/Downloads/service-account-file.json)。
    • NAME: 鍵を作成するサービス アカウントの名前
    • PROJECT_ID: Google Cloud プロジェクト ID
    gcloud iam service-accounts keys create KEY_PATH --iam-account=NAME@PROJECT_ID.iam.gserviceaccount.com

バックエンド認証用のサービス アカウントの構成

Google Cloud 環境でバックエンド認証用にサービス アカウントを構成する方法は、App Engine、Compute Engine、Google Kubernetes Engine(GKE)など、ご使用のプロダクトによって異なります。

App Engine

App Engine の場合は、reCAPTCHA Enterprise クライアント ライブラリを使用してサービス アカウントを認証できます。

  1. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を設定して、アプリケーション コードに認証情報を指定します。この変数は、現在のシェル セッションにのみ適用されます。この変数を新しいシェル セッションに適用する場合は、シェル起動ファイル(~/.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 ファイルのパスに置き換えます。

  2. クライアント ライブラリをインストールします。

    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 をご覧ください。

    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>24.0.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
    
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-recaptchaenterprise</artifactId>
      </dependency>
    </dependencies>
    

    Gradle を使用している場合は、次のものを依存関係に追加します。

    implementation platform('com.google.cloud:libraries-bom:24.0.0')
    
    implementation 'com.google.cloud:google-cloud-recaptchaenterprise'

    sbt を使用している場合は、次のものを依存関係に追加します。

    libraryDependencies += "com.google.cloud" % "google-cloud-recaptchaenterprise" % "2.3.0"

    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 クライアント ライブラリまたは gcloud コマンドライン ツールを使用して構成できます。

reCAPTCHA Enterprise クライアント ライブラリ

  1. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を設定して、アプリケーション コードに認証情報を指定します。この変数は、現在のシェル セッションにのみ適用されます。この変数を新しいシェル セッションに適用する場合は、シェル起動ファイル(~/.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 ファイルのパスに置き換えます。

  2. クライアント ライブラリをインストールします。

    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 をご覧ください。

    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>24.0.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
    
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-recaptchaenterprise</artifactId>
      </dependency>
    </dependencies>
    

    Gradle を使用している場合は、次のものを依存関係に追加します。

    implementation platform('com.google.cloud:libraries-bom:24.0.0')
    
    implementation 'com.google.cloud:google-cloud-recaptchaenterprise'

    sbt を使用している場合は、次のものを依存関係に追加します。

    libraryDependencies += "com.google.cloud" % "google-cloud-recaptchaenterprise" % "2.3.0"

    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 コマンドライン

  1. Cloud SDK をインストールして初期化します。
  2. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を設定して、アプリケーション コードに認証情報を指定します。この変数は、現在のシェル セッションにのみ適用されます。この変数を新しいシェル セッションに適用する場合は、シェル起動ファイル(~/.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 ツールを使用してサービス アカウントを認証できます。

GKE

  1. GKE 内で動作しているアプリケーションから Google Cloud サービスにアクセスするには、サービス アカウントで Workload Identity を使用します。

    サービス アカウントの作成の詳細については、バックエンド認証用のサービス アカウントの作成をご覧ください。

  2. Workload Identity を使用して Google Cloud に対する認証を行います

次のステップ

  1. 使用する reCAPTCHA(サイト)キー タイプを決定し、reCAPTCHA キーを作成する。
  2. スコアベースまたはチェックボックスのサイトキーをウェブページにインストールする。

    OR

    reCAPTCHA Enterprise を Android アプリまたは iOS アプリに統合する。

  3. 評価の作成

  4. 評価を解釈し、スコアに基づいてサイトに対して適切な措置を講じる。