リアルタイムイベントとトランザクションセキュリティについて知る

学習の目的

この単元を完了すると、次のことができるようになります。

  • リアルタイムイベントモニタリングとリアルタイムイベントを定義する。
  • リアルタイムイベントモニタリングがイベントモニタリングとどのように違うか理解する。
  • プラットフォームイベントと Big Object を区別する。
  • トランザクションセキュリティを定義する。
  • リアルタイムイベントモニタリングの使用事例について説明する。
メモ

メモ

このモジュールで説明する機能は、Enterprise Edition、Unlimited Edition、Developer Edition で使用できますが、Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。この機能は、このモジュールを修了するために使用する Trailhead Playground でも使用できます。

始める前に

このモジュールでは、リアルタイムイベントモニタリングを使用して標準のイベントを監視し検出するという方法で、Salesforce 組織を (ほぼリアルタイムで) 可視化できるようにする方法を説明します。リアルタイムイベントモニタリングデータには、Salesforce オブジェクトクエリ言語 (SOQL) と 非同期 SOQL を使用してアクセスできます。また、リアルタイムイベントモニタリングを使用して、Salesforce が公開する標準のプラットフォームイベントに登録できます。このモジュールの内容を理解するには、SOQL、非同期 SOQL, プラットフォームイベント機能に精通している必要があります。また、Big Object やストリーミング API の知識も必要です。以下は、先に進む前に上記の初歩的な概念の詳細を確認できるリソースのリストです。 

リアルタイムイベントモニタリングを理解する

「イベントモニタリング」モジュールと「Event Monitoring Analytics アプリケーション」モジュールを受講している場合は、イベントモニタリングを使用して組織のユーザアクティビティの詳細を確認する方法や、ログイン、API コール、レポートのエクスポートなどを追跡する方法を習得しています。 

リアルタイムイベントモニタリングを使用すれば、従来のイベントモニタリングよりも速やかにユーザの行動を検出し、必要に応じてアクションを実行することができます。リアルタイムイベントモニタリングを使用した場合は、Salesforce の標準イベントをほぼリアルタイムで監視して検知できます。Salesforce リアルタイムイベントモニタリングは、ユーザアクティビティとアプリケーションの監視サービスで、Salesforce のユーザがアドオンライセンスを購入して使用できます。リアルタイムイベントモニタリングは Salesforce Event Monitoring ライセンスに付属します。 

リアルタイムイベントモニタリングをトランザクションセキュリティと併用すれば、リスクの高いユーザアクションが生じたときに自動的にブロックして通知することができます。リアルタイムイベントモニタリングではイベントデータが監査と報告の目的で保存され、場合によっては従来のイベントモニタリングの使用時よりもはるかに長い期間データが保存されます。

イベントモニタリングとリアルタイムイベントモニタリングの違い

リアルタイムイベントモニタリングを使用する場合は、Salesforce 組織を 2 通りの方法で可視化できます。1 つは特定のプラットフォームイベントをほぼリアルタイムで監視する方法で、もう 1 つは Big Object に保存されたイベントを照会する方法です。先に進む前に、いくつかの用語を定義しておきましょう。

  • イベント: Salesforce で発生するあらゆる事象で、ユーザのクリック、レコード状態の変更、値の測定などが該当します。イベントは不変で、タイムスタンプが付けられます。
  • イベントモニタリング: Salesforce に搭載されている多数のツールの 1 つで、データのセキュリティを確保し、組織のユーザアクティビティの細部まで確認できます。こうしたアクティビティをイベントといいます。リアルタイムイベントとは異なり、イベントモニタリングではリアルタイム通知が送信されません。代わりに、ユーザアクティビティがログに保存され、そのログを照会できます。
  • イベントログファイル: イベントモニタリングでは、すべてのイベントが EventLogFile 標準オブジェクトイベント種別に保存されます。このログファイルは、組織でイベントが発生したときに生成され、24 時間後、または時間単位の EventLogFile 経由で 1 時間ごとに表示してダウンロードできます。イベントモニタリングには 30 日分のイベントログファイルが保存されます。
  • リアルタイムイベントモニタリング: イベントモニタリングでは 24 時間後にイベントを表示できるのに対し、リアルタイムイベントモニタリングでは Salesforce の標準イベントをほぼリアルタイムで監視して検出できます。イベントデータを監査や報告の目的で Big Object に保存できます。
  • リアルタイムイベント: リアルタイムイベントは、Salesforce のユーザアクションに基づいてリアルタイムでストリーミングされるプラットフォームイベントです。こうしたリアルタイムイベントは、プラットフォームイベントとしてすぐさまストリーミングされるだけでなく、同時に Big Object にも保存されます。イベントが Big Object に保存されたら、SOQL や非同期 SOQL を使用してイベントを照会できます。

プラットフォームイベントと Big Object を区別する

リアルタイムイベントモニタリングを使用すると、標準のプラットフォームイベントに登録するか、Big Object に保存されているイベントを調査するという方法でイベントを操作できます。詳しく見ていきましょう。 

標準プラットフォームイベント

リアルタイムイベントモニタリングでは、標準プラットフォームイベントが生成され、ログイン、レポートの実行などのユーザアクティビティをリアルタイムで監視する目的でこうしたイベントに登録できます。ユーザがアクションを実行するとキャプチャされ、プラットフォームイベントとしてストリーミングされます。また、プラットフォームイベントに登録するカスタムサービスを作成すれば、特定のアクティビティがリアルタイムイベントモニタリングでキャプチャされたときに、チームがリアルタイムでアラームを受信できます。たとえば、LoginEventStream のイベントチャネルに登録し、ユーザがログインしたときに通知を受信することが考えられます。他の例として、レポート、リストビュー、ログイン、API コール、レコードの変更時などのイベントに登録することも可能です。 

ユーザが Salesforce システムにログインすると、通知がトリガされ、システム管理者に「ユーザがログインしました」という通知がリアルタイムで送信されます。

イベントオブジェクト

リアルタイムイベントモニタリングオブジェクトには、データのストリーミング、データの保存、データに基づくポリシーの適用という 3 つの主要な用途があります。ただし、すべてのオブジェクトにこれらの用途が適用されるわけではありません。各使用事例でどのオブジェクトを使用できるかについては、「リアルタイムイベントモニタリングの使用に関する考慮事項」を参照してください。

Big Object

リアルタイムイベントの中には Big Object に保存されるため、過去 6 か月~ 10 年のイベント履歴データを確認できるものがあります。この場合は、イベントモニタリングのイベントログファイルの場合よりもはるかに長い期間データを確認できます。このため、悪意のあるユーザの行動に起因するインシデントが生じた場合に、セキュリティチームが調査可能になります。

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

トランザクションセキュリティのリアルタイムイベントを使用して、ほぼリアルタイムでポリシーを適用できます。ポリシーがトリガされると、通知がメールまたはアプリケーション内通知経由で送信されます。標準アクション (操作のブロックなど) や、Apex で定義したカスタムアクションを使用できます。Apex とは、開発者が Lightning Platform サーバでフローとトランザクションの制御ステートメントを API へのコールと組み合わせて実行できるプログラミング言語です。たとえば、ReportEvent でトランザクションセキュリティポリシーを使用して、ユーザがダウンロード可能なレコード数を制限したり、ダウンロードの続行を許可する 2 要素認証をトリガしたりすることができます。 

次の表は、リアルタイムイベントモニタリングの標準プラットフォームイベントとオブジェクトのいくつかのペアと、そのペアをトランザクションセキュリティポリシーで使用できるかどうかを示しています。詳細は、開発者ドキュメントの「リアルタイムイベントモニタリングのオブジェクト」を参照してください。リアルタイムイベントのすべてがプラットフォームイベントとしてストリーミングされ、かつ Big Object として保存されるわけではありません。 

メモ

メモ

リアルタイムイベントモニタリングオブジェクトに機密データが含まれていることがあります。適宜プロファイルまたは権限セットでリアルタイムイベントにオブジェクト権限を割り当てます。

リアルタイムイベントモニタリングを使用する

リアルタイムイベントモニタリングでキャプチャされたイベントを使用して、ユーザアクティビティを監査して異常なアクションを見つけることや、セキュリティポリシーを適用すること、アプリケーションのパフォーマンスを追跡することなどができます。 

ユーザアクティビティを監査する

リアルタイムイベントモニタリングでは、15 種以上のイベントにおけるユーザの行動を追跡し、ユーザの次のような行動をキャプチャします。

  • 2,000 行を超える取引先データが記載されたレポートをダウンロードする。
  • 取引先責任者リストビューの検索条件を変更して個人識別情報 (PII) が含まれるようにする。
  • Bulk API のバージョン 2 経由で機密レコードを照会する。

上記のユーザベースのアクティビティが発生するたびに、リアルタイムでアラートを受け取ることができます。ユーザのアクションがキャプチャされると、プラットフォームイベントとしてストリーミングされるか、Big Object に保存されるか、その両方が実行されるため、ユーザが組織で何を行っているかの情報を継続的に得ることができます。このため、悪意のあるユーザの行動に起因するセキュリティインシデントが生じた場合に、セキュリティチームが調査可能になります。

セキュリティポリシーを適用する

また、チームがトランザクションセキュリティをリアルタイムイベントと併用すれば、ユーザアクティビティを監視して管理する適切なアクションを適用できます。どのトランザクションセキュリティポリシーにもイベントを評価する条件があり、その条件が満たされるとリアルタイムのアクションがトリガされます。たとえば、アクションの実行をブロックすることができます。 

アプリケーションのパフォーマンスを追跡する

昨今のデータ中心、テクノロジ主導の世界では、アプリケーションによって世の中が動かされています。アプリケーションのパフォーマンスや使用しているリソースを理解することが重要なのはそのためです。誰かがリソースを独り占めすれば全員が迷惑します! 

リアルタイムイベントモニタリングがあれば、Salesforce 組織で実行時間の長い同時 Apex の制限を超えたときに、リアルタイムで通知を受けることができます。Salesforce 組織で実行時間の長い同時 Apex の制限を超えると、ConcurLongRunApexErrEvent プラットフォームイベントオブジェクトによって、エラーの発生が登録者に通知されます。 

また、24 時間の制限にカウントされる API コールを追跡することもできます。Sandbox で Bulk API ジョブの処理に要する時間を監視すれば、ジョブを本番で実行するときにどのようになるかを適切に予測することができます。このすべてによって、ページのパフォーマンスをリアルタイムに追跡できるようになります。

この単元には相当な情報が詰め込まれていました。知識を習得したところで、次はリアルタイムイベントモニタリングを実際に使ってみます。では、次の単元に進んで設定していきましょう。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる