リアルタイムイベントモニタリングを使用してユーザーアクティビティを監査する
学習の目的
この単元を完了すると、次のことができるようになります。
- Visual Studio Code と Salesforce Extension Pack を使用して、Apex クラスを作成する。
- SOQL を使用して、リアルタイムイベントモニタリングの Big Object を同時に照会する。
はじめに
開発者やシステム管理者にとって、仕事をやり遂げる最適なツールがあることは重要です。この単元では、Visual Studio Code を使用する Salesforce 拡張機能で SOQL クエリを使用して、リアルタイムイベントを照会する方法を学習します。リアルタイムイベントを照会すれば、誰がいつ、どのデータを参照したか、どこからデータにアクセスされたか、ユーザーがユーザーインターフェース (UI) を使用してレコードを変更したのはいつかなどに関する詳細なインサイトを把握することができます。また、イベントを照会することで、トランザクションセキュリティポリシーを作成する前に、ビジネスの通常の使用における適切なしきい値を判断できます。
では、Visual Studio Code を使用して、リアルタイムイベントモニタリングの Big Object を同時に照会する方法を見ていきましょう。Visual Studio Code は、コードエディター、ビルド自動化ツール、デバッガー、インテリジェントなコード補完ツールで構成される統合開発環境 (IDE) です。先に進む前に、「クイックスタート: Salesforce 開発のための Visual Studio Code」の手順を必ず完了してください。
プロジェクトを作成する
- Visual Studio Code を開きます。
- Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを開きます。
-
SFDX: Create Project(SFDX: プロジェクトを作成) と入力します。
-
Enter キーを押して、デフォルトの標準プロジェクト種別を受け入れます。
- Project Name (プロジェクト名):
RealTimeEventMonitoring - 後で見つけやすいように、プロジェクトをデスクトップに保存します。
- 新しい Visual Studio Code ウィンドウが開くまで待ちます。ファイルエクスプローラーへの入力前に、拡張機能がプロジェクトの準備をしていることを示すメッセージが表示されます。

Playground で認証する
- Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを表示します。
-
SFDX: Authorize an Org(SFDX: 組織を承認) と入力します。 - デフォルトのログイン URL を受け入れるには、Enter キーを押します。
-
Enter キーを押して、default という別名を受け入れます。
- デフォルトのブラウザーで新しい Salesforce ログインウィンドウが開きます。Playground のユーザー名とパスワードを使用して Playground にログインします。
- 接続アプリケーションへのアクセスを許可するか確認されたら、[許可] をクリックして許可します。
![グローバル接続アプリケーションの [アクセスを許可] ページ](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/realtime-event-monitoring/use-realtime-event-monitoring-to-audit-user-activity/images/ja-JP/b6952c4f5a108fa6272ee32a8c6da2fc_kix.b6v2wgdplrpw.png)
- ブラウザーウィンドウを閉じます。
出力パネルにインテグレーションが正常にログインされたことが表示されます。

Apex クラスを作成する
- Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを開きます。
-
SFDX: Create Apex Class(SFDX: Apex クラスを作成) と入力します。
-
EventQueryHandlerという名前を入力します。
- Visual Studio Code から要求されたら、EventQueryHandler.cls を追加するディレクトリに force-app/main/default/classes を選択します。
- 新たに開いた EventQueryHandler.cls ファイルで、デフォルトのコードを次のコードに置き換えます。
public with sharing class EventQueryHandler {
public static List<ReportEvent> getReportEvents() {
return [SELECT ColumnHeaders,EventDate,ExportFileFormat,Format,NumberOfColumns,QueriedEntities,Records,ReportId,RowsProcessed,UserId,Username FROM ReportEvent where EventDate = Today];
}
}-
[Save (保存)] をクリックします。
SOQL クエリを実行する
では、Playground 組織に SOQL クエリを実行して、今日の日付でオブジェクトを絞り込みましょう。
- コードの行 3 の
SELECT ColumnHeaders,EventDate,ExportFileFormat,Format,NumberOfColumns,QueriedEntities,Records,ReportId,RowsProcessed,UserId,Username FROM ReportEvent where EventDate = Todayというクエリを強調表示します。 - Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを表示します。
-
SFDX: Execute SOQL Query with Currently Selected Text(SFDX: 現在選択されているテキストを使用して SOQL クエリを実行) を検索します。 -
Enter キーを押します。
-
[REST API] を選択します。
- 統合ターミナルの [Output (出力)] タブにクエリの結果が表示されます。コマンド出力の最後に、「ended with exit code 0.(終了コード 0 で終了しました)」というメッセージが表示されます。これはコマンドが正常に実行されたことを意味します。正常に実行されたことを示すポップアップも表示されます。
![Trailhead Playground から受信した ReportEvent レコードが表示されている [Output (出力)] タブ。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/realtime-event-monitoring/use-realtime-event-monitoring-to-audit-user-activity/images/ja-JP/484c39e5666866b1f23c154f8f4ca558_kix.fl7o02lzwn1y.png)
コードをリリースする
最後のステップは、コードを Visual Studio Code 内から Playground にリリースすることです。
-
classes フォルダーを右クリックします。
![classes フォルダーが右クリックされ、オプションリストの [SFDX: Deploy Source to Org (SFDX: 組織にソースをリリース)] が選択されています。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/realtime-event-monitoring/use-realtime-event-monitoring-to-audit-user-activity/images/ja-JP/45c86765850c075d83bde06d4b1e9c6f_kix.ay0go1azs6cr.png)
-
[SFDX: Deploy Source to Org (SFDX: 組織にソースをリリース)] をクリックします。
- [Output (出力)] タブのコマンド出力の最後に、「ended with exit code 0.(終了コード 0 で終了しました)」というメッセージが表示されます。これはコマンドが正常に実行されたことを意味します。正常に実行されたことを示すポップアップも表示されます。
最後に一言
リアルタイムイベントモニタリングとリアルタイムイベントを定義し、イベントマネージャーを使用してリアルタイムイベントモニタリングを設定し、Visual Studio Code と Salesforce 拡張機能を使用して強調表示された SOQL を直接実行し、リアルタイムイベントを照会しました。これで、組織でリアルタイムイベントモニタリングを使用して、ユーザー活動を監査し、異常と思われる事象を調査することができます。おつかれさまでした。
