リアルタイムイベントモニタリングを使用してユーザアクティビティを監査する

学習の目的

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

  • 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」の手順を必ず完了してください。 

プロジェクトを作成する

1.Visual Studio Code を開きます。

2.Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを開きます。

3.SFDX: Create Project (SFDX: プロジェクトを作成) と入力します。

メモ

メモ

通常は、コマンド名の一部を入力するとオートコンプリートされます。機能しない場合は、プロンプトの先頭が > であることを確認してください。 

4.Enter キーを押して、デフォルトの標準プロジェクト種別を受け入れます。 

5.RealTimeEventMonitoring と入力します。

6.後で見つけやすいように、プロジェクトをデスクトップに保存します。

7.新しい Visual Studio Code ウィンドウが開くまで待ちます。ファイルエクスプローラへの入力前に、拡張機能がプロジェクトの準備をしていることを示すメッセージが表示されます。

拡張機能の通知: Running SFDX: Create Project (「SFDX: プロジェクトを作成」の実行中)。

Playground で認証する

メモ

メモ

単元 2 のものと同じ Playground を使用します。Playground の設定方法については、単元 2 を参照してください。

  1. Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを表示します。
  2. SFDX: Authorize an Org (SFDX: 組織を承認) と入力します。
  3. デフォルトのログイン URL を受け入れるには、Enter キーを押します。
  4. Enter キーを押して、default という別名を受け入れます。
  5. デフォルトのブラウザで新しい Salesforce ログインウィンドウが開きます。Playground のユーザ名とパスワードを使用して Playground にログインします。
  6. 接続アプリケーションへのアクセスを許可するか確認されたら、[許可] をクリックして許可します。
    グローバル接続アプリケーションの [アクセスを許可] ページ
  7. ブラウザウィンドウを閉じます。

出力パネルにインテグレーションが正常にログインされたことが表示されます。

Successfully authorized USER with org ID (正常に承認されたユーザと組織 ID); You may now close the browser (ブラウザを閉じることができます)

Apex クラスを作成する

メモ

メモ

SOQL クエリを使用してデータをポーリングしますが、作業内容を確認するために、そのクエリを Apex クラスの一部として Trailhead Playground にリリースする必要があります。

1.Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを開きます。

2.SFDX: Create Apex Class (SFDX: Apex クラスを作成) と入力します。

3.EventQueryHandler という名前を入力します。

4.Visual Studio Code から要求されたら、EventQueryHandler.cls を追加するディレクトリに force-app/main/default/classes を選択します。

5.新たに開いた 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];
        }
    }

6.ファイルを保存します。

SOQL クエリを実行する

Playground 組織に SOQL クエリを実行し、今日の日付でオブジェクトを絞り込みます。

  1. コードの行 3 の SELECT ColumnHeaders,EventDate,ExportFileFormat,Format,NumberOfColumns,QueriedEntities,Records,ReportId,RowsProcessed,UserId,Username FROM ReportEvent where EventDate = Today というクエリを強調表示します。
  2. Mac の場合は Command + Shift + P キー、Windows または Linux の場合は Ctrl + Shift + P キーを押して、コマンドパレットを表示します。
  3. SFDX:Execute SOQL Query with Currently Selected Text (SFDX: 現在選択されているテキストを使用して SOQL クエリを実行) を検索します。
  4. Enter キーを押します。
  5. [REST API] を選択します。
  6. 統合ターミナルの [Output (出力)] タブにクエリの結果が表示されます。コマンド出力の最後に、「ended with exit code 0.(終了コード 0 で終了しました)」というメッセージが表示されます。これはコマンドが正常に実行されたことを意味します。正常に実行されたことを示すポップアップも表示されます。 

Trailhead Playground から受信した ReportEvent レコードが表示されている [Output (出力)] タブ

コードをリリースする

最後のステップは、コードを Visual Studio Code 内から Playground にリリースすることです。

  1. classes フォルダを右クリックします。
    classes フォルダが右クリックされ、オプションリストの [SFDX: Deploy Source to Org (SFDX: 組織にソースをリリース)] が選択されています。
  2. [SFDX: Deploy Source to Org (SFDX: 組織にソースをリリース)] をクリックします。
  3. [Output (出力)] タブのコマンド出力の最後に、「ended with exit code 0.(終了コード 0 で終了しました)」というメッセージが表示されます。これはコマンドが正常に実行されたことを意味します。正常に実行されたことを示すポップアップも表示されます。

最後に一言

リアルタイムイベントモニタリングとリアルタイムイベントを定義し、イベントマネージャを使用してリアルタイムイベントモニタリングを設定し、Visual Studio Code と Salesforce 拡張機能を使用して強調表示された SOQL を直接実行し、リアルタイムイベントを照会しました。これで、組織でリアルタイムイベントモニタリングを使用して、ユーザアクティビティを監査し、異常と思われる事象を調査することができます。

リソース

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