やりたいこと
Google Workspace(G Suite)で特定の条件を満たした時に任意の宛先へ通知メールを送りたい
Google Workspace(G Suite)で提供されている機能のみで実現したい
使うもの
Google Workspace(G Suite)のルール機能と通知機能
公式ドキュメント
2020/11/18追記:公式ブログに同じ話が書かれてたことに後から気付いた・・。
https://cloud.google.com/blog/ja/products/identity-security/logs-based-security-alerting-in-google-cloud
ログデータのフィルタとエクスポート、アラートの作成
https://support.google.com/a/answer/9725685
Google 管理コンソールで確認する監査ログの内容をカスタマイズできます。特定のアクティビティに関するアラートを設定することもできます。
####メールアラートを作成する
メールアラートを設定すると、特定のアクティビティを確認できます。管理者のメールアラートは、[セキュリティ ルール] >ページのシステム定義ルールに基づいています。たとえば、不審なログインが試みられたときにアラートを受け取ることができます。
- 前述の手順で監査ログを開きます。
- [フィルタを追加] をクリックします。
- フィルタの条件を入力または選択し、レポートルールを作成アイコン "" をクリックします。
- ルールの名前を入力します。
- (省略可)すべての特権管理者にアラートを送信するには、[受信者] で特権管理者に送信スライダー "" をオンにします。
- 受信者のメールアドレスを入力し、[作成] をクリックします。
管理者へのメールアラートとシステム定義ルール
https://support.google.com/a/answer/3230421
システム定義ルールに基づく管理者アラートの種類
- ユーザーのアクティビティに関するアラート
- App Maker Cloud SQL
- アプリケーションの停止警告
- Gmail での従業員へのなりすましの可能性
- パスワード漏洩
- 不審なログイン
- 不審なメールの報告
- プログラムによる不審なログイン
- 不審なログイン
- 不審なメールの報告
- ユーザーのパスワードを変更しました
- 新しいユーザーの追加
- ユーザーを削除しました
- 管理者により停止されたユーザー
- ユーザーの停止(Google Identity のアラート)
- ユーザーの停止(不審なアクティビティ)
- ユーザーの停止(迷惑メール)
- ユーザーの停止(リレーを利用した迷惑メール)
- ユーザーへの管理者権限の付与
- ユーザーの管理者権限の取り消し
- 停止中のユーザーの再開
- ユーザーのフィッシング報告
- モバイル デバイスのアクティビティに関するアラート
- (省略)
- メールのアクティビティに関するアラート(G Suite のみ)
- (省略)
- 他の管理者によって変更された設定に関するアラート
- (省略)
- セキュリティ全般に関するアラート
- (省略)
現在のルールを確認
https://admin.google.com/ac/ax を開く。
ここでは標準で定義されたルールや自分で定義したルールを確認できる。
ルールの作成方法
監査ログ画面で、特定のログが出た時にアラートが出るように設定する。
今回はユーザーがログインした時に通知メールを送ってみる。
新しいルール→レポートをクリックする。
左のメニューで監査ログ→ログインをクリックする。
フィルタを追加→イベント名:ログイン成功をクリックする。
右上のベルのアイコンをクリックする。
ここでレポートルールの名前、受信者を設定する。
ここに任意の宛先(グループアドレスとか)を指定すれば、そこへ通知メールを送れる。
設定したルールは、左のメニューでレポートルールを管理
をクリックすると確認できる。
注意点
データの保持期間とタイムラグ
https://support.google.com/a/answer/7061566?hl=ja
管理コンソールのレポートと監査ログのデータはリアルタイムには反映されない
リアルタイムではなく、遅れて見えるようになるので注意。
あくまで後追い用。
関連資料
Google Cloud のログベースのセキュリティ アラート: Cloud Identity での攻撃の検出
https://cloud.google.com/blog/ja/products/identity-security/logs-based-security-alerting-in-google-cloud