Skip to main content

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

学習の目的

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

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

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

始める前に

このモジュールでは、リアルタイムイベントモニタリングを使用して標準のイベントを監視し検出するという方法で、Salesforce 組織を (ほぼリアルタイムで) 可視化できるようにする方法を説明します。リアルタイムイベントモニタリングデータには、Salesforce オブジェクトクエリ言語 (SOQL) と Apex 一括処理を使用してアクセスできます。また、リアルタイムイベントモニタリングを使用して、Salesforce が公開する標準のプラットフォームイベントに登録できます。このモジュールの内容を理解するには、SOQL、Apex 一括処理、プラットフォームイベント機能に精通している必要があります。また、Big Object やストリーミング 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 コール、レコードの変更時などのイベントに登録することも可能です。 

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

イベントオブジェクト

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

Big Object

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

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

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

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

メモ

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

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

イベントストレージ用のオブジェクト

トランザクションセキュリティポリシーで使用可能

ApiAnomalyEvent

ApiAnomalyEventStore

ApiEventStream
ApiEvent

BulkApiResultEvent

BulkApiResultEventStore

ConcurLongRunApexErrEvent

使用不可


CredentialStuffingEvent

CredentialStuffingEventStore

FileEvent
FileEventStore

使用不可

IdentityVerificationEvent


使用不可
IdentityProviderEventStore

LightningUriEventStream
LightningUriEvent

ListViewEventStream

ListViewEvent

LoginAsEventStream

LoginAsEvent


LoginEventStream

LoginEvent

LogoutEventStream

LogoutEvent


MobileEmailEvent
使用不可

MobileEnforcedPolicyEvent
使用不可

MobileScreenshotEvent
使用不可

MobileTelephonyEvent
使用不可

PermissionSetEvent
PermissionSetEventStore

ReportAnomalyEvent

ReportAnomalyEventStore

ReportEventStream

ReportEvent

SessionHijackingEvent

SessionHijackingEventStore

UriEventStream
UriEvent

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

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

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

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

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

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

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

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

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

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

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

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

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

リソース

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