リアルタイムイベントとトランザクションセキュリティについて知る
学習の目的
この単元を完了すると、次のことができるようになります。
- リアルタイムイベントモニタリングとリアルタイムイベントを定義する。
- リアルタイムイベントモニタリングがイベントモニタリングとどのように違うか理解する。
- プラットフォームイベントと Big Object を区別する。
- トランザクションセキュリティを定義する。
- リアルタイムイベントモニタリングの使用事例について説明する。
始める前に
このモジュールでは、リアルタイムイベントモニタリングを使用して標準のイベントを監視し検出するという方法で、Salesforce 組織を (ほぼリアルタイムで) 可視化できるようにする方法を説明します。リアルタイムイベントモニタリングデータには、Salesforce オブジェクトクエリ言語 (SOQL) と Apex 一括処理を使用してアクセスできます。また、リアルタイムイベントモニタリングを使用して、Salesforce が公開する標準のプラットフォームイベントに登録できます。このモジュールの内容を理解するには、SOQL、Apex 一括処理、プラットフォームイベント機能に精通している必要があります。また、Big Object や Pub/Sub API の知識も必要です。以下は、先に進む前に上記の初歩的な概念の詳細を確認できるリソースのリストです。
リアルタイムイベントモニタリングを理解する
「イベントモニタリング」モジュールを受講している場合は、イベントモニタリングを使用して組織のユーザー活動の詳細を確認する方法や、ログイン、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 や Apex 一括処理を使用してイベントを照会できます。
プラットフォームイベントと Big Object を区別する
リアルタイムイベントモニタリングを使用すると、標準のプラットフォームイベントに登録するか、Big Object に保存されているイベントを調査するという方法でイベントを操作できます。では、詳しく見ていきましょう。
標準プラットフォームイベント
リアルタイムイベントモニタリングでは、標準プラットフォームイベントが生成され、ログイン、レポートの実行などのユーザー活動をリアルタイムで監視する目的でこうしたイベントに登録できます。ユーザーがアクションを実行するとキャプチャされ、プラットフォームイベントとしてストリーミングされます。また、プラットフォームイベントに登録するカスタムサービスを作成すれば、特定のアクティビティがリアルタイムイベントモニタリングでキャプチャされたときに、チームがリアルタイムでアラームを受信できます。たとえば、LoginEventStream のイベントチャネルに登録し、ユーザーがログインしたときに通知を受信することが考えられます。他の例として、レポート、リストビュー、ログイン、API コール、レコードの変更時などのイベントに登録することも可能です。
イベントオブジェクト
リアルタイムイベントモニタリングオブジェクトには、データのストリーミング、データの保存、データに基づくポリシーの適用という 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 ジョブの処理に要する時間を監視すれば、ジョブを本番で実行するときにどのようになるかを適切に予測することができます。このすべてによって、ページのパフォーマンスをリアルタイムに追跡できるようになります。
この単元には相当な情報が詰め込まれていました。知識を習得したところで、次はリアルタイムイベントモニタリングを実際に使ってみます。では、次の単元に進んで設定していきましょう。
リソース
- Trailhead: プラットフォームイベントの基礎
- Trailhead: Big Object の基礎
- Salesforce 開発者ドキュメント: Get Started with Pub/Sub API (Pub/Sub API の使用開始)
- Trailhead: Lightning プラットフォーム API の基礎
- Trailhead: イベントモニタリング
- Salesforce ヘルプ: リアルタイムイベントモニタリングの使用に関する考慮事項
- Salesforce 開発者ドキュメント: Apex 開発者ガイド
- Salesforce ヘルプ: リアルタイムイベントモニタリング
- Salesforce 開発者ドキュメント: リアルタイムイベントモニタリングのオブジェクト
- Salesforce 開発者ドキュメント: プラットフォームイベント開発者ガイド: 各 Salesforce イベントの違い
- Trailhead: 拡張トランザクションセキュリティ
- Salesforce 開発者ドキュメント: ConcurLongRunApexErrEvent
- 外部リンク: YouTube: リアルタイムイベントモニタリング