Google アラート センターを Google SecOps と統合する
このドキュメントでは、Google Workspace アラート センターを Google Security Operations と統合する方法について説明します。
ユースケース
Google アラート センターの統合では、Google SecOps の機能を使用して、次のユースケースをサポートします。
フィッシング キャンペーンへの対応: 組織を標的とする可能性のあるフィッシングに関するアラート センターの通知を取り込みます。自動ワークフローをトリガーして、メールの調査、悪意のある URL のブロック、影響を受けたアカウントの隔離を行います。
データ引き出しの封じ込め: 不審なデータ移動が検出されたときに、自動インシデント対応をトリガーします。影響を受けたシステムを隔離し、フォレンジック分析を開始します。
マルウェアの自動修復: Google Workspace のアラートで特定された感染デバイスを隔離し、必須のマルウェア スキャンまたはパッチのデプロイを開始します。
脆弱性の管理: Google Workspace 環境に影響する新たに検出された脆弱性に関するアラートを自動的に処理して、パッチの優先順位を付け、関連チームに通知します。
始める前に
Google SecOps で Google アラート センターの統合を構成する前に、次の前提条件の手順を完了します。
Google Workspace Alert Center API を有効にする
API を有効にすると、Google SecOps が Google Workspace のセキュリティ データと通信できるようになります。
Google Cloud コンソールで、[ライブラリ] ページに移動します。
[有効にする] をクリックします。
サービス アカウントを作成する
サービス アカウントは、統合が Google Workspace データにアクセスするための安全な ID として機能します。
Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。
[addサービス アカウントを作成] をクリックします。
名前(「SecOps アラート センターの統合」など)と説明を入力します。
[作成して続行] をクリックします。
省略可能な IAM ロールの割り当て手順をスキップして、[完了] をクリックします。アラート センターの権限は、 Google Cloud IAM のサービス アカウントではなく、ドメインの Google 管理コンソールで、権限を借用した Google Workspace ユーザーに付与されます。
リストでサービス アカウントを見つけて、そのクライアント ID(一意の ID)とメールアドレスをコピーします。
JSON キーを構成する
この統合では、認証に静的 JSON キーファイルを使用します。
Google Cloud コンソールでサービス アカウントを選択し、[キー] タブに移動します。
[鍵を追加] > [新しい鍵を作成] の順にクリックします。
[JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンに自動的にダウンロードされます。
このファイルの内容全体をコピーし、統合構成時に
Service Account JSON Secretに貼り付けます。
ドメイン全体の権限を委任する
ドメイン全体の権限を付与すると、サービス アカウントは管理者の権限を借用してユーザーのアラートにアクセスできます。
ドメインの Google 管理コンソールから、[メインメニュー] > [セキュリティ] > [アクセスとデータ管理] > [API の制御] に移動します。
[ドメイン全体の委任] ペインで、[ドメイン全体の委任を管理] を選択します。
[新しく追加] をクリックします。
[クライアント ID] フィールドに、サービス アカウントからコピーした一意の ID(クライアント ID)を入力します。
[OAuth スコープ] フィールドに、次のスコープを入力します。
https://www.googleapis.com/auth/apps.alerts[承認] をクリックします。
権限を借用したユーザーにアラート センターへのアクセス権を付与する
Impersonation Email Address パラメータで指定する Google Workspace ユーザーには、ドメインの Google 管理コンソールでアラート センターの管理者権限が付与されている必要があります。
Google 管理コンソールでアラート センターへのアクセス権を付与するには、次のいずれかのロールを、権限を借用するユーザーに割り当てます。
既定の管理者ロール: 特権管理者ロールまたはサービス管理者ロールを割り当てます。これらのロールには、デフォルトでアラート センターへの完全アクセス権が含まれています。
カスタム管理者ロール: [アカウント] > [管理者ロール] で、[アラート センター] > [フルアクセス] 権限(アラートの削除アクションを実行するために必要)または [アラート センター] > [閲覧権限] 権限(読み取り専用のアラート取り込みに十分)を持つカスタム管理者ロールを作成し、そのロールを偽装ユーザーに割り当てます。
アラート センターの管理者権限とカスタムロールの構成の詳細については、アラート センターへのアクセス権を付与するをご覧ください。
統合のパラメータ
Google Alert Center の統合には、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Service Account JSON Secret |
必須。 ダウンロードしたサービス アカウント キーの JSON ファイルの内容全体。 |
Impersonation Email Address |
必須。 Google Workspace ドメインでアラート センターの管理者権限(特権管理者ロール、サービス管理者ロール、アラート センターの権限を持つカスタム管理者ロールなど)を持つ Google Workspace ユーザーのメールアドレス。 この統合では、ドメイン全体の委任を使用してこのユーザーになりすまし、アラートを取得または管理します。 |
Verify SSL |
省略可。 選択すると、統合は Google アラート センター サーバーに接続するときに SSL 証明書を検証します。 デフォルトで有効になっています。 |
Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。
操作
アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。
アラートを削除する
[アラートを削除] アクションを使用して、アラート センターでアラートを削除します。
アラートを削除した後、30 日間は復元できます。削除してから 30 日以上経過したアラートは復元できません。
このアクションは Google SecOps エンティティでは実行されません。
アクションへの入力
Delete Alert アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Alert ID |
必須
削除するアラートの ID。 |
アクションの出力
[Delete Alert] アクションでは、次の出力が提供されます。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Delete Alert アクションは、次の出力メッセージを返すことがあります。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Delete Alert". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Delete Alert アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
Ping
Ping アクションを使用して、アラート センターへの接続をテストします。
このアクションは Google SecOps エンティティでは実行されません。
アクションへの入力
なし
アクションの出力
Ping アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Ping アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to the alert center server with the
provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the alert center server! Error is
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
コネクタ
Google SecOps でコネクタを構成する方法については、データを取り込む(コネクタ)をご覧ください。
Google アラート センター - アラート コネクタ
Google アラート センター - アラート コネクタを使用して、アラート センターからアラートに関する情報を取得します。
動的リストフィルタは、type パラメータと連動して機能します。
コネクタの入力
Google アラート センター - アラート コネクタには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Product Field Name |
必須 商品名が保存されるフィールドの名前。 デフォルト値は |
Event Field Name |
必須 イベント名(サブタイプ)を特定するために使用されるフィールド名。 デフォルト値は |
Environment Field Name |
省略可
環境名が保存されるフィールドの名前。 環境フィールドがない場合、その環境がデフォルトの環境に設定されます。 デフォルト値は |
Environment Regex Pattern |
省略可
デフォルト値 正規表現パターンが null か空の場合、または環境値が null の場合、最終的な環境の結果はデフォルト環境になります。 |
PythonProcessTimeout |
必須
現在のスクリプトを実行する Python プロセスのタイムアウト上限(秒単位)。 デフォルト値は |
Service Account JSON Secret |
必須
アラート センターの認証に使用したサービス アカウント ファイルの完全な JSON コンテンツ。 |
Impersonation Email Address |
必須
アラート センターの管理者権限(特権管理者ロール、サービス管理者ロール、アラート センターの権限を持つカスタム管理者ロールなど)を持つ Google Workspace ユーザーのメールアドレス。 |
Verify SSL |
Optional 選択すると、統合によって、アラート センターへの接続用の SSL 証明書が有効かどうかが検証されます。 デフォルトで選択されます。 |
Max Hours Backwards |
Optional 最初のコネクタのイテレーションでレスポンスを取得するまでの時間数。このパラメータは、コネクタを初めて有効にした後の最初のコネクタ イテレーション、または期限切れのコネクタ タイムスタンプのフォールバック値に適用されます。 デフォルト値は 1 時間です。 |
Max Alerts To Fetch |
省略可
コネクタの反復処理ごとに取得するアラートの最大数。 最大数は 100 です。 |
Lowest Severity To Fetch |
省略可
取得するアラートの最も低い重大度。 |
Use whitelist as a blacklist |
省略可
選択すると、コネクタは動的リストを拒否リストとして使用します。 デフォルトでは選択されていません。 |
Proxy Server Address |
Optional 使用するプロキシ サーバーのアドレス。 |
Proxy Username |
Optional 認証に使用するプロキシのユーザー名。 |
Proxy Password |
Optional 認証に使用するプロキシ パスワード。 |
コネクタ ルール
次のルールは、コネクタの運用ロジック、データ処理動作、安全メカニズムを定義します。
プロキシ: コネクタはプロキシをサポートしています。
イベントの作成: アラートに
data/messagesキー(JSON オブジェクトのリスト)が含まれている場合、コネクタはリスト内のオブジェクトごとに個別のイベントを作成します。安全タイムアウト: コネクタが実行タイムアウトの 90%(
PythonProcessTimeoutに基づく)に達すると、停止し、そのイテレーションの新しいアラートを作成しません。これにより、部分的なデータの取り込みを防ぎます。ウォーターマーク管理: コネクタは、
alertIdを使用して処理済みのアラートを追跡します。ids.jsonに最大 1,000 個の ID を保存します。上限を超えると、最も古い 100 個の ID が削除されます。
イベント JSON の例
次の JSON サンプルは、Google Alert Center API からの一般的なレスポンス構造を示しています。取り込みに使用できる特定のデータ フィールドを示しています。
{
"customerId": "038judqw",
"alertId": "e37415f1-7c39-44a5-b43c-4f8159638a2a",
"createTime": "2020-07-22T11:50:08.353Z",
"startTime": "2020-07-22T10:54:54.059475Z",
"endTime": "2020-07-22T11:46:51.020063Z",
"type": "User reported phishing",
"source": "Gmail phishing",
"data": {
"@type": "[type.googleapis.com/google.apps.alertcenter.type.MailPhishing](https://type.googleapis.com/google.apps.alertcenter.type.MailPhishing)",
"domainId": {
"customerPrimaryDomain": "smplylab.com"
},
"maliciousEntity": {
"fromHeader": "crazywiz7@abv.bg"
},
"messages": [
{
"messageId": "1753474999.350456.1595412914645@nm22.abv.bg",
"messageBodySnippet": " eicar com http malware wicar org data ms14_064_ole_not_xp html",
"md5HashSubject": "c93d4454877e844fdfcb4401472204f2",
"subjectText": "Re: App Store - Support. 17/07/2020 12:50:36",
"attachmentsSha256Hash": [
"77c2aed70c3b20c50dbf071f8688580e02463c213e7a65ccab1acc2f8a9769a3",
"f5e1b1bf12b71c54f68a719e0c45df5806a8b8d57bf3967d9bd4a071cfc5abbe"
],
"recipient": "lab3@smplylab.com",
"date": "2020-07-22T10:54:54.059475Z"
}
]
},
"securityInvestigationToolLink": "[admin.google.com/ac/ac/investigate?alert=CiRlMzc0MTVmMS03YzM5LTQ0YTUtYjQzYy00ZjgxNTk2MzhhMmE](https://admin.google.com/ac/ac/investigate?alert=CiRlMzc0MTVmMS03YzM5LTQ0YTUtYjQzYy00ZjgxNTk2MzhhMmE)",
"metadata": {
"customerId": "038judqw",
"alertId": "e37415f1-7c39-44a5-b43c-4f8159638a2a",
"status": "NOT_STARTED",
"updateTime": "2020-07-22T11:50:08.353Z",
"severity": "HIGH",
"etag": "rrXycg7VpUA="
},
"updateTime": "2020-07-22T11:50:08.353Z",
"etag": "rrXycg7VpUA="
}
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。