Google Workspace(G Suite)で特定の条件を満たした時に任意の宛先へ通知メールを送る

# やりたいこと
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 管理コンソールで確認する監査ログの内容をカスタマイズできます。特定のアクティビティに関するアラートを設定することもできます。

>####メールアラートを作成する
>メールアラートを設定すると、特定のアクティビティを確認できます。管理者のメールアラートは、[セキュリティ ルール] >ページのシステム定義ルールに基づいています。たとえば、不審なログインが試みられたときにアラートを受け取ることができます。

>1. 前述の手順で監査ログを開きます。
>1. [フィルタを追加] をクリックします。
>1. フィルタの条件を入力または選択し、レポートルールを作成アイコン "" をクリックします。
>1. ルールの名前を入力します。
>1. （省略可）すべての特権管理者にアラートを送信するには、[受信者] で特権管理者に送信スライダー "" をオンにします。
>1. 受信者のメールアドレスを入力し、[作成] をクリックします。

管理者へのメールアラートとシステム定義ルール
https://support.google.com/a/answer/3230421

>システム定義ルールに基づく管理者アラートの種類
>
>- ユーザーのアクティビティに関するアラート
>    - App Maker Cloud SQL
>    - アプリケーションの停止警告
>    - Gmail での従業員へのなりすましの可能性
>    - パスワード漏洩
>    - 不審なログイン
>    - 不審なメールの報告
>    - プログラムによる不審なログイン
>    - 不審なログイン
>    - 不審なメールの報告
>    - ユーザーのパスワードを変更しました
>    - 新しいユーザーの追加
>    - ユーザーを削除しました
>    - 管理者により停止されたユーザー
>    - ユーザーの停止（Google Identity のアラート）
>    - ユーザーの停止（不審なアクティビティ）
>    - ユーザーの停止（迷惑メール）
>    - ユーザーの停止（リレーを利用した迷惑メール）
>    - ユーザーへの管理者権限の付与
>    - ユーザーの管理者権限の取り消し
>    - 停止中のユーザーの再開
>    - ユーザーのフィッシング報告
>- モバイル デバイスのアクティビティに関するアラート
>    - （省略）
>- メールのアクティビティに関するアラート（G Suite のみ）
>    - （省略）
>- 他の管理者によって変更された設定に関するアラート
>    - （省略）
>- セキュリティ全般に関するアラート
>    - （省略）

# 現在のルールを確認

https://admin.google.com/ac/ax を開く。
ここでは標準で定義されたルールや自分で定義したルールを確認できる。
![admin.google.com_ac_ax.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/9c383c4c-966f-7705-3cb3-f21a90760c15.png)

# ルールの作成方法

監査ログ画面で、特定のログが出た時にアラートが出るように設定する。
今回はユーザーがログインした時に通知メールを送ってみる。

新しいルール→レポートをクリックする。

![admin.google.com_ac_ax (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/9d076b88-813a-ec38-6e81-e592e2054355.png)

左のメニューで監査ログ→ログインをクリックする。
フィルタを追加→イベント名：ログイン成功をクリックする。
![admin.google.com_ac_reporting_audit_login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/3a86d200-db0c-a6ae-2b29-2fea827280e1.png)

右上のベルのアイコンをクリックする。
ここでレポートルールの名前、受信者を設定する。
ここに任意の宛先（グループアドレスとか）を指定すれば、そこへ通知メールを送れる。

![admin.google.com_ac_reporting_audit_login (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/66f836d4-2537-e6fb-1988-13678d038f55.png)

設定したルールは、左のメニューで`レポートルールを管理`をクリックすると確認できる。![スクリーンショット 2020-10-20 10.19.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/a3c6442f-dc04-c99e-ca92-edfc382b368d.png)

先ほど作成した`ログイン成功時通知`が表示されている。
![admin.google.com_ac_ax_ruleTypeFilter=ALERT_CENTER&ref=reporting&ruleType=reporting.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175280/82d78e49-1274-30a8-f42a-98213cd59260.png)

# 注意点

データの保持期間とタイムラグ
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