Cloud Guardを設定して、何かイベントがあったらSlackに通知する

# はじめに
OCIのCSPMであるCloud Guardを設定して、OCIの状態を監視し、何らかのイベントがあったらSlackに通知するようにします。

# Cloud Guardの設定
## 有効化
OCIのコンソールからCloud Guardを有効化します。

![Screenshot 2024-09-20 13.43.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/a36faefb-6889-7201-c65a-e2fd1e2b7cad.png)

`ポリシーの作成`をクリックすると、必要なポリシーを設定してくれます。

![Screenshot 2024-09-20 13.43.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/52c32393-d997-2d86-5f08-c1e7953e54fa.png)

ここでは検出結果を管理するリージョンと対象のコンパートメントを設定します
ディテクタレシピは「どこで何が起きたら」を定義します。ここではオラクルがデフォルトで定義しているレシピを選択します。

![Screenshot 2024-09-20 13.44.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/0731a9da-612b-3e00-9007-c65bd1a85916.png)

有効化すると、このように画面が変わります。

![Screenshot 2024-09-20 13.45.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/cb00a514-5a20-c10d-3f87-0bf0eee5a222.png)

ポリシーも確認すると、このように追加されています。

![Screenshot 2024-09-20 13.45.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/613b5f8d-f192-abb5-4cee-5abfad1c4a2c.png)

## ターゲット構成の設定
`構成`の`ターゲット`からターゲットを設定します。

### ディテクタ・レシピ
Cloud Guardを有効化したした際に設定したレシピに加えて、脅威ディテクタ・レシピを追加します

![Screenshot 2024-09-20 13.52.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/88989cc3-9a70-a045-885c-c3c38b440002.png)

### レスポンダ・レシピ
レスポンダ・レシピは、ディテクタ・レシピによって検出したイベントがあったら、「どうするか」を定義します。

これもオラクルがデフォルトで定義しているレシピを設定します。

![Screenshot 2024-09-20 13.52.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/ba5fe88b-7d62-f936-cd22-fd515c68fb32.png)

レスポンダ・レシピで定義されているルールを確認し、`Cloud Event`が`有効`になっていることを確認します。
このあと設定する通知で必要になります

![Screenshot 2024-09-20 15.24.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/48999dfc-41c8-edf8-bc1b-2455e091c01b.png)

# 通知の設定

## Notifications

任意の名称でNotificationsのトピックを作成し、サブスクリプションを作成します。
サブスクリプションは`Slack`を選択し、URLにIncoming WebHookのURLを指定します。

![Screenshot 2024-09-20 17.20.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/c27288f0-ba95-5396-4f7e-7de31fd893e2.png)

設定すると登録したChannelにサブスクライブするようにメッセージが来るので、URLをクリックします。

![Screenshot 2024-09-24 09.41.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/10baf612-88f7-ebee-091d-87b16c62dd46.png)

クリックすると、サブスクリプションの状態が保留中から「アクティブ」に変わります

![Screenshot 2024-09-20 17.22.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/67231c79-2c83-26e1-4978-28380d5d196b.png)


![Screenshot 2024-09-20 17.22.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/350bda91-7d24-2305-2897-4351006607cc.png)

## Events

このようにしてルールを作成します。
今回はriskLevelが`CRITICAL`と`HIGH`だけ通知するようにしました。

![Screenshot 2024-09-24 09.58.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/b7b64d53-fb74-2f95-2888-105ad9e57128.png)

# テスト
ObjectStorageをPublicにして、通知されるか確認します。
このようにCRITICALの問題が検出されています。

![Screenshot 2024-09-24 10.04.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/1c5e7e6f-4268-6147-bb17-2df3b18f288f.png)

Slackにも通知されています。

![Screenshot 2024-09-24 10.05.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492530/de32035b-adf1-6d66-8b26-c95ecb035c49.png)