tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:イベントモニタリング機能について勉強しました

Salesforceのログ取得を実現できるイベントモニタリング機能について勉強しました。「Salesforce Shield」製品の中の1機能で、イベントモニタリング機能のみを契約することもできる感じです。

セキュリティアドオン – Salesforce Shield | セールスフォース・ジャパン


セキュリティまわりの機能を持つ「Shield」の中でログ取得系をになっているのがイベントモニタリングの機能という感じ。

イベントモニタリングの概要について

ログ取得の機能ということはTrailheadやSalesforceのイベントで覚えましたが、それでは具体的にどういう使い方なのというところをあらためて確認する必要があります。ということで検索したところ、サクセスナビのサイトがすぐにでてきました。

イベントモニタリングとは|Trusted Services|Salesforce サクセスナビ


こういう感じ。

イベントモニタリングの目的と全体像

ログ取得の機能を使いはじめるにあたり、取ったログをどう使うのがゴールか決めるのがというのが重要になると思いますが、イベントモニタリング機能で実現できるのはこういう感じ。

イベントモニタリング機能で取得できるログの種類について

漠然とログが取得できるんだろうなぐらいの認識でしたが、ちゃんと確認すると次の2種類に分かれていました。

  • リアルタイムイベントモニタリング
  • イベントモニタリング(EventLogFile)


次のように取得できるデータと用途、保存期間が異なります。提供開始時期のところを見ると背景がわかりやすくて、元々あったのが「イベントモニタリング(EventLogFile)」の方で、「リアルタイムイベントモニタリング」の方が新しくできるようになった機能とのことです。

機能の確認に参考サイトについて

概要はわかったので次は設定イメージを確認したいとなりますが、サクセスナビのリンクが参考になりました。


設定まわりのイメージ確認は動画の方。Trailheadはこういう機能あるって確認用で、もう少し詳細はヘルプサイトを見る感じになると思ってますが、Youtube動画はもっと簡単に機能のことを調べられる感じ。

イベントログモニタリングの有効化

有効化は設定画面からライセンス契約後に利用可能になるとのことです。

イベントモニタリング(EventLogFile)について

従来のログ => イベントモニタリング(EventLogFile)は30日間のログ(イベント発生/エラー/パフォーマンス分析用のイベントログ)が取得できる機能のこと。このログについては「Salesforce Event Log File Browser」というHerokuアプリでデータ参照できるようになっています。


データの確認方法はファイルをダウンロードする形で参照する流れです。


CSV形式でダウンロードされます。


ダウンロード方法はもう一つあって、「shell script」形式でのダウンロードもできるようにです。


「xxx.sh」ファイルとしてダウンロードされ、テキストエディタで開けるとのこと。curlコマンドが確認できる。こちらの使い方はBrowserから操作するのではなく、コンソールコマンドからログ取得処理を実行して自動化するみたいなことができるっぽいです。

リアルタイムイベントモニタリングについて

新しく追加された (といってもWinter'20なので数年前の話) ログ取得機能で、アクセスログやセキュリティインシデントに関するログをリアルタイムで取得できる機能。イベントマネージャから有効化することで利用可能となります。


有効化の際には、「ストリーミング」と「ストレージ」の2種類が選択肢としてあるようです。ストリーミングがリアルタイムで情報を取得するかで、ストレージがログをDBに保管する(6ヶ月間)仕組みじゃないかなと思いました。


リアルタイムイベントモニタリングのログを参照したい場合は専用のHerokuアプリ「Real Time Event Monitoring」を使ってデータ参照できるそうです。(ただし、このHerokuアプリはデモ用アプリという建付けとなっています。)



使用例としては、取引先のレコードページにアクセスするとそのログが記録されるという感じ。


リアルタイムイベントモニタリングの中には「Event Stream」と「Event Store Query」という2種類の考え方があって、Stremは↑のリアルタイムのログ表示の方、Event Store Queryの方は発生したログがシステムに保存されるのでクエリ実行で参照できるという感じ。


「Event Store Query」というのはこのHerokuアプリの中の名義で、実際には「Event Stream」と「Event Store」でストリームがそのときのログ、ストアが保管先かなと思います。

Event Monitoring Analyticsについて

イベントモニタリング機能のログデータを参照するには上記で出てきたHerokuアプリで実際のデータが参照できますが、日々の内容確認の業務用にはEvent Monitoring Analyticsという分析アプリケーションが利用できるみたいです。(Account Engagement のB2B Marketing Analyticsみたいに特定の製品用のAnalytics Studioの機能)。


利用にはライセンスが必要で、イベントモニタリング機能の契約のデフォルトではおそらく数名分の利用ができるようになっている感じかなと思います。(B2B Marketing Analyticsとかそうだった。)


次のような感じで専用テンプレートを使えばデフォルトの分析アプリケーションを作成できます。そこから表示内容をカスタマイズしたりもできますが、基本的にはデフォルトのままとりあえず使っていくで十分じゃないかなと思いました。


分析アプリケーション作成時の重要な点として、データを最新化するようにスケジュール設定する必要があります。データマネージャのデータフローとレシピの画面で、作成した「アプリケーション名」が表示されているのでそこからデータを最新化するように設定を行う必要があるとのことです。


毎日朝6時に動かしたい場合はこうなるとのこと。


Event Monitoring Analyticsでどのようなログデータの可視化ができるかはこんな感じ。一例としてレポートのダウンロード状況を可視化できます。

トランザクションセキュリティ

トランザクションセキュリティはイベントモニタリング設定の中に用意されている設定です。社内のセキュリティポリシーに合わせて一部の操作を禁止したり的な制御ができるようです。


サンプルケースとして紹介されていたのはこんな感じ。「業務としてデータ量が50件まで表示のレポートのダウンロードを行っている。50件より多い場合は本来認められた業務では無いので禁止したい。レポートの参照自体は可能。エクスポート処理の実行だけNG。」- ざっくりですがこんな感じ。あくまでイメージ用のサンプルです。


こういった設定を有効化して、該当する条件でエクスポートを操作しようとすると「アクセスがブロックされました」という感じでエラーにしてくれます。エラー発生時には管理者向けにメール通知やSalesforce内での通知が表示できたりもするようです。


以上がイベントモニタリング機能のトランザクションセキュリティ設定でできることの概要という感じでした。

まとめ

有償ライセンスの機能なので気軽に試したり調べたりはできませんが、サクセスナビにまとめられた情報でわかりやすく機能について把握することができました。深掘りするときやもっと情報を集めたいという場合には公式のヘルプサイトや開発ガイド、Trailheadなどでチェックする必要がありますが、そういったサイトへのリンクもサクセスナビにまとまっていたので、まずはサクセスナビページを見に行けば良いんだってちょっと思いました。


今回確認したのは有効化などの設定方法や機能概要についてですが、実際のユースケースについてもサンプルとしてサクセスナビにまとめられているみたいです。(このあたりは実際に管理を任せられたときにチェックする感じかな。)


イベントモニタリング機能についてはだいたいこんな感じでした。Salesforce管理者に役立つ製品だと思いました。