Web Risk の設定

始める前に

Web Risk API を有効にする

  1. Web Risk API を有効にします。

    API を有効にする

  2. サービス アカウントを作成します。

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

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。Cloud Console は、この名前に基づいて [サービス アカウント ID] フィールドに入力します。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。

    サービス アカウント キーを作成します。

    1. Cloud Console で、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
    4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  3. 環境変数 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 ファイルのパスに置き換えます。

API の使用

Web Risk API を使用するにあたり、Web Risk のサービスレベル契約使用量上限をよく理解しておいてください。

Web Risk の使用を開始するには、次のトピックをご覧ください。

どの API が適していますか?Lookup ですかまたは Update ですか?

Web Risk には、統合先にできる 2 つの API が用意されています(Lookup APIUpdate API)。どちらの API も、同じ情報(URL が悪意があると判断されたかどうか)を提供します。使用するのが簡単な方は Lookup API です。Lookup API を使用すると、チェック対象の URL ごとに Web Risk をクエリすることになります。

Update API はより複雑ですが、望ましいプロパティがあります。Update API を使用して、ローカル データベースが維持します。このデータベースでは、URL が悪意のあるものかどうかを確認できます。このデータベースは Bloom フィルタとして機能します。つまり、偽陽性(URL は悪意があると判定されたが、実際には悪意がない)の可能性はあるものの、偽陰性(URL は悪意がないと判定されたが、実際には悪意がある)の可能性はありません。そのため、Web Risk サーバーへの問い合わせはまれで、一致を確認し、偽陽性の曖昧さを解消するためにのみ問い合わせが行われます。ほとんどの場合、Update API を使用して URL をチェックする際に、Web Risk サーバーに問い合わせる必要はありません。ローカル データベースを更新する場合や、URL が有害なかどうかを確認する場合にのみ、Web Risk サーバーに問い合わせる必要があります。

まとめると、すばやく簡単に設定を済ませたいユーザーには Lookup API が向いています。低レイテンシの URL チェックが必要なユーザーには Update API が向いています。

適切なクライアント機能を選択する

Update API を使用する場合は、仕様全体を実装する必要がない可能性があります。広く分散しているクライアント向けに設計された一部の機能(ウェブブラウザなど)は、多くの企業のケースに合わせて過度に最適化されています。

統合を容易にするために無視できる機能がいくつかあります。

こちらに Web Risk 統合ソリューションを複雑さの順に示します

  1. Lookup API を使用する
  2. 基本的な Update API クライアント
  3. 差分を使用する Update API クライアント
  4. RICE 圧縮差分を使用する Update API クライアント

Lookup API の使用

Lookup API を使用するのが最も簡単です。不審な URL がある場合は、その URL を指定して Lookup API を呼び出し、判定結果を確認します。URL の正規化とフォーマットは、Web Risk サーバーによって処理されます。このソリューションは、平均レイテンシが要件を超えない限り、ほとんどのクライアントに有効です。

基本的な Update API クライアント

Update API では、クエリの前にローカル データベースと正規化された URL を管理する必要があるため、複雑度が高まります。

Web Risk との一般的なクライアント統合では、クライアントはデータベースの差分を適用して最新の状態を維持します。差分アプリケーション ロジックを正しく実装するには時間がかかることがあります。そのため、最も簡単なケースでは、クライアントは差分を無視し、サイクルごとに Web Risk から完全に新しいデータベースをリクエストすることをおすすめします。このデータベースは、効率的なクエリのために引き続きメモリ内に保存されます。データベースの完全なリセットをリクエストするには、threatLists.computeDiffリクエストversionTokenフィールドを空のままにします。このソリューションは、帯域幅またはデータベースの同期レイテンシが要件を超えない限り、クライアントに有効です。

Update API を使用して差分更新をリクエストする

このソリューションには、差分ロジックをローカル データベースに適用するという複雑な動作が追加されています。詳細については、データベースの差分をご覧ください。差分を使用する場合は、サイクルごとに新しいデータベースをリクエストする場合と比較すると、複雑な動作と引き換えに帯域幅が減少します。データベース全体の更新は数 MB 程度になる場合もあります。ほとんどの企業クライアントでは、このソリューションで十分です。

Update API を使用し、RICE でエンコードされた差分更新をリクエストする

このソリューションは、実現できる最も効率的なクライアント統合です。RICE エンコードを使用すると、DIFF サイズを圧縮し、更新の帯域幅を大幅に減らすことができます。このソリューションは、帯域幅の制約が厳しいお客様を対象としています。関連する例としては、Web Risk クエリがスマートフォンのアプリに組み込まれている場合が挙げられます。このようなアプリのユーザーは、スマートフォンでデータベース データを更新する必要がある場合は、ほぼ例外なく、帯域幅の少ないソリューションの方が望ましくなります。 詳細については、圧縮をご覧ください。