始める前に
Web Risk にアクセスするには、Web Risk 許可リストに登録する必要があります。許可リストに登録するには、Web Risk のお申し込みフォームに記入します。
Google Cloud プロジェクトを作成するGoogle Cloud プロジェクトを作成する方法を確認します。
Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する。
Web Risk API を有効にする
許可リストに登録されたことの通知を受け取ったら、Web Risk API を有効にして必要な認証を設定します。
- Web Risk API を有効にします。
-
認証の設定:
-
Cloud Console で、[サービス アカウント キーの作成] ページに移動します。
[サービス アカウント キーの作成] ページに移動 - [サービス アカウント] リストから [新しいサービス アカウント] を選択します。
- [サービス アカウント名] フィールドに名前を入力します。
- [ロール] リストから値を選択しないでください。このサービスにアクセスするために必要なロールはありません。
- [作成] をクリックします。このサービス アカウントにはロールがないという警告メッセージが表示されます。
- [ロールなしで作成] をクリックします。キーが含まれている JSON ファイルがパソコンにダウンロードされます。
-
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を設定して、アプリケーション コードに認証情報を指定します。[PATH] は、サービス アカウント キーが含まれる JSON ファイルのファイルパスに置き換えます。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。Linux または macOS
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
Windows
PowerShell を使用する場合:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\my-key.json"
コマンド プロンプトを使用する場合:
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
API の使用
Web Risk API を使用するにあたり、Web Risk のサービスレベル契約と使用量上限をよく理解しておいてください。
Web Risk の使用を開始するには、次のトピックをご覧ください。
どの API が適していますか?Lookup ですかまたは Update ですか?
Web Risk には、統合可能な 2 つの API が用意されています。これらの API は Lookup API と Update 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 統合ソリューションを複雑さの順に示します
- Lookup API を使用する
- 基本的な Update API クライアント
- 差分を使用する Update API クライアント
- 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 エンコードによって、差分サイズを圧縮し、更新帯域幅を削減できます。このソリューションは、最も帯域幅の制約のあるお客様による使用を意図しています。これが関連している例は、Web Risk クエリがスマートフォン アプリに組み込まれている場合です。このようなアプリのユーザーは、スマートフォンのデータについてデータベースを更新する必要がある場合に、より狭い帯域幅のソリューションを確実に望みます。 詳細については、圧縮をご覧ください。