フィード管理ユーザーガイド
概要と前提条件
Google Security Operations のフィード管理では、Google Security Operations アカウントへのデータフィードを作成、管理できます。フィード管理 UI は、Feed Management API に基づいています。詳しくは、Feed Management API をご覧ください。
各データフィードには独自の前提条件のセットがあり、Google Security Operations でフィードを設定する前に満たす必要があります。これらの前提条件については、Feed Management API ドキュメントのタイプ別のフィード構成セクションに説明されています。設定する必要があるデータフィード タイプを検索し、提示される手順に従います。
ソースファイルを削除する
概要セクションで説明したように、フィードの種類によって前提条件が異なります。
Cloud Storage を含む複数のフィードタイプでは、[新しく追加] または [フィードを編集] ワークフローに [ソースの削除オプション] というラベルの付いたフィールドがあります。このメニューには次の 3 つのオプションがあります。
- ファイルを削除しない
- 転送されたファイルと空のディレクトリを削除する
- 転送されたファイルを削除する
オプション 2 と 3 では、ファイルの削除と、ファイルおよび空のディレクトリの削除が行われます。いずれかのオプションを選択した場合は、Feed management API ドキュメントのタイプ別のフィード構成セクションにある、フィードタイプに固有の権限を追加する必要があります。
このオプションを使用すると、オブジェクトを転送した後に、ストレージ システムからオブジェクトを削除できます。フィードでは転送されたオブジェクト(またはファイル)が常に記憶されるため、ファイルが更新されている場合を除き、同じファイルが 2 回転送されることはありません。ただし、(正常に)転送された後にソース オブジェクトを削除する場合は、このオプションを設定する必要があります。
Microsoft Azure Blob Storage では、ソースファイルの削除はサポートされていません。次のソース削除オプションは、Microsoft Azure Blob Storage ソースタイプでは使用できません。
- 転送されたファイルと空のディレクトリを削除する
- 転送されたファイルを削除する
Microsoft Azure Blob Storage ソースでフィードを作成する場合は、[ファイルを削除しない] オプションのみを選択します。
フィードを作成および編集する
フィード管理インターフェースにアクセスする方法は次のとおりです。
ナビゲーション バーで [設定] をクリックします。
[設定] で [フィード] をクリックします。
このページに一覧表示されるデータ フィードには、ご自身が設定したフィードに加えて、Google がアカウントに設定したすべてのフィードが含まれます。
フィードを追加
Google Security Operations アカウントにフィードを追加する手順は次のとおりです。新しいフィードをここに追加する前に、追加する予定のデータフィード タイプの前提条件を必ず満たすようにします。詳細については、概要と前提条件をご覧ください。
ログタイプごとに 5 個までフィードを追加できます。
[Add New] をクリックします。 [ADD FEED] ウィンドウが表示されます。
フィード名を入力します。
注: 新しいフィードにはフィード名が必要です。既存のフィードでは、[フィード] ページに [未設定] と表示されます。メニューから [ソースの種類] を選択します。ソースタイプは、Google Security Operations にデータを送り込むメカニズムです。次のフィード ソースタイプから選択できます。
- Amazon Data Firehose
- Amazon S3
- Amazon SQS
- Google Cloud Pub/Sub
- Google Cloud Storage
- HTTP(S) ファイル(API 以外)
- Microsoft Azure Blob Storage
- サードパーティ API
- Webhook
メニューから [ログタイプ] を選択します。使用可能なログは、前に選択したソースタイプによって異なります。[次へ] をクリックします。
ソースタイプとして [Google Cloud Storage] を選択した場合は、[サービス アカウントの取得] オプションを使用して一意のサービス アカウントを取得します。このドキュメントの Google Cloud Storage フィード設定例をご覧ください。
[入力パラメータ] タブから必要なパラメータを指定します。ここに表示されるオプションは、[Set Properties] タブで選択したソースとログのタイプによって異なります。各フィールドの質問アイコンの上にポインタを置くと、提供する必要がある内容に関する追加情報が表示されます。
(省略可)ここで名前空間を指定できます。名前空間の詳細については、アセットの名前空間のドキュメントをご覧ください。
[次へ] をクリックします。
[完了] タブで新しいフィード構成を確認します。準備ができたら [送信] をクリックします。Google Security Operations が新しいフィードの検証チェックを完了します。フィードがチェックに合格すると、フィードの名前が生成されて Google Security Operations に送信され、Google Security Operations でデータの取得が開始されます。
図 4. フィード リクエストの完了
Pub/Sub の push フィードを設定する
Pub/Sub の push フィードを設定する手順は次のとおりです。
- Pub/Sub の push フィードを作成します。
- Pub/Sub サブスクリプションのエンドポイント URL を指定します。
Pub/Sub の push フィードを作成する
- Google Security Operations メニューから [設定] を選択し、[フィード] をクリックします。
- [新しく追加] をクリックします。
- [フィード名] フィールドにフィードの名前を入力します。
- [ソースタイプ] リストで、[Google Cloud Pub/Sub の push] を選択します。
- [ログタイプ] を選択します。たとえば、Open Cybersecurity Schema Framework のフィードを作成するには、[ログタイプ] として [Open Cybersecurity Schema Framework(OCSF)] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
\n
など)。 - アセットの名前空間: アセットの名前空間です。
- 取り込みラベル: このフィードのイベントに適用するラベル。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
- [次へ] をクリックします。
- [最終処理] 画面で新しいフィード構成を確認し、[送信] をクリックします。
- [詳細] タブで、[エンドポイント情報] フィールドからフィード エンドポイント URL をコピーします。このエンドポイント URL は、Pub/Sub で push サブスクリプションを作成するために必要です。
- フィードを無効にするには、[フィードが有効] の切り替えボタンをクリックします。フィードはデフォルトで有効になっています。
- [完了] をクリックします。
エンドポイント URL を指定する
Pub/Sub の push フィードを作成したら、Pub/Sub で push サブスクリプションを作成し、HTTPS エンドポイントを指定して、認証を有効にします。
- Pub/Sub で push サブスクリプションを作成します。push サブスクリプションの作成方法の詳細については、push サブスクリプションの作成をご覧ください。
- Google Cloud Pub/Sub の push フィードで利用可能なエンドポイント URL を指定します。
- [認証を有効にする] を選択し、サービス アカウントを選択します。
Amazon Data Firehose フィードを設定する
Amazon Data Firehose フィードを設定する手順は次のとおりです。
- Amazon Data Firehose フィードを作成し、エンドポイントの URL と秘密鍵をコピーします。
- Google Security Operations に対する認証に使用する API キーを作成します。既存の API キーを再利用して、Google セキュリティ オペレーションの認証を行うこともできます。
- Amazon Data Firehose でエンドポイント URL を指定します。
Amazon Data Firehose フィードを作成する
- Google Security Operations メニューから [設定] を選択し、[フィード] をクリックします。
- [新しく追加] をクリックします。
- [フィード名] フィールドにフィードの名前を入力します。
- [ソースタイプ] リストで、[Amazon Data Firehose] を選択します。
- [ログタイプ] を選択します。たとえば、Open Cybersecurity Schema Framework のフィードを作成するには、[ログタイプ] として [Open Cybersecurity Schema Framework(OCSF)] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
\n
など)。 - アセットの名前空間: アセットの名前空間です。
- 取り込みラベル: このフィードのイベントに適用するラベル。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
- [次へ] をクリックします。
- [最終処理] 画面で新しいフィード構成を確認し、[送信] をクリックします。
- [秘密鍵を生成する] をクリックして、このフィードを認証するための秘密鍵を生成します。
- このシークレットを再度表示することはできないため、秘密鍵をコピーして保存します。新しい秘密鍵を再度生成できますが、秘密鍵を再生成すると以前の秘密鍵は無効になります。
- [詳細] タブで、[エンドポイント情報] フィールドからフィード エンドポイント URL をコピーします。Amazon Data Firehose で配信ストリームの宛先設定を指定するときに、このエンドポイント URL が必要です。
- フィードを無効にするには、[フィードが有効] の切り替えボタンをクリックします。フィードはデフォルトで有効になっています。
- [完了] をクリックします。
Amazon Data Firehose フィードの API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- [認証情報を作成] をクリックして [API キー] を選択します。
- API キーによる Chronicle API へのアクセスを制限します。
エンドポイント URL を指定する
Amazon Data Firehose で、HTTPS エンドポイントとアクセスキーを指定します。
API キーをフィード エンドポイント URL に追加し、この URL を次の形式で HTTP エンドポイント URL として指定します。
ENDPOINT_URL?key=API_KEY
次のように置き換えます。
ENDPOINT_URL
: フィードのエンドポイント URL。API_KEY
: Google Security Operations に対する認証に使用する API キー。
アクセスキーには、Amazon Data Firehose フィードを作成したときに取得した秘密鍵を指定します。
HTTPS Webhook フィードを設定する
HTTPS Webhook フィードを設定する手順は次のとおりです。
- HTTPS Webhook フィードを作成し、エンドポイント URL と秘密鍵をコピーします。
- エンドポイント URL で指定された API キーを作成します。既存の API キーを再利用して、Google セキュリティ オペレーションの認証を行うこともできます。
- アプリケーションでエンドポイント URL を指定します。
HTTPS Webhook フィードを作成する
- Google Security Operations メニューから [設定] を選択し、[フィード] をクリックします。
- [新しく追加] をクリックします。
- [フィード名] フィールドにフィードの名前を入力します。
- [ソースタイプ] リストで、[Webhook] を選択します。
- [ログタイプ] を選択します。たとえば、Open Cybersecurity Schema Framework のフィードを作成するには、[ログタイプ] として [Open Cybersecurity Schema Framework(OCSF)] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
\n
など)。 - アセットの名前空間: アセットの名前空間です。
- 取り込みラベル: このフィードのイベントに適用するラベル。
- 分割区切り文字: ログ行の区切りに使用する区切り文字(
- [次へ] をクリックします。
- [最終処理] 画面で新しいフィード構成を確認し、[送信] をクリックします。
- [秘密鍵を生成する] をクリックして、このフィードを認証するための秘密鍵を生成します。
- このシークレットを再度表示することはできないため、秘密鍵をコピーして保存します。新しい秘密鍵を再度生成できますが、秘密鍵を再生成すると以前の秘密鍵は無効になります。
- [詳細] タブで、[エンドポイント情報] フィールドからフィード エンドポイント URL をコピーします。このエンドポイント URL は、クライアント アプリケーションで指定する必要があります。
- フィードを無効にするには、[フィードが有効] の切り替えボタンをクリックします。フィードはデフォルトで有効になっています。
- [完了] をクリックします。
Webhook フィードの API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- [認証情報を作成] をクリックして [API キー] を選択します。
- API キーによる Chronicle API へのアクセスを制限します。
エンドポイント URL を指定する
- クライアント アプリケーションで、Webhook フィードで利用可能な HTTPS エンドポイントを指定します。
認証を有効にするには、次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定します。
X-goog-api-key = API_KEY
X-Webhook-Access-Key = SECRET
API キーは、URL で指定するのではなく、ヘッダーとして指定することをおすすめします。Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。
ENDPOINT_URL?key=API_KEY&secret=SECRET
次のように置き換えます。
ENDPOINT_URL
: フィードのエンドポイント URL。API_KEY
: Google Security Operations に対する認証に使用する API キー。SECRET
: フィードを認証するために生成した秘密鍵。
Google Cloud Storage フィード設定例
- Google Security Operations メニューから [設定] を選択し、[フィード] をクリックします。
- [Add New] をクリックします。
- [ソースタイプ] で [Google Cloud Storage] を選択します。
- ログタイプを選択します。たとえば、Google Kubernetes Engine 監査ログのフィードを作成するには、[ログタイプ] として [Google Kubernetes Engine 監査ログ] を選択します。
- [サービス アカウントを取得する] をクリックします。Google Security Operations は、Google Security Operations がデータの取り込みに使用する一意のサービス アカウントを提供します。
- Cloud Storage オブジェクトにアクセスするためのサービス アカウントのアクセス権を構成します。このドキュメントでは、Google Security Operations サービス アカウントへのアクセス権を付与するをご覧ください。
- [次へ] をクリックします。
- 作成した Cloud Storage 構成に基づいて、次のフィールドに値を指定します。
- ストレージ バケット URI
- URI は
- ソース削除オプション
- [次へ] をクリックしてから、[送信] をクリックします。
Google Security Operations サービス アカウントへのアクセス権を付与する
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
サービス アカウントに、関連する Cloud Storage オブジェクトへのアクセス権を付与します。
特定のファイルへの読み取り権限を付与するには、次の手順を行います。
- ファイルを選択し、[アクセス権を編集] をクリックします。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、Google Security Operations サービス アカウントの名前を入力します。
- Google Security Operations サービス アカウントに、読み取り権限を含むロールを割り当てます。たとえば、Storage オブジェクト閲覧者(
roles/storage.objectViewer
)。これは、均一なバケットレベルのアクセス権が有効になっていない場合にのみ実行できます。 - [保存] をクリックします。
複数のファイルへの読み取り権限を付与するには、バケットレベルでアクセス権を付与する必要があります。Google Security Operations サービス アカウントをプリンシパルとしてストレージ バケットに追加し、IAM ストレージ オブジェクト閲覧者(
roles/storage.objectViewer
)のロールを付与する必要があります。ソースファイルを削除するようにフィードを構成する場合、Google Security Operations サービス アカウントをプリンシパルとしてバケットに追加し、IAM ストレージ オブジェクト管理者(
roles/storage.objectAdmin
)のロールを付与する必要があります。
VPC Service Controls を構成する
VPC Service Controls が有効になっている場合、Cloud Storage バケットへのアクセスを提供する上り(内向き)ルールが必要です。
上り(内向き)ルールで、次の Cloud Storage メソッドを許可する必要があります。
google.storage.objects.list
。単一のファイル フィードに必須です。google.storage.objects.get
。ディレクトリまたはサブディレクトリへのアクセスが必要なフィードに必要です。google.storage.objects.delete
。ソースファイルの削除を必要とするフィードに必要です。
上り(内向き)ルールの例
- ingressFrom:
identities:
- serviceAccount:8911409095528497-0-account@partnercontent.gserviceaccount.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.objects.list
- method: google.storage.objects.get
- method: google.storage.objects.delete
resources:
- projects/PROJECT_ID
フィードのステータス
最初の [フィード] ページでフィードのステータスをモニタリングできます。フィードは次のステータスになることができます。
- アクティブ - フィードが構成され、Google Security Operations アカウントにデータを取り込む準備が整っています。
- InProgress - 現在、Google Security Operations は、構成済みのサードパーティからデータを pull しています。
- 完了 - このフィードによってデータは正常に取得されました。
- アーカイブ済み - 無効なフィード。
Failed - フィードでデータを正常に取得できません。構成の問題が原因と考えられます。質問をクリックして、構成エラーを表示します。エラーを修正し、フィードを再送信したら、[フィード] ページに戻って、現在、フィードが機能しているかどうかを確認します。
フィードを編集
[フィード] ページから、既存のフィードを編集できます。
既存のフィードの上にポインタを置き、右側の列の more_vert をクリックします。
[フィードを編集] をクリックします。これで、フィードの入力パラメータを変更し、Google Security Operations に再送信できるようになりました。Google Security Operations は編集されたフィードの使用を試行します。
フィードを有効または無効にする
[ステータス] 列で、有効なフィードには、[有効]、[進行中]、[完了]、または [失敗] のラベルが付けられます。無効なフィールドは [アーカイブ済み] のラベルが付けられます。詳しくは、フィードのステータスをご覧ください。
[フィード] ページから、任意の既存のフィードを有効化または無効化できます。
既存のフィードの上にポインタを置き、右側の列の more_vert をクリックします。
フィードを有効にするには、[フィードを有効にする] の切り替えボタンをクリックします。
フィードを無効にするには、[フィードを無効にする] の切り替えボタンをクリックします。これで、フィードに [アーカイブ済み] というラベルが付けられました。
フィードの削除
[フィード] ページから、任意の既存のフィードを削除することもできます。
既存のフィードの上にポインタを置き、右側の列の more_vert をクリックします。
[フィードを削除] をクリックします。[フィードの削除] ウィンドウが開きます。フィードを完全に削除するには、[はい、削除します] をクリックします。
取り込みレートを制御する
テナントのデータの取り込みレートが特定のしきい値に達すると、Google Security Operations は新しいデータフィードの取り込みレートを制限して、取り込みレートが高いソースが別のデータソースの取り込みレートに影響を与えないようにします。 この場合、遅延が発生しますが、データが失われることはありません。しきい値は取り込み量とテナントの使用履歴によって決まります。
レート制限の引き上げをリクエストするには、Cloud カスタマーケアにお問い合わせください。
トラブルシューティング
[フィード] ページから、ソースタイプ、ログタイプ、フィード ID、既存フィードのステータスなどの詳細を表示できます。
既存のフィードの上にポインタを置き、右側の列の more_vert をクリックします。
[フィードを表示] をクリックします。フィードの詳細を示すダイアログが表示されます。失敗したフィードについては、[詳細] > [ステータス] でエラーの詳細を確認できます。
失敗したフィードの場合、エラーの原因と修正手順が詳細に含まれます。 以下の表に、データフィードの操作時に発生する可能性のあるエラー メッセージを示します。
エラーコード | 原因 | トラブルシューティング |
ACCESS_DENIED |
フィード構成で指定された認証アカウントに必要な権限がありません。 | フィード構成で指定された認証アカウントに必要な権限があることを確認します。必要な権限については、フィードのドキュメントをご覧ください。 |
ACCESS_TOO_FREQUENT |
送信元に到達しようとした回数が多すぎたため、フィードに失敗しました。 | Google セキュリティ運用サポートに連絡します。 |
CONNECTION_DROPPED |
ソースへの接続は確立されましたが、フィードが完了する前に接続が閉じられました。 | このエラーは一時的なものであり、アプリケーションがリクエストを再試行します。問題が解決しない場合は、サポートにお問い合わせください。 |
CONNECTION_FAILED |
アプリケーションが送信元 IP アドレスとポートに接続できません。 | 以下をご確認ください。
問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
DNS_ERROR |
ソースホスト名を解決できません。 | サーバーのホスト名のスペルが間違っている可能性があります。URL を確認し、つづりを確認します。 |
FILE_FAILED |
ソースへの接続は確立されましたが、ファイルまたはリソースに問題があります。 | 以下をご確認ください。
問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
FILE_NOT_FOUND |
移行元への接続が確立されましたが、ファイルまたはリソースが見つかりません。 | 以下をご確認ください。
問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
GATEWAY_ERROR |
Google Security Operations による呼び出しに対して API がゲートウェイ エラーを返しました。 | フィードのソースの詳細を確認します。アプリケーションがリクエストを再試行します。 |
INTERNAL_ERROR |
内部エラーのためデータを取り込むことができません。 | 問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
INVALID_ARGUMENT |
ソースへの接続は確立されましたが、引数が無効なためフィードが失敗しました。 | フィードの設定を確認します。フィードの設定について詳しくは、フィードのドキュメントをご覧ください。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
INVALID_FEED_CONFIG |
フィード構成に無効な値が含まれています。 | フィードの設定に誤りがないか確認します。正しい構文については、フィードのドキュメントをご覧ください。 |
INVALID_REMOTE_RESPONSE |
ソースへの接続は確立されましたが、レスポンスが正しくありません。 | フィードの設定を確認します。詳しくは、フィードのセットアップについての説明をご確認ください。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
LOGIN_FAILED |
ソースへの接続は確立されましたが、認証情報が正しくないか、ありません。 | ソースの認証情報を再入力して正しいことを確認します。 |
NO_RESPONSE |
ソースへの接続が確立されましたが、ソースから応答がありません。 | ソースが Google セキュリティ オペレーションからのリクエストをサポートできることを確認してください。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
PERMISSION_DENIED |
ソースへの接続が確立されましたが、認可に問題があります。 | 必要なアクセス権と権限が追加されていることを確認します。 |
REMOTE_SERVER_ERROR |
ソースへの接続が確立されましたが、ソースからデータが返されませんでした。 | ソースが使用可能で、データで応答していることを確認します。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
REMOTE_SERVER_REPORTED_BAD_REQUEST |
ソースへの接続が確立されましたが、ソースがリクエストを拒否しました。 | フィードの設定を確認します。詳しくは、フィードのドキュメントをご覧ください。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
SOCKET_READ_TIMEOUT |
ソースへの接続は確立されましたが、データ転送が完了する前に接続がタイムアウトしました。 | このエラーは一時的なものであり、アプリケーションがリクエストを再試行します。問題が解決しない場合は、Google Security Operations サポートにお問い合わせください。 |
TOO_MANY_ERRORS |
ソースから複数のエラーが発生したため、フィードはタイムアウトしました。 | Google セキュリティ運用サポートに連絡します。 |
TRANSIENT_INTERNAL_ERROR |
フィードで一時的な内部エラーが発生しました。 | このエラーは一時的なものであり、アプリケーションがリクエストを再試行します。問題が解決しない場合は、Google Security Operations サポートにお問い合わせください。 |
UNSAFE_CONNECTION |
IP アドレスが制限されているため、アプリケーションは接続できませんでした。 | このエラーは一時的なものであり、Google セキュリティ オペレーションによってリクエストが再試行されます。問題が解決しない場合は、Google Security Operations サポートにお問い合わせください。 |
HTTP_400 |
無効なリクエストによりフィードが失敗しました。 | フィードの設定を確認します。詳しくは、フィードのセットアップについての説明をご確認ください。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
HTTP_403 |
ソースへの接続が確立されましたが、認可に問題があります。 | 必要なアクセス権と権限が追加されていることを確認します。 |
HTTP_404 |
移行元への接続が確立されましたが、ファイルまたはリソースが見つかりません。 | 以下をご確認ください。
問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
HTTP_429 |
ソースへのアクセス試行回数が多すぎたため、フィードがタイムアウトしました。 | Google セキュリティ運用サポートに連絡します。 |
HTTP_500 |
ソースへの接続が確立されましたが、ソースからデータが返されませんでした。 | ソースが使用可能で、データで応答していることを確認します。問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |
HTTP_502 |
フィードでゲートウェイ エラーが発生しました。 | このエラーは一時的なものであり、アプリケーションがリクエストを再試行します。問題が解決しない場合は、Google Security Operations サポートにお問い合わせください。 |
HTTP_504 |
Google Security Operations が送信元 IP アドレスとポートに接続できません。 | このエラーは一時的なものであり、アプリケーションがリクエストを再試行します。 以下をご確認ください。
問題が解決されない場合は、Google セキュリティ運用サポートにご連絡ください。 |