Trusted Services「イベントモニタリング」の記事一覧

  • アクセスログの参照ガイドイメージ

    アクセスログの参照ガイド

    この記事で学べることイベントモニタリングに含まれる2種類のログを理解し、確認したいケースごとにどのログを参照することにより、どういった情報を確認することができるか理解できます。イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはここでは、確認をしたいケースごとにどのログを参照すべきか、リアルタイムイベントモニタリングのログを中心にまとめています。ケース1:ユーザがどこからログインしているのか確認したいLoginEventを調べることによって、ユーザがいつ、どのIPアドレス(国/都市)、ブラウザ、アプリケーション、OS(及びバージョン)からログインしたを確認することができます。各ログには、ユニークなLoginKeyが記録されますが、LoginKeyはその後のイベントログに記録されるため、LoginEventの該当ログレコード確認することにより、レコードがどのような環境からアクセスされたのか詳しく確認することができます。ケース2:ユーザがどのレコードを参照したのか確認したいLightningUriEvent(Salesforce Classic環境の場合は、UriEvent)を調べることによって、ユーザがいつどのレコードにどのような操作(参照/作成/更新/削除)にてアクセスしたか確認することができます。なお、作成または編集操作については、開始と終了の2つのログが記録されるため、その差から作業に要した時間も把握可能です。ただし、編集についてはデータの更新履歴は記録されません。こちらは項目履歴管理もしくは、項目監査履歴を使用を検討してください。ケース3:ユーザがどのレコードをレポート出力したのか確認したいReportEventを調べることによって、ユーザがいつレポート機能によって、どのエンティティ(取引先等)のどのレコードのどの項目を出力したか、またエクスポートしたか出力件数を含めて確認することができます。なおこちらは、保存されなかったレポートの実行結果および、編集中にプレビューで表示されたレコードも含みます。ケース4:ユーザがどのレコードをリストビューで一覧したのか確認したいListViewEventを調べることによって、ユーザがいつリストビュー機能によって、どのエンティティ(取引先等)のどのレコードのどの項目を出力したか確認することができます。​ケース5:ユーザがAPIでどのレコードにアクセスしたのか確認したいApiEventを調べることによって、API経由でユーザがどのサービスからどのクエリ(Query/QueryAll/QueryMore)によって、どのエンティティ(取引先等)のどのレコードのどの項目が出力されたのか確認することができます。なお、クエリ以外(UpdateやDeleteなど)のAPIイベントは記録されません。ケース6:ユーザがどのファイルをダウンロードしたのか確認したいこちらは、現状リアルタイムイベントモニタリングでは記録されません。Lightning Experienceの画面でレコードに添付したファイル、Chatterに添付したファイル、ライブラリにアップロードしたファイルは、イベントモニタリングのコンテンツ転送イベント種別(ContentTransfer) を調べることによって、ユーザがどのファイルをアップロード、ダウンロード、プレビューしたか確認することができます。Classic の画面からレコードに添付したファイルおよび ドキュメントに格納されているファイルは、イベントモニタリングのドキュメント添付ファイルのダウンロードイベント種別を調べることによって、ユーザがどのファイルをダウンロードしたのか確認することができます。​​学習ツールTrailhead - リアルタイムイベントモニタリングプラットフォーム開発者ガイド - リアルタイムイベント監視オブジェクトまとめ保存されているデータに対するユーザのアクセスログは、ファイルを除きリアルタイムイベントモニタリングのログに記録され、対象のログを確認することにより、ユーザがいつデータにアクセスしたか確認することができます。

  • トランザクションセキュリティポリシーの活用例イメージ

    トランザクションセキュリティポリシーの活用例

    この記事で学べることイベントモニタリングに含まれるトランザクションセキュリティ機能により、お客様はご自身で定義されたルールに沿って、組織内の特定のアクセスを検知・遮断することができるようになります。本記事では、このトランザクションセキュリティ機能を使い始めるにあたってどのような用途で活用できるのか、実際の条件例を交えながら具体的なポリシー例をご紹介します。(おさらい) イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはこのうち、今回ご説明するトランザクションセキュリティポリシーはリアルタイムイベントモニタリングログを利用します。トランザクションセキュリティ機能の概要については、以下の記事をご参照ください。トランザクションセキュリティとは条件ビルダーによるポリシー作成例ApiEvent ポリシー例[特定のオブジェクトにて照会に○○ミリ秒以上かかったAPIクエリを検出]ポリシー設定 (“リード”オブジェクトの例)イベント: ApiEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値照会されるエンティティ / [次の文字列と一致する] / “Lead” (任意のオブジェクト名)Elapsed Time / [>=] / “1,000” (任意の経過ミリ秒)[2つ以上の特定のオブジェクトのデータローダによるエクスポートの検出]ポリシー設定 (“取引先責任者”もしくは“リード”オブジェクトの例)イベント: ApiEvent条件ロジック: カスタム条件ロジックに一致 → (1 OR 2) AND 3 AND 4条件: 条件 / 演算子 / 値1. 照会されるエンティティ /  [次の文字列と一致する] / “Contact” (任意のオブジェクト名)2. 照会されるエンティティ /  [次の文字列と一致する] / “Lead” (任意のオブジェクト名)3. クエリ / [次の文字列と一致する] / “Select”4. Client / [次の文字列で始まる] / “DataLoader”ListViewEvent ポリシー例[APIを使用して照会されたリストビューの検出]ポリシー設定イベント: ListViewEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値イベントソース / [次の文字列と一致する] / “API”メモ: API の代わりに Classic または Lightning を指定することで、UIを利用したリストビューの照会についても追跡することができます。[2つ以上の特定のオブジェクトのリストビュー実行の検出]ポリシー設定 (“取引先責任者”もしくは“リード”オブジェクトの例)イベント: ListViewEvent条件ロジック: いずれかの条件に一致 (OR)条件: 条件 / 演算子 / 値照会されるエンティティ / [次の文字列と一致する] / “Contact” (任意のオブジェクト名)照会されるエンティティ / [次の文字列と一致する] / “Lead” (任意のオブジェクト名)[特定ドメインのユーザによるすべてのレコードもしくは特定のリストビュー実行の検出]ポリシー設定イベント: ListViewEvent条件ロジック: カスタム条件ロジックに一致 → (1 OR 2) AND 3条件: 条件 / 演算子 / 値1. 範囲 / [次の文字列と一致する] / “Everything”2. 名前 / [次の文字列と一致する] / “SuperSecureListView” (任意のリストビュー名)3. ユーザ名 / [次の文字列で終わる] / “@spy.mycompany.com” (任意のドメイン名)LoginEvent ポリシー例[特定のIPアドレスからのログインを検出]ポリシー設定イベント: LoginEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値アクセス元 IP / [次の文字列と一致する] / “12.34.56.78” (任意のIPアドレス)メモ: [次の文字列で始まる] や [次の文字列を含む] 演算子を使用することで、特定のIPアドレス以外にも、社内ネットワークなど特定のサブネットに所属するIPアドレスからのログインを追跡することができます。[特定のブラウザからのログインを検出]ポリシー設定イベント: LoginEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値ブラウザ / [次の文字列を含む] / “Chrome” (任意のブラウザ名)メモ: 文字列を変えることで、Safari や Firefox ブラウザからのログインについても追跡することもできます。ReportEvent ポリシー例[特定のオブジェクトで○○件以上のレコードを表示したレポート実行の検出]ポリシー設定 (“リード”オブジェクトの例)イベント: ReportEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値処理行 / [>=] / “2,000”照会されるエンティティ / [次の文字列と一致する] / “Lead” (任意のオブジェクト名)[出力にメールアドレスが含まれる列を持つレポート実行の検出]ポリシー設定イベント: ReportEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値列名 / [次の文字列を含む] / “Email” (任意の列名)メモ: [次の文字列を含む] 演算子を使用することで、Email、Customer Email、 Email of Customer など、列名に“Email”を含む項目を全て当てはめることができます。[2つ以上の特定のオブジェクトを元にしたレポートのエクスポートの検出]ポリシー設定 (“取引先責任者”もしくは“リード”オブジェクトの例)イベント: ReportEvent条件ロジック: カスタム条件ロジックに一致 → (1 OR 2) AND 3条件: 条件 / 演算子 / 値1. 照会されるエンティティ / [次の文字列と一致する] / “Contact” (任意のオブジェクト名)2. 照会されるエンティティ / [次の文字列と一致する] / “Lead” (任意のオブジェクト名)3. 演算子 / [次の文字列と一致する] / “ReportExported”[高保証セッションレベルセキュリティがないセッションからの機密レポート参照を検出]ポリシー設定イベント: ReportEvent条件ロジック: カスタム条件ロジックに一致 → (1 OR 2) AND 3条件: 条件 / 演算子 / 値セッションレベル / [次の文字列と一致する] / “LOW”セッションレベル / [次の文字列と一致する] / “STANDARD”名前 / [次の文字列を含む] / “AccountList” (任意のレポート名)PermissionSetEvent ポリシー例[“パスワード無期限”権限のユーザへの割り当てを検出]ポリシー設定イベント: PermissionSetEvent条件ロジック: すべての条件に一致 (AND)条件: 条件 / 演算子 / 値権限リスト / [次の文字列を含む] / “PasswordNeverExpires”演算子 / [次の文字列と一致する] / “AssignedToUsers”Apexによるポリシー作成例ReportEvent ポリシー例[特定のプロファイルに属するユーザによるレポートのエクスポートを検出]ポリシー設定イベント: ReportExportApexコード例global class BlockSpecificProfileReportExport implements TxnSecurity.EventCondition {    public boolean evaluate(SObject event) {        switch on event{            when ReportEvent reportEvent {                return evaluate(reportEvent);            }            when null {                 return false;               }            when else{                return false;            }        }    }                private boolean evaluate(ReportEvent reportEvent) {        // Retrieve User's profile id.        User results = [SELECT Id, ProfileId                        FROM User                        WHERE Id = :reportEvent.UserId];                // Check ProfileId and report export operation.        if (results.ProfileId.equals('00eXXXXXXXXXXXXXX') && reportEvent.Operation.contains('ReportExport')) {            return true;        }        return false;     }}学習ツール拡張トランザクションセキュリティポリシーの種別条件ビルダーの例Apex トランザクションセキュリティの高度な実装例まとめトランザクションセキュリティを活用することにより、プロファイルや権限セットでは表現できないような細かなユーザアクセスの検出や制御を実現し、リアルタイムで検知・遮断することが可能となります。条件ビルダーでは画面操作により誰でも簡単にポリシーを作成することができる一方で、より複雑な要件に対してはApexコードによるコーディングを用いたポリシーの作成にも対応しており、用途やシステム管理者の習熟度に応じて使い分けることが出来るようになっています。

  • トランザクションセキュリティとはイメージ

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

    この記事で学べること標準機能と比較して、拡張トランザクションセキュリティで何ができるのか学べます。​拡張トランザクションセキュリティとはリアルタイムイベントを活用して特定条件にマッチする操作をブロックする、管理者へ通知をする、あるいは高保証セッションではないユーザに多要素認証を要求することを可能にする機能です。条件が記載される設定をトランザクションセキュリティポリシー(以下、ポリシー)と呼びます。​誰に何をさせて良いかといった権限周りの設定は標準機能のプロファイルや権限セットで実施することが基本ですが、拡張トランザクションセキュリティを利用することでより細やかにユーザに禁止させたい操作、管理者へ通知をさせたい操作等について条件設定ができる様になります。​トランザクションセキュリティポリシーの実装に当たっては、ローコードで実装できる条件ビルダーとプロコードでのApex実装と2種類の方法が用意されています。どちらをご利用いただく場合でもトレイルヘッドの拡張トランザクションセキュリティを確認いただくことで作成方法を学ぶことができます。​​​ここからは拡張トランザクションセキュリティで設定できる各ポリシーについて、そもそもプロファイルでどの様な制御ができるのか、そしてどの様な場合に本機能の実装を検討するべきなのかを記載していきます。条件ビルダーで設定できる条件については各ポリシーのリンク先をご確認ください。Apexを利用する際にはApex を使用する拡張トランザクションセキュリティポリシーの作成をご参照ください。ApiEventポリシーユーザは外部のアプリケーションと連携する等の目的でAPIを利用することができます。標準機能ではプロファイルで[システム管理者権限]配下の[APIの有効化]をオフにすることですべてのAPIの使用をブロックすることができます。本ポリシーは[APIの有効化]権限を持つユーザに対して更に細やかに参照系APIの使用条件を定めて利用させたい場合、あるいは条件にマッチする利用があった時に通知を受けたい場合に実装を検討します。BulkApiResultEventStoreポリシーBulk APIの実行結果は[設定]画面で[一括データ読み込みジョブ]を開く事で確認することができます。標準機能ではプロファイルで[システム管理者権限]配下の[データインテグレーションの管理]、[APIの有効化]、[設定・定義を参照する]のいずれかをオフにすることで[一括データ読み込みジョブ]へのアクセスをブロックすることができます。本ポリシーは上記3つの権限を持つユーザに対してさらに細やかにBulk APIのダウンロード実行結果へのアクセス条件を定めたい場合、あるいは条件にマッチする利用があった時に通知を受けたい場合に実装を検討します。Bulk APIの実行を制御をするポリシーではない点にご注意ください。ListViewEventポリシーユーザはリストビューからデータを一覧で表示することができます。標準機能では参照権限を持つオブジェクトに対するリストビューの閲覧を制限する機能はありません。本ポリシーは特定の条件にマッチするリストビューを表示をさせたくない、あるいは条件にマッチする利用があった時に通知を受けたい場合に実装を検討します。LoginEventポリシーユーザはアプリケーションを利用するためにログインをする必要があります。標準機能ではユーザの無効化及び凍結の機能を用いてログインをブロックすることができます。またプロファイルで[ログインIPアドレスの制限]や[ログイン時間帯の制限]の制限をかけることもできます。更にはログインフロー用いてログインの制限をかけることも可能です。本ポリシーはログインフローで使用するフローに馴染みがなく、レポートやリストビューの条件設定のように簡単に設定管理できる条件ビルダーを使用したい場合や、逆に複雑なポリシーや処理をApexでコーディングしたい場合に実装を検討します。ReportEventポリシーユーザはレポート機能を利用してデータを表示、またはデータをエクスポートすることができます。標準機能ではプロファイルで[一般ユーザ権限]配下の[レポートの実行]をオフにすることでレポートの使用を制限することができます。また[レポートのエクスポート]をオフにすることでエクスポートのブロックも可能です。本ポリシーはレポートの機能自体をブロックするのではなく、特定の条件にマッチするレポートの使用やエクスポートをブロックしたい場合や通知を受けたい場合に実装を検討します。PermissionSetEventStoreポリシーユーザに権限を割り当てる機能に権限セットがあります。標準機能ではプロファイルで[システム管理者権限]配下の[権限セットの割り当て]をオフにすることで権限セットの割り当てをブロックすることができます。また[プロファイルと権限セットの管理]をオフにすることで権限セットの作成をブロックすることもできます。本ポリシーはヘルプサイトに記載のある特定の権限を制御(有効化や無効化またはユーザへの割り当てや割り当て解除)したい場合、特定の条件にマッチする権限セットの操作をブロックしたい場合、あるいは条件にマッチする利用があった時に通知を受けたい場合に実装を検討します。脅威検知に関するポリシー類標準機能で脅威検知に関するイベントの通知を受ける機能はありません。脅威検知のイベントが発生した通知を受けたい場合に本機能の実装を検討します。併せて脅威検知の利用開始の記事もご確認ください。ApiAnomalyEventStore ポリシーCredentialStuffingEventStore ポリシーReportAnomalyEventStore ポリシーSessionHijackingEventStore ポリシー学習ツールヘルプ:拡張トランザクションセキュリティヘルプ:Apex を使用する拡張トランザクションセキュリティポリシーの作成トレイルヘッド:拡張トランザクションセキュリティまとめトランザクションセキュリティでは、標準機能の権限コントロールでは実現できない細かい条件設定によってブロックだけではなく、通知を要求するなどのアクションをローコートの条件ビルダーや複雑な条件設定をプロコードのApexで実装できます。

  • ユーザーのイベントデータを紐解く2つの鍵イメージ

    ユーザーのイベントデータを紐解く2つの鍵

    この記事で学べることイベントデータを分析する上で鍵となるログインキーとセッションキーについて解説します。それぞれのキーにおいて、リアルタイムイベントモニタリングのログを例に、ユーザのイベントデータをどのように紐解くことができるか事例を紹介します。(おさらい) イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとは今回ご説明するログインキー、セッションキーは以下の項目名でどちらのログ種別にも含まれております。それぞれのキーの値は、アルファベットの大文字小文字、数字、記号を含むランダムな16文字の文字列で構成されます。リアルタイムイベントモニタリングログログインキー:LoginKeyセッションキー:SessionKeyイベントモニタリングログログインキー:LOGIN_KEYセッションキー:SESSION_KEYログインキーについてログインキーは、ユーザがあるクライアントでログインしてからログアウトするまでの間に行った一連の操作に対して、一意に付与される値になります。​例えば、あるユーザがSalesforceにログイン→レコードへアクセス→ログアウトし、その後再度ログイン→レコードアクセスした場合、最初のログイン後に実施したレコードアクセスのアクセスログに含まれるログインキーの値と、二回目のアクセスログに含まれるログインキーの値は異なります。ログインキーはログイン処理の度に生成されるので、もし仮に一人のユーザが同じ時間帯に複数のブラウザや端末で同時に操作していた場合でも、それぞれのブラウザや端末で実施したログインの数だけ異なるログインキーが割り当てられます。​以下に、一人のユーザが同じ時間帯に複数端末からログインし、レコードへアクセスした際のリアルタイムイベントモニタリングログの例を示します。(ログのフォーマットは一部簡略化しています)このとき、ログに含まれるログインキーの値が各端末毎に異なること、また一度ログアウトし再度ログインした場合にログインキーの値が更新されることにご注目ください。このようにログインキーの値を確認することで、例え同一ユーザであっても異なる環境やログインセッションで操作をしていた場合に、これらを区別することが出来るようになります。セッションキーについてについてセッションキーはユーザのセッションに紐付く値になります。通常、ログイン処理に伴いセッションが発行されるため、ログインキーが変化する場面ではセッションキーも同じく更新されるケースが大半です。セッションキーのみが更新されるケースとして、他のユーザとしてのログイン や frontdoor.jsp を使用したログインを伴わないSalesforceへのアクセスがあげられます。​以下に、一人のユーザが一度だけログインし、その後frontdoor.jspを使用した別端末へのアクセスや他のユーザとしてのログイン操作に伴うリアルタイムイベントモニタリングのログ例を示します。このとき、frontdoor.jspや代理ログインによる別の端末や別のユーザによるアクセスログにおいて、ログインキーの値は全て同一でありながらも、セッションキーの値がそれぞれ変化している点にご注目ください。あるユーザがログイン処理を伴わずに別の端末やユーザとしてアクセスをした結果、ログインキーが同一であった場合でもセッションキーの値を確認することでそれぞれの操作を見分けることが出来ます。学習ツールsalesforce admins:Two New Keys to Unlock Your Users’ Event Data - Salesforce Admins(英語)サクセスナビ:アクセスログの参照ガイドまとめイベントモニタリングログとリアルタイムイベントモニタリングログに含まれるログインキーとセッションキーにより、Salesforce アプリケーション内のユーザーの行動をより詳細に把握することが可能となり、セキュリティ調査やユーザー行動の理解、アプリケーションやパフォーマンスの問題の調査などに役立てることができます。

  • Salesforce利用分析のためのイベントログの参照ガイドイメージ

    Salesforce利用分析のためのイベントログの参照ガイド

    この記事で学べることイベントモニタリングに含まれる2種類のログを理解し、活用に向けてユーザがどのようにSalesforceを利用しているか分析するために、確認したいケースごとにどこの情報を参照することにより、ユーザがどのようにSalesforceを利用しているかを確認することができることを理解できます。イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス/Event Monitoring Analytics分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとは利用状況の確認方法ログイン状況の確認(Event Monitoring Analytics から)利用状況確認の第一歩目としてログイン状況の確認が必要です。Event Monitoring Analytics のLoginsダッシュボードを活用すれば、数回のクリックで誰が頻繁にログインをしているか、また特定プロファイルや部門/役職(ロール)のユーザのログイン回数がどの程度か一目瞭然となります。従前の作業で必要であった、ログイン履歴のCSVファイルをダウンロード、表計算ソフトにインポート、関数やフィルタ機能を駆使して必要なデータを抽出しグラフ化、といった煩わしい作業が不要になります。​​あまりログインができていないユーザや部門があれば、ログインされない原因を確認して対応します。例えば、使い勝手が悪いとの事であればレコードタイプやページレイアウトのカスタマイズを実施する、使い方が分からないとの事であれば使用方法の従業員教育をする、そもそも使う理由や効果が納得できないとの事であれば導入目的を説明して理解を促す等の対応が考えられます。​人気の高いレポート/ダッシュボード/ファイルの確認(Event Monitoring Analytics から)ログイン状況の改善がなされたら、次のステップとしてどの様な情報がよく参照されているかを把握します。利用頻度の高い情報は有益である可能性が高いと考えられるためです。例えば利用頻度の高いダッシュボードの情報をアナウンスすることで、ユーザやチームは今まで活用できていなかったダッシュボードに気付くことができるかもしれません。この様な利用傾向はEvent Monitoring Analyticsで提供されるダッシュボードから容易に確認ができます。Salesforceにおけるダッシュボードの利用傾向はDashboards、レポートの利用傾向はReportsまたはReport Downloads、ファイルの利用傾向はFilesのダッシュボードから確認ができます。また、この様な利用傾向を容易に共有できる機能をEvent Monitoring Analytics は有しています。​​どのキーワードで情報が検索されているか確認(Event Monitoring Analytics から)Event Monitoring Analytics においてダッシュボードではありませんが、データセットとして用意されているSearchデータセットのSEARCH_QUERY項目を調べる事によって、どのようなキーワードでSalesforce内の情報が検索がされたのかを確認ができます。Searchデータセットの内容についてはソースのログである検索イベント種別をご確認ください。Searchデータセットによってユーザが業務上どの様な情報に関心を持っているか分かり、効果的にナレッジを提供できる蓋然性が高まります。利用頻度の高いリストビューの確認(リアルタイムイベントモニタリングから)ユーザがどの様なフィルタ条件のリストビューを用いているかも重要な情報となり得ます。リアルタイムイベントモニタリングのListViewEventからFilterCriteria項目を確認することでフィルタ条件を確認できます。リアルタイムイベントモニタリングで確認できる内容についてはアクセスログの参照ガイドの記事も併せてご参照ください。​レコードの作成や編集に要した時間を把握(リアルタイムイベントモニタリングから)ユーザが特定のレコードの作成や編集にどの程度の時間を要したか、リアルタイムイベントモニタリングのLightningUriEvent(Classic環境の場合はUriEvent)から、画面を開いた時刻と保存時の時刻の時間差で確認をする事ができます。具体的にどのオブジェクトに対する操作であったかはQueriedEntitiesを、どのレコードに対する操作であったかはRecordIdから確認をします。​EventDate : 指定された URI イベントが捕捉された時間 (クエリの実行後)。たとえば、「2020-01-20T19:12:26.965Z」などです。最も細かい設定はミリ秒ですOperation : エンティティで実行されている操作。Read, Create, Update または Delete があります。作成および更新操作はペアで捕捉されます。つまり、操作ごとに 2 つのイベントレコードが予期されます。最初のレコードは操作の開始を表し、2 番目のレコードは操作が成功したかどうかを表します。2 つのレコードはRelatedEventIdentifier によって相互に関連付けられます。作成または更新操作に対して 2 番目のイベントが記録されていない場合、ユーザが操作をキャンセルしたか、クライアント側の検証で操作が失敗しています。(必須項目が空の場合など)。RecordId : 表示または編集されているレコードの IDQueriedEntities : URI によって参照されるオブジェクトの API 参照名Username : イベントが作成された時点での user@company.com 形式のユーザ名ハイパフォーマーの活用方法を共有ユーザによる利用状況の把握ができたら、次のステップとしてハイパフォーマーの活用方法を抽出して展開することが考えられます。ハイパフォーマーが良く使っているダッシュボードやレポート、ファイルなどを共有し、レコードの作成や編集にかける時間をどの様に短縮しているかといった工夫をヒアリングして展開します。ハイパフォーマーからのフィードバックを得る事で使い勝手の良いアプリケーションとなっていき、ログイン率が向上、改善のサイクルが回っていくことが期待できます。ケーススタディ太陽光発電システムを販売する米国最大のプロバイダーであるS社は、導入開始間もないモバイルアプリケーションの利用促進に課題を持っていましたが、イベントモニタリングを使用して課題を抱えているユーザーを特定し、的を絞ったコーチングを提供することで、モバイルアプリケーションの採用を加速しました。また、化粧品業界向けの特殊原料を製造する大手メーカーのT社は、一部の営業チームがCRMを使用していなかったことでが課題でしたが、イベントモニタリングにより、使用頻度と営業成績の観点から、営業チームの行動を追跡できるようになりました。 時間と使用の質を調べることで、Salesforceを頻繁に使用する営業担当者がそうでない営業担当者よりり成績が良いことを証明できました。Salesforceの利用が増えることで、その価値を売上高で示すことができるので、実際にSalesforceをもっと使おうという気にさせることができSalesforceをより多く使用するように営業担当を動機付けることができました。学習ツールプラットフォームイベント開発者ガイド- リアルタイムイベント監視オブジェクトSOAP API 開発者ガイド - EventLogFile でサポートされているイベント種別サクセスナビ - アクセスログの参照ガイドまとめイベントモニタリンクおよび、リアルタイムイベントモニタリングのログを分析することにより、ユーザのログイン状況、よく使用されるリストビュー、レポート、ダッシュボード、ファイルなどが理解でき、レコードの作成や編集に要した時間も把握するとこができます。また、利用状況と売上や勤務時間など他の情報との関係性を発見できるかもしれません。これで得られた洞察により、利用活用の障壁に対策を講じたり、利用の動機付けを行うことによりSalesforce の利用および活用促進につなげることが可能となります。

  • パフォーマンス分析のためのイベントログの参照ガイドイメージ

    パフォーマンス分析のためのイベントログの参照ガイド

    この記事で学べることイベントモニタリングに含まれる2種類のログを理解し、パファーマンス分析のために、確認したいケースごとにどのログのどの項目を参照することにより、ボトルネックやチューニングのポイントを確認することができるか理解できます。イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはここでは、パフォーマンス分析用のログとしてイベントモニタリングのログを対象に説明しています。​パフォーマンス監視の重要性生産性向上を実現するために導入したせっかくのシステムもレスポンスが悪く利用にストレスがあると利用が促進されない場合があります。パフォーマンスはシステムを利用するにあたって重要な要因です。しかしパフォーマンスは様々な要因で劣化してしまいます。例えば、大量データの取り扱い、データベースのインデックス、冗長なロジックのコード、またお客様環境においてもネットワークやクライアントの環境によってもパフォーマンス劣化が発生します。そのため継続的なパフォーマンスの監視はシステムの導入を成功に導くために重要なポイントとなります。イベントモニタリングによるログの取得多くのイベントログに要求の完了にかかった CPU 時間 (CPU_TIME)が記録されます。また、APEX実行に関するログにはデータベースのパフォーマンスに係る数値(DB_TOTAL_TIME)が記録されます。​パフォーマンスの問題が発生した際は、イベントログから要求の完了に係ったCPU時間とデータベースの処理にかかった時間を比較することで、パフォーマンス上の問題が独自のコードの部分にあるかデータベースレイヤのどちらにあるか、またはクライアント環境に起因するものか判断することが出来ます。​また、大まかに処理に時間がかかった部分を判断した上で、デバッグログの設定をしていただく事でより具体的にどの処理に時間を要したか、効率よく確認をしていく事が可能となります。​ヘルプ : デバッグログの設定取得するべきイベントログファイル以下にパフォーマンスに関する調査において参考となるイベントログファイルおよびその項目について例示をします(表中黄色いハイライト部分は、ログ対象のイベントを特定する項目です)。各イベントログファイルの内容については以下をご参照ください。​SOAP API開発ガイド:EventLogFile でサポートされているイベント種別Lightning ページビューイベント種別Lightning Experience および Salesforce モバイルアプリケーションでイベントが発生したページに関する情報を表します。Lightning ページビューイベントは、ユーザがアクセスしたページ、そのページにユーザが滞在した時間、ページの読み込み時間を追跡します。​Summer ‘22のリリースで、EFFECTIVE_PAGE_TIME_DEVIATION、EFFECTIVE_PAGE_TIME_DEVIATION_ERROR_TYPE、および EFFECTIVE_PAGE_TIME_DEVIATION_REASONの3項目が追加されました。これらの項目によりページのロードに時間がかかる原因の特定が容易になります。​項目名説明​PAGE_URLユーザが開いた最上位の Lightning Experience ページまたは Salesforce モバイルアプリケーションページの相対 URL。ページには、1 つ以上の Lightning コンポーネントを含めることができます。複数のレコード ID を PAGE_URL に関連付けることができます。​EFFECTIVE_PAGE_TIMEページを読み込んでからユーザがページの機能を操作できるようになるまでにかかった時間 (ミリ秒) を示します。実効ページ時間は、複数の要素 (ネットワーク速度、ハードウェアパフォーマンス、ページの複雑さなど) の影響を受けます。60 秒を超える有効なページ時間が検出された場合、この項目の値は null に設定されます。​EFFECTIVE_PAGE_TIME_DEVIATION逸脱が検出されると EFFECTIVE_PAGE_TIME_DEVIATION はtrueを記録します。デフォルト値はfalseです。​EFFECTIVE_PAGE_TIME_DEVIATION_REASONページ読み込み時間の逸脱の理由が記録されます。値の意味についてはLightning ページビューイベント種別からAPI version v55.0以降をご確認ください​EFFECTIVE_PAGE_TIME_DEVIATION_ERROR_TYPEこのフィールドはEFFECTIVE_PAGE_TIME_DEVIATION_REASONにPAGE_HAS_ERRORが記録された場合に入力されます。入力されうる値はCUSTOMまたはSYSTEMとなります。・CUSTOM : 顧客システムまたはネットワークに起因するエラー・SYSTEM : セールスフォースに起因するエラーLightning パフォーマンスイベント種別Lightning Experience および Salesforce モバイルアプリケーションのパフォーマンスのトレンドを追跡します。レコードに対するユーザアクションに関する所要時間が把握できます。​項目名説明​UI_EVENT_SOURCEレコードに対するユーザアクション(作成/編集/削除/参照など)。この項目の値は、ユーザのアクションが 1 つのレコードに対して実行されたか複数のレコードに対して実行されたかを示します。たとえば、read は (レコード詳細ページなどで) 1 つのレコードが参照されたことを示し、reads は (リストビューなどで) 複数のレコードが参照されたことを示します。​DURATIONページ開始時刻からの時間 (ミリ秒)。Apex 実行イベント種別実行された Apex クラスに関する詳細が含まれます。​項目名説明​URI要求を受信しているページの URI。​NUMBER_SOQL_QUERIESイベント中に実行された SOQL クエリ数。​IS_LONG_RUNNING_REQUEST要求が実行時間が長い組織の同時 Apex 要求の上限にカウントされるか (true)、否か (false) を示します。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU使用率にカウントされません。​DB_TOTAL_TIME要求のすべての操作について、データベース処理の待機にかかった時間の集計 (ミリ秒)。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​EXEC_TIMEエンドツーエンドの Apex 実行時間 (単位: ミリ秒)。​RUN_TIME要求にかかった時間 (ミリ秒単位)。要求の値が 5 秒を超える場合、同時長時間実行の Apex 制限により、長時間実行の要求と見なされます。Salesforce/第三者へのリクエストにかかる時間で、HTTPコールアウト、REST/SOAPコールなどが含まれる場合があります。Apex REST APIイベント種別すべての Apex REST API 要求に関する情報を取得します。​項目名説明​​​URI要求を受信しているページの URI。​​​ROWS_PROCESSED要求で処理された行数。​​​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU使用率にカウントされません。​​​DB_CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。要求時にデータベースレイヤで実行されているアクティビティ量を示します。​​​DB_BLOCKSデータベースで発生しているアクティビティ量を示します。この項目の値が高い場合、クエリにインデックスまたは検索条件を追加するとパフォーマンスが向上します。​​​DB_TOTAL_TIMEデータベース往復処理の時間 (ナノ秒単位)。JDBC ドライバー、データベースへのネットワーク、および DB_CPU_TIME で費やされた時間を含みます。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​​​RUN_TIME要求にかかった時間 (ミリ秒単位)。​​Apex SOAP イベント種別Web サービス API コールに関する詳細が含まれます。​項目名説明​CLASS_NAMEApex クラス名。クラスが管理パッケージの一部である場合、この文字列にはパッケージ名前空間が含まれます。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_TOTAL_TIME要求のすべての操作について、データベース処理の待機にかかった時間の集計 (ミリ秒)。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​RUN_TIME要求にかかった時間 (ミリ秒単位)。要求の値が 5 秒を超える場合、同時長時間実行の Apex 制限により、長時間実行の要求と見なされます。Salesforce/第三者へのリクエストにかかる時間で、HTTPコールアウト、REST/SOAPコールなどが含まれる場合があります。Apex トリガイベント種別組織で起動されたApexトリガに関する詳細が含まれます。​項目名説明​TRIGGER_ID起動されたトリガの 15 文字の ID。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_TOTAL_TIME要求のすべての操作について、データベース処理の待機にかかった時間の集計 (ミリ秒)。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​EXEC_TIMEエンドツーエンドの Apex 実行時間 (単位: ミリ秒)。Salesforce/第三者へのリクエストにかかる時間で、HTTPコールアウト、REST/SOAPコールなどが含まれる場合があります。​RUN_TIME要求にかかった時間 (ミリ秒単位)。要求の値が 5 秒を超える場合、同時長時間実行の Apex 制限により、長時間実行の要求と見なされます。Salesforce/第三者へのリクエストにかかる時間で、HTTPコールアウト、REST/SOAPコールなどが含まれる場合があります。非同期レポート実行イベント種別非同期レポート実行イベントは、スケジュールされたレポート要求に対して作成されます。このカテゴリには、ダッシュボードの更新、非同期レポート、スケジュールレポート、分析スナップショットが含まれます。​​項目名説明​REPORT_ID実行されたレポートの 15 文字の ID。​ROW_COUNT非同期レポート実行イベントで処理された行数。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_BLOCKSデータベースで発生している活動量を示します。この項目の値が高い場合、クエリにインデックスまたは検索条件を追加するとパフォーマンスが向上します。​DB_TOTAL_TIME要求のすべての操作について、データベース処理の待機にかかった時間の集計 (ミリ秒)。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​RUN_TIME要求にかかった時間 (ミリ秒単位)。要求の値が 5 秒を超える場合、同時長時間実行の Apex 制限により、長時間実行の要求と見なされます。Salesforce/第三者へのリクエストにかかる時間で、HTTPコールアウト、REST/SOAPコールなどが含まれる場合があります。実行時間が長い同時 Apex 制限イベント種別組織の同時実行制限に達した後に Salesforce によって終了された、組織内の実行時間が長い同時 Apex 要求に関する情報が含まれます。確立された Apex コンテキストが 5 秒間実行される要求は、実行時間が長い同時要求の組織の制限に含まれます (非同期要求は制限に含まれません)。実行時間が長い要求数が 10 (組織のデフォルトの制限) を超えた場合、その他の実行時間が長い要求は終了されます。​項目名説明​REQUEST_URISalesforce によって終了された実行時間が長い Apex 要求の URI。継続コールアウトサマリーイベント種別トランザクション中に実行されたすべての非同期コールアウト、その応答状況コード、実行時間、および対象の URL エンドポイントに関する情報が含まれます。​項目名説明​URLコールアウトエンドポイント URL。継続で使用された HTTP 要求数によっては、この項目に最大 3 個のスペース区切り値が含まれる可能性があります。​DURATION合計継続時間 (ミリ秒)。外部のカスタム Apex コールアウトイベント種別Salesforce Connect のカスタムアダプタを介した外部データコールアウトを表します。​項目名説明​ENTITYアクセスされる外部オブジェクトの名前。​ACTIONコールアウトによって実行されるアクション(query/upsert/delete)。​ROWS_FETCHEDコールアウトによって取得された行の数​ROWS結果セットの総レコード数​FETCH_MS外部システムからクエリ結果を取得するのに要した時間 (ミリ秒)。​THROUGHPUT1 秒間で取得されたレコード数。​EXECUTE_MSSalesforce がクエリの準備および実行に要した時間 (ミリ秒)。​TOTAL_MSクエリの準備、実行、およびクエリ結果の取得に要した時間 (ミリ秒)外部の OData コールアウトイベント種別Salesforce Connect の OData 2.0 および OData 4.0 アダプタを介した外部データコールアウトを表します。​項目名説明​ENTITYアクセスされる外部オブジェクトの名前。​ACTIONコールアウトによって実行されるアクション(query/upsert/delete)。​ROWS_FETCHEDコールアウトによって取得されたレコードの数。コールアウトによって取得されたレコードは、大きな結果セットのサブセットである場合があります​ROWS結果セットの総レコード数​FETCH_MS外部システムからクエリ結果を取得するのに要した時間 (ミリ秒)​THROUGHPUT1 秒間で取得されたレコード数。​EXECUTE_MSSalesforce がクエリの準備および実行に要した時間 (ミリ秒)​TOTAL_MSクエリの準備、実行、およびクエリ結果の取得に要した時間 (ミリ秒)レポートイベント種別ユーザがレポートを実行したときの動作に関する情報が含まれます。このイベント種別には、レポートのエクスポートイベント種別のすべての活動とその他の活動が含まれます。​項目名説明​REPORT_ID実行されたレポートの 15 文字の ID。​ROW_COUNTレポートイベントで処理された行数。行数が多く、かつ AVERAGE_ROW_SIZE も大きい場合は、ユーザが詐欺目的で情報をダウンロードしている可能性があります。たとえば、競合他社に転職する前にすべてのセールスリードをダウンロードする営業担当などがこれに該当します。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。要求時にデータベースレイヤで実行されている活動量を示します。​DB_BLOCKSデータベースで発生しているアクティビティ量を示します。この項目の値が高い場合、クエリにインデックスまたは検索条件を追加するとパフォーマンスが向上します。​DB_TOTAL_TIMEデータベース往復処理の時間 (ナノ秒単位)。JDBC ドライバー、データベースへのネットワーク、および DB_CPU_TIME で費やされた時間を含みます。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​RUN_TIME要求にかかった時間 (ミリ秒単位)。フロー実行イベント種別合計実行時間、インタビューの数、エラーの数などの詳細を含む、実行されたフローに関する情報が含まれます。​項目名説明​FLOW_VERSION_ID実行されたフローバージョンの ID。​FLOW_LOAD_TIMEフローのメタデータの読み込みにかかった時間 (ミリ秒単位)。​TOTAL_EXECUTION_TIMEすべてのフローインタビューの開始と終了にかかった合計時間 (ミリ秒単位)。Wave パフォーマンスイベント種別Analytics パフォーマンスのトレンドを追跡するのに役立ちます。​項目名説明​RECORD_IDTableau CRM オブジェクトの Salesforce ID。​TAB_IDユーザインターフェースの特定の [分析] タブの ID。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​RUN_TIME要求にかかった時間 (ミリ秒単位)。​EPT体験ページ時間 (ミリ秒単位)。Visualforce 要求イベント種別Visualforce 要求に関する詳細が含まれます。要求はブラウザ (UI) から実行できます。​項目名説明​PAGE_NAME要求された Visualforce ページの名前。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。要求時にデータベースレイヤで実行されている活動量を示します。​DB_BLOCKSデータベースで発生している活動量を示します。この項目の値が高い場合、クエリにインデックスまたは検索条件を追加するとパフォーマンスが向上します。​DB_TOTAL_TIMEデータベース往復処理の時間 (ナノ秒単位)。JDBC ドライバー、データベースへのネットワーク、および DB_CPU_TIME で費やされた時間を含みます。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​RUN_TIME要求にかかった時間 (ミリ秒単位)。コンソールイベント種別Salesforce コンソールのパフォーマンスと使用に関する情報が含まれます。サイドバーコンポーネントで [コンソール] タブが開かれるたびに、コンソールイベントがログに記録されます。それ以外は、Salesforce Classic の場合と同様に、[コンソール] タブが開かれると、通常のレコードの詳細の表示イベントが記録されます。​項目名説明​COMPONENT_IDコンポーネントの 15 文字の ID。​CONSOLE_IDコンソールの 15 文字の ID。​RECORD_IDコンソールに関連付けられたレコードの 15 文字の ID。​CPU_TIME要求の完了にかかった CPU 時間 (ミリ秒単位)。この項目は、アプリケーションサーバレイヤで実行されているアクティビティ量を示します。DMLの実行中には、レコードロックや処理中のレコードのロック解除待ち、apexコードのコンパイルなど、(開発者が制御できない)他の動作が行われます。この時間はすべて、CPU時間にカウントされません。​DB_TOTAL_TIMEデータベース往復処理の時間 (ナノ秒単位)。JDBC ドライバー、データベースへのネットワーク、および DB_CPU_TIME で費やされた時間を含みます。この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断します。​RUN_TIME要求にかかった時間 (ミリ秒単位)。学習ツールSOAP API開発ガイド:EventLogFile でサポートされているイベント種別ヘルプ : デバッグログの設定トレイルヘッド:Lightning Experience のパフォーマンスの最適化ヘルプ:技術要件とパフォーマンスのベストプラクティスまとめパフォーマンス分析に関するログは、イベントモニタリングのログに記録され、対象のログと項目を確認することにより、パフォーマンス問題がどこで発生しているのか、またどこがボトルネックになっているのか確認することができます。この記事で学べることイベントモニタリングに含まれる2種類のログを理解し、パファーマンス分析のために、確認したいケースごとにどのログのどの項目を参照することにより、ボトルネックやチューニングのポイントを確認することができるか理解できます。​

  • 脅威検知の利用開始イメージ

    脅威検知の利用開始

    この記事で学べること脅威検知機能の概要脅威検知アプリケーションの設定方法トランザクションセキュリティによる管理者への通知設定イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとは脅威検知は、リアルタイムイベントモニタリングに含まれるログとなります。脅威検知機能の概要脅威検知機能はイベントモニタリングに含まれる機能の一つであり、統計および機械学習の手法を駆使してSalesforce組織に対する脅威を検知します。この機能により、組織内で発生しているアクティビティに対して、不審なもの・普段とは傾向が異なるものがないかどうかが自動で分析され、万が一異常な傾向があった場合には「脅威検知イベント」としてその内容をログに記録します。また、同じイベントモニタリングに含まれるトランザクションセキュリティ機能と組み合わせることで、脅威検知イベントが作成された際に管理者に対してメールやアプリ内通知で知らせることもできます。このように、AIの力を借りることでシステム管理者が蓄積されたログを逐一分析することなく、組織に対する脅威を確認する手助けを行ってくれます。設定は簡単ですので、ログを分析できる要員がいない組織でも有効な機能です。脅威検知機能にて検知できる機能は以下の4種類です。クレデンシャルスタッフィングクレデンシャルスタッフィングは、盗取したログイン情報を使用する一種のサイバー攻撃です。「パスワードスプレー」「クレデンシャル漏洩」ともいいます。攻撃者は、脆弱なウェブサービスに対するサイバー攻撃や、過去に流出した情報などから大量のユーザ名とパスワードを取得します。そして、取得したログイン情報を使用して、Salesforce などの Web アプリケーションに大規模な自動ログイン要求を仕掛け、ログイン出来るアカウントがないかどうか調査します。もし万が一ユーザ名とパスワードを使いまわしているユーザがいた場合、ユーザアカウントに不正にアクセスされてしまいます。セッションハイジャックセッションハイジャックは、ログイン中のユーザのセッションを乗っ取り、そのユーザに成りすましてアクセスを行う攻撃です。通常ウェブページにおいてログイン処理が正常に行われると、ユーザのクライアントはセッショントークンを受け取り、次回以降ログイン後の状態でアクセスが出来ます。攻撃者はそのセッショントークンを窃取して、クライアントのセッションを乗っ取ろうとします。万が一セッションが乗っ取られた場合、攻撃者はトークンを窃取されたユーザに成りすましてウェブページへアクセス出来るため、ログイン後にしかアクセスできないような機密情報にアクセス出来てしまう可能性があります。​(注意) イベントモニタリングライセンスの有無にかかわらず、Salesforceのすべてのお客様はクレデンシャルスタッフィングおよびセッションハイジャックが発生した場合に、影響を受けたユーザに対してセッションの切断やID 検証、強制パスワード変更といった軽減措置が実施されます。ただし、これらの軽減措置はシステムによって自動で実行されるものであり、対象組織の管理者はその措置が発動されたかどうかを確認することは通常出来ません。イベントモニタリングの脅威検知機能により、これらの不正なアクティビティがイベントログとして記録されるため、お客様の組織に対して不正なアクセスがあったことを表面化させる(認知する)ことができ、システム管理者がその内容を確認することが出来るようになります。レポートの異常過去90日分のユーザのレポート生成とその周辺アクティビティの傾向を元に、ユーザーが普段とは異なる傾向でレポートを実行またはエクスポートしたかどうかを調査します。もしユーザのレポートアクティビティが普段とは異なる傾向であった場合、脅威検知イベントとしてその内容がログとして記録されます。システム管理者は生成されたログにより組織内の異常な行動について感知することができ、ログ内容を確認することで検知された行動が本当に悪意のあるものであったかどうかを確認していくことができます。API 異常レポートの異常と同じく、過去90日分のユーザのAPI生成とその周辺アクティビティの傾向を元に、ユーザーが普段とは異なる傾向でAPIを利用していないかどうかを調査します。脅威検知アプリケーションの設定方法脅威検知機能には、アプリケーションランチャーからアクセスができる専用のアプリケーションが用意されています。この脅威検知アプリケーションにアクセスし、組織内で発生した脅威検知イベントを確認するためには、以下の手順を実施して管理ユーザに表示できるようにしておく必要があります。イベントマネージャを使用して、4種類の脅威検知イベント (CredentialStuffingEvent, SessionHijackingEvent, ReportAnomalyEvent, ApiAnomalyEvent) のストリーミングとストレージを有効にします。詳細な手順はこちらの記事をご確認ください。Salesforce ライセンスに関連付けられた権限セットを作成します。権限セットについてはこちらの記事をご確認ください。権限セットの [システム権限] ページを編集し、[脅威検知イベントを表示] 権限を有効にします​​脅威検知アプリケーションを管理するユーザにこの権限セットを割り当てます。脅威検知アプリケーションを使用する各ユーザプロファイルの [タブの設定] を編集し、5 つのタブの表示を指定します。5 つのタブは、[セッションハイジャックイベントストア]、[クレデンシャルスタッフィングイベントストア]、[レポート異常イベントストア]、[API 異常イベントストア]、[脅威検知フィードバック] です。たとえば、システム管理者は通常 UI を使ってあらゆる機能にアクセスするため、システム管理者プロファイルでは 5 つのすべてのタブの表示を [デフォルトで表示] に設定します。脅威検知管理者プロファイルを作成した場合も、同じ表示を設定します。標準ユーザがフィードバックを表示できないようにする場合は、標準ユーザプロファイルの [脅威検知フィードバック] の表示を [タブを隠す] に設定します。​​[設定] で、[クイック検索] ボックスに「アプリケーションマネージャ」と入力し、Lightning Experience アプリケーションマネージャに移動します。脅威検知アプリケーションの右側にあるドロップダウンボックスで [編集] を選択し、このアプリケーションを編集します。​​もし [タブの選択] セクションに手順.5で設定した 5 つのタブが含まれていない場合は、適宜 [選択されたタブ] へ移動させます。​​[プロファイルへの割り当て] セクションで、脅威検知アプリケーションを表示可能にするプロファイルを選択し、設定を保存します。トランザクションセキュリティによる管理者への通知設定イベントモニタリングに含まれる「トランザクションセキュリティ」機能を利用し、脅威検知イベントを対象としたトランザクションセキュリティポリシーを作成することによって、新たに脅威検知イベントが生成された際に管理者に対してメールやアプリ内通知によってアラートをあげることができます。これにより、管理者は脅威検知アプリケーションの内容を確認し、新たな脅威が発生していないか定期的に確認する必要がなくなります。​以下の例では、セッションハイジャックイベントが生成された際に、管理者に対してメール通知およびアプリケーション内通知を行うポリシーを条件ビルダーを用いて作成します。[設定] で、[クイック検索] ボックスに「トランザクション」と入力し、トランザクションセキュリティポリシーに移動します。(初回のみ) トランザクションセキュリティ画面の [有効化] ボタンをクリックします。​​新しくトランザクションセキュリティポリシーを作成するため、[新規] ボタンをクリックします。GUI操作でポリシーを作成していく場合は [条件ビルダー] を、予めトランザクションセキュリティ用に作成したApexクラスを指定する場合は [Apex] を選択します。(今回は条件ビルダーでの作成方法で解説します)ポリシー作成画面より、以下の条件を設定し、[次へ] をクリックします。[行動]:セッションハイジャックイベントストア[条件ロジック]:すべての条件に一致 (AND)※今回、設定する条件は1つのみなのでロジックどれでもOKです[条件]: “スコア” >= “0”​​アクション設定画面にて、以下の条件を設定し、[完了] をクリックします。[アクション]:なし[通知]:メール内通知・アプリケーション内通知のチェックをON[受信者]: 脅威検知イベントの通知を受け取る管理者を指定[名前]:Session Hijacking Trigger Alert※作成したポリシーの内容が分かる名前を任意につけてください[状況]: 有効​​ポリシーが有効な状態で、脅威検知機能により新たにセッションハイジャックイベントが生成された際には、以下のようなメール通知・アプリケーション内通知が指定された管理者に対して送信されます。​​​各々のイベントが発生した場合、前述の通りクレデンシャルスタッフィングおよびセッションハイジャックについては既にシステムによって自動で対処は完了していますが、再度同様の攻撃を受け続けないためにも、該当ユーザに対して使いまわしているパスワードがないかどうかのヒアリングや、利用端末に対するウイルスチェックの実施などを行うことで、根治対処を行うことも重要となります。同様に、レポートの異常やAPI 異常についても該当ユーザへのオペレーション内容の確認やイベントモニタリングで生成されたログの確認を行うことで本当に脅威となるアクティビティであったかどうか確認を実施します。これらの調査については、以下のヘルプページが用意されておりますので合わせてご参照ください。セッションハイジャックの調査クレデンシャルスタッフィングの調査レポートの異常の調査API 要求の異常の調査機械学習アルゴリズムへのフィードバック脅威検出イベントが生成された後は、その検知内容が適切であったかどうか管理者によって機械学習アルゴリズムに対してフィードバックを送信することができます。不正なアクセスを正しく検知できていた(正検知)という場合と、通常の業務内容などによって発生した検知であり、不正なアクセスではなかった(誤検知)という場合の両方のケース対して送信が可能になっており、こまめにフィードバックを行うことで脅威検出機能の検知精度を高めることができます。詳細はこちらのヘルプをご確認ください。フィードバックを送信したい、誤検知となった脅威検出イベントへアクセスし、右上の [Provide Feedback] をクリックします。指定した脅威検出イベントの内容について Malicious(悪意あり)、Suspicious(疑わしい)、Not a Threat(脅威ではない)、Unknown(不明)の4つから選択し、保存ボタンを押してください。学習ツールHelp - 脅威検知Help - 脅威検知イベントの表示とフィードバックの提供Help - 拡張トランザクションセキュリティTrailhead - 拡張トランザクションセキュリティまとめ脅威検知機能により、Salesforce組織に発生した脅威を顕在化させることができ、組織の管理者はこれらに気付くことで追加の対応や対策を検討するきっかけを得ることが出来るようになります。ただし、本機能の活用に当たってはログの有効化やトランザクションセキュリティポリシーの活用など、いくつか事前に準備を行っておくことが重要となりますので、本記事をきっかけに対応を進めていただけると幸いです。

  • ログの取得方法イメージ

    ログの取得方法

    この記事で学べることイベントモニタリングに含まれる2種類のログの違いリアルタイムイベントモニタリングのログの取得方法イベントモニタリングのログ(EventLogFile)の取得方法イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとは2種類のログは、取得方法が異なりますので、それぞれのログの取得方法について説明します。リアルタイムイベントモニタリングのログ取得リアルタイムイベントモニタリングでは、イベントデータをストリーミング視聴したり、Salesforceオブジェクトに保存してクエリしたりすることができます。保存イベントの多くは、大量データの最大6か月間(認証系ログは10年間)の保存に適したSalesforce Big Objectが対応します。Big Objectではデータが Salesforce ネイティブとして保存されるため、アクセスしてレポートやその他の用途に使用できます。一部の保存イベント(脅威検知イベントなど)は、標準 Salesforce オブジェクトが対応します。​リアルタイムログの記録開始については以下の記事を参照してください。ログの記録開始リアルタイムログの取得に必要な権限の設定[設定] から、次のいずれかの操作を実行します。[クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。[クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。権限セットまたはプロファイルを選択します。権限セットとプロファイルのどちらを使用するかに応じて、次のいずれかの操作を実行します。権限セットまたは拡張プロファイルユーザインターフェースで、権限を選択します。[設定の検索] ダイアログボックスに、「リアルタイムイベントモニタリングデータの表示」と入力します。[編集] をクリックし、オプションを選択して、[保存] をクリックします。「アプリケーションのカスタマイズ」権限についても上記の手順を繰り返します。元のプロファイルユーザインターフェースで、プロファイル名を選択し、[編集] をクリックします。トランザクションセキュリティポリシーを作成する予定の場合は、[リアルタイムイベントモニタリングデータを表示] と [アプリケーションのカスタマイズ] を選択します。[保存] をクリックします。リアルタイムイベントモニタリングを有効にするのに加えて、リアルタイムイベントオブジェクトに対するユーザ権限を設定します。リアルタイムイベントモニタリングオブジェクトには機密データが含まれる場合があります。リアルタイムログのストリーミングログの取得ここでは“Streaming Monitor”を利用してストリーミングイベントを確認する方法を紹介します。Streaming MonitorはSalesforceから提供している管理パッケージとなり、誰でも無償でご利用いただけますがサポートの対象外です。AppExchangeの“Streaming Monitor”ページより、パッケージをインストールしてください。https://appexchange.salesforce.com/listingDetail?listingId=a0N3A00000FYEEWUA5&tab=eパッケージが正常にインストールされると、アプリケーションランチャーにて“Streaming Monitor”が表示されます。​Streaming Monitorページにアクセスし、[Subscribe to a channel] → [Monitoring events] → [確認したいイベント]を順に選択し、[Subscribe]ボタンを押します。(Relay optionはデフォルトのままでOK)​確認したいイベント分だけ、No.3の手順を繰り返します。[Subscriptions]カラムに、指定したイベントログが表示されていることを確認します。(ここでは、一例として“LightningUriEvent”と“ReportEvent”をSubscribeしています)​この状態で実際のイベントが発生すると、画面上にキャプチャされたイベントログがグラフに表示されます。グラフ上の該当ログをクリックすることで、実際のログの内容を確認することができます。​​​リアルタイムログのストレージログの取得リアルタイムイベントモニタリングの保存イベントの多くは、大量データの最大6か月間の保存に適したSalesforce Big Objectに保存されます。保存されたログデータはデータローダを用いてダウンロードすることが可能です。​データローダは、データを一括でインポートまたはエクスポートするためのクライアントアプリケーションです。データローダのインストールや利用方法の詳細は『データローダガイド』をご参照ください。データローダを開きます。[Export (エクスポート)] をクリックします。アーカイブされた活動レコードと論理削除されたレコードもエクスポートする場合は、代わりに [Export All (すべてをエクスポート)] をクリックします。Salesforceユーザ名とパスワードを入力し、[ログイン] をクリックします。ログインしたら、[次へ] をクリックします。オブジェクトを選択します。オブジェクト名がリストに表示されない場合は、[すべてのオブジェクトを表示] を選択して、アクセス可能なオブジェクトをすべて表示します。データのエクスポート先とするCSVファイルを選択または新規作成します。[次へ] をクリックします。データエクスポート用のSOQLクエリを作成します。[完了] をクリックし、[はい] をクリックして確認します。[View Extraction (抽出を表示)] をクリックして CSV ファイルを表示するか、[OK] をクリックして閉じます。イベントモニタリングのログ(EventLogFile)についてイベントモニタリングのログはEventLogFileオブジェクトに格納されます。EventLogFileオブジェクトではイベント種別、対象日(または対象時間)ごとに1件のレコードが作成され、ログデータがBase64に符号化されてLogFile列に格納されています。EventLogFile でサポートされているイベント種別システム管理者は開発者コンソールを使用して、組織のイベントログファイルを確認することができます。また、ログはSalesforceには30日間しか保持されないため、継続的に追跡しイベントモニタリングを最大限に活用するためにはSalesforceからイベントログファイルをダウンロードしておくと便利です。EventLogFileの取得に必要な権限の設定[設定] から、次のいずれかの操作を実行します。[クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。[クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。権限セットまたはプロファイルを選択します。権限セットとプロファイルのどちらを使用するかに応じて、次のいずれかの操作を実行します。権限セットまたは拡張プロファイルユーザインターフェースで、権限を選択(または新規作成)します。[設定の検索] ダイアログボックスに、「イベントログファイルを参照」と入力します。[編集] をクリックし、オプションを選択して、[保存] をクリックします。「API の有効化」権限についても上記の手順を繰り返します。元のプロファイルユーザインターフェースで、プロファイル名を選択し、[編集] をクリックし、[イベントログファイルを参照] と [API の有効化] を選択します。[保存] をクリックします。EventLogFileのダウンロードイベントログファイルは次の数種の方法でダウンロードできます。Event Log File(ELF)Browser(イベントログファイルブラウザ)アプリケーションを使用した直接ダウンロードcURLスクリプトPythonスクリプトここではEvent Log File(ELF)Browserを使用し直接ダウンロードする方法を紹介します。なお、Event Log File(ELF)Browserは無償でご利用いただけますが、サポートの対象外です。組織にログインします。ELF ブラウザアプリケーションに移動します[Production Login (本番ログイン)] をクリックします検索する日付範囲を入力します検索するイベント種別を入力します間隔(毎日または毎時)を入力します[Apply (適用)] をクリックしますこのリストには、指定した日付や時間、イベント種別に該当するイベントログファイルが表示されます。これらのファイルをブラウザアプリケーションで直接開くことはできませんが、ダウンロードすることや、スクリプトを使用することができます。 ここでは、直接ダウンロードする方法を見ていきます。左端の緑のアイコンをクリックして、ログをカンマ区切り値 (.csv)ファイルにダウンロードします。各ファイルには、過去24時間に組織で生じた特定の種別のイベントがすべて記載されます。今回はLightningPageViewイベントのログファイルをダウンロードします。このファイルをスプレッドシートで開いて内容を確認します。PAGE_URL項目でアクセスしたページやレコードを示すURLを、USER_ID項目でユーザのIDを確認することが可能です。学習ツールTrailhead - リアルタイムイベントモニタリングTrailhead - イベントモニタリング動画 - イベントモニタリング設定動画_基礎編(ログの有効化と取得)まとめイベントモニタリングで取得できる二種類のログ(リアルタイムログおよびEventLogFile)の取得方法はそれぞれ異なります。今回はストリーミングや取得方法の一例をご紹介しました。ご利用開始後、適切な方法でログを取得しイベントモニタリングを最大限にご活用ください。

  • イベントモニタリングとはイメージ

    イベントモニタリングとは

    この記事で学べることイベントモニタリングの目的と全体像イベントモニタリングでできることログの取得 - リアルタイムイベントモニタリングとEventLogFileによるイベントモニタリングについてログの活用 - イベントモニタリング各活用機能の概要イベントモニタリングの目的と全体像イベントモニタリングとは、データの安全性を確保するためにSalesforceに搭載されている有償のセキュリティアドオンツールの1つです。Salesforceでは組織のユーザアクティビティを「イベント」と称しますが、このツールを使用すると、システム管理者は、いつ、誰が、どのレコードにアクセスしたかといった個別のイベントに関する情報を細部まで確認することができるようになります。また、イベントモニタリングに含まれる様々なログの活用機能により、イベントのトレンドを追跡し異常な行動をすばやく特定したり、あらかじめ定義した条件に抵触するアクセスをブロックしたりすることができ、組織のデータを保護することができます。ログ記録監視の重要性と必要性Salesforceで標準機能として提供されるログ機能ではユーザのログイン履歴は記録されるものの、ページアクセスやレポートの実行、データエクスポートなどのアクセスログは記録されません。万が一、情報漏えいなどセキュリティインシデントを疑う事象が起きた際に、ログを用いて十分な調査を行い、企業として説明責任を果たすためにはイベントモニタリングが必須です。また、厳格なログ管理や証跡管理は多くの業界ガイドラインでも提言されているため、イベントモニタリングを導入しアクセスログを監視、管理することでこれらの要求事項を実現し、企業のコンプライアンスを強化することができます。ログの記録イベントモニタリングで取得できるログには、次の二種類があります。リアルタイムイベントモニタリングイベントモニタリング(EventLogFile)リアルタイムイベントモニタリングはセキュリティインシデントの発生ログとレコードへのアクセスログの記録と分析を目的としています。アクセスログでは、監視対象は主にアクセスしたレコードを特定するためのレコードID、さらにレポートやビューでは、出力された項目が特定できます。ログはリアルタイムで保存され、ログのタイプにより6ヶ月から10年保存されます。また一部のログタイプはストリーミング配信可能です。リアルタイムイベントモニタリングは、ログのタイプごとに有効化の設定を行う必要があります。​一方、イベントモニタリングは、イベント発生 / エラー / パフォーマンス分析用のイベントログを保存することを目的としています。ログの保存はリアルタイムではなく、1時間ごと及び24時間ごとの2種類のログを30日間保存します。監視対象は主にイベントの発生を識別する情報で、URIや実行されたレポートや実行されたSQLなどで、イベントの発生頻度、パフォーマンスなどを分析するのに役立ちます。ライセンスをご購入いただくと自動的にログの記録を開始します。ログの記録開始、ログの取得方法(保存方法)は次の関連記事をご参照ください。ログの記録開始ログの取得方法アクセスログログの参照ガイドログの活用イベントモニタリングにはログの取得のほかに、ログを活用する機能として、次の3つの機能が含まれています。AIによる脅威検知 - Threat Detectionログの可視化・分析 - Event Monitoring Analyticsリアルタイム制御 - Transaction SecurityAIによる脅威検知機械学習アルゴリズムによって「パスワードリスト攻撃」「セッションハイジャック」「異常レポート出力」「API異常」に対応するリアルタイム監視イベントを生成し、組織への不正アクセスの兆候やユーザの行動の異常を検知する機能です。システム管理者は脅威検知用のイベント管理アプリケーションで検知された脅威を確認することができます。また、後でご紹介するトランザクションセキュリティを使用して、検知された驚異を管理者に通知することができます。また、検知された脅威イベントの詳細を確認し、「悪意あり」「脅威ではない」といった重大度に関するフィードバックをSalesforceに送信してAIに学習させることで、検知精度向上に役立てることができます。脅威検知の利用開始ログの可視化・分析イベントモニタリングのライセンスには、Event Monitoring Analyticsという名称で、ログおよび組織の情報の可視化、分析に特化した Tableau CRM(旧:Einstein Analytics)のライセンスが10ライセンス付属しています。Event Monitoring Analyticsに予め用意された16種類のダッシュボードで簡単にログの分析ができ、Salesforce組織の利用状況やセキュリティに関する脅威・傾向を素早く発見することができます。Event Monitoring Analyticsの利用開始Event Monitoring Analyticsの主要なダッシュボードリアルタイム制御分析によって得られた考察などをもとに、任意の標準オブジェクトまたはカスタムオブジェクトに対して標準機能で提供されているセキュリティ機能よりもさらに細かいアクセス条件(ポリシー)を設定し、ユーザのセキュリティコントロールができる機能です。ポリシーに抵触するアクセスを検知すると操作の実行を制御したり、管理者へ通知したりすることが可能です。この機能を活用することにより、システム管理者やセキュリティ担当者はアクセスログの確認や分析によりセキュリティインシデントの痕跡を事後に確認するだけでなく、疑わしい行為を検知し未然に防ぐことが可能になります。拡張トランザクションセキュリティの設定(準備中)学習ツールTrailhead - リアルタイムイベントモニタリングTrailhead - イベントモニタリング動画 - イベントモニタリング設定動画_基礎編(ログの有効化と取得)動画 - イベントモニタリング設定動画_応用編①(Event Monitoring Analytics)動画 - イベントモニタリング設定動画_応用編②(トランザクションセキュリティ)まとめイベントモニタリングを導入しログを収集・管理することにより、システム管理者はSalesforceの日々の利用状況を時系列で把握することができ、万が一、データ漏えいなどが起こった際には、速やかに原因や影響範囲の特定が可能になります。また、ログの記録だけでなく、専門家が不在でもAIによるログの分析により脅威を検知したり、ログを簡単に可視化・分析して利用状況やセキュリティに関する脅威を発見したり、さらには分析によって得られた考察からよりきめ細かいセキュリティコントロールを実装したりすることが可能になります。​イベントモニタリングの活用にご興味をお持ちのお客様はぜひ以下のウェビナーもご視聴ください。「今注目!リモートワークのセキュリティ対策 〜Salesforce Shieldでリスクを未然に防ぐ〜」(オンデマンド視聴)

  • Event Monitoring Analyticsの主要なダッシュボードイメージ

    Event Monitoring Analyticsの主要なダッシュボード

    この記事で学べることイベントモニタリングに含まれる2種類のログのうち、Event Monitoring Analyticsは、イベントモニタリングを分析対象としていることEvent Monitoring Analyticsで提供される主要なダッシュボードの使い方イベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはEvent Monitoring Analyticsでは、イベントモニタリングのログからさまざまなダッシュボードが提供されています。Event Monitoring Analyticsで提供される主要なダッシュボードここでは特にセキュリティ観点で優先的に確認することが好ましいと考えられるダッシュボードのついて記載をしています。​1.Login不審なログイン傾向を把握するために確認します。Who Logs In the Most 折れ線グラフで不審な傾向(不自然なスパイク等)を評価 します。不審なログインがあった場合、どういったユーザの動きであったか確認します。​以降のダッシュボードについては是非お手持ちの環境で画面を操作しながら確認をいただけます様お願いいたします。​2.Reports および Report Downloadsレポートの使用やエクスポートの傾向を把握するために確認します。Reportsダッシュボードの Report Trend by User折れ線グラフで不審な傾向を評価します。不審なユーザがあった場合、ユーザ名やアクセスしたレポートを確認します。グラフ左上の [▼ボタン] | [調査] から [条件タブ] を開き、ORIGINやRENDERING_TYPEの値からどのようにレポートにアクセスされたかフィルタをかける事ができます。値の意味についてはディベロッパーサイトを確認します。レポートのエクスポートに特化して評価する際にはReport Downloads を利用します​3.Filesファイルがどの様な取り扱いをされたか傾向を把握するために確認します。How Many File Transactions Are Occurring in My Org? 折れ線グラフで不審な傾向を評価します。値の意味については ディベロッパーサイトを確認します。不審なトランザクションがあった場合、どういったファイルへのトランザクションがあったか、誰がトランザクションを発生させていたかを調査していきます。​4.Page View(URIs)ユーザがどのIPからどのページへアクセスしたか傾向を把握するために確認します。Page View Trends By User 折れ線グラフで不審な傾向を評価 します。不審なユーザの傾向があった場合、どにIPアドレスアクセスされたかをShared IPs By Userグラフから、どのページを見ていたかをPage Views By Userから確認します。​上記で代表的なダッシュボードの紹介をしてきましたが 2.Reports および Report Downloadsでも紹介した通り各グラフの左上に表示される ▼ボタン] | [調査] を選択することでより絞り込んだ条件で分析をすることができます。​そしてより絞り込んだ条件で表示されたグラフから、詳細を確認したい領域を選択した上で、画面左上の [テーブルモード] | [値テーブル] を選択することでデータセットの値を確認することもできます。​上記、確認観点や方法をご案内いたしました。ここで紹介した内容は一般的に必要と考えられる内容を記載したものですので、貴社において必要と考えられる観点がありましたら、積極的に調査観点を追加していただきたく存じます。まとめ不審な傾向を把握するためには通常の傾向を把握しておくことが重要です。定期的にダッシュボードを確認し組織の動きの傾向把握をぜひとも実施くださいます様お願いいたします。

  • Event Monitoring Analyticsの利用開始イメージ

    Event Monitoring Analyticsの利用開始

    この記事で学べることイベントモニタリングをご利用いただいているお客様にはEvent Monitoring Analyticsという分析を目的としたアプリケーションをご利用いただけます。本記事はEvent Monitoring Analytics を利用開始するまでの手順を紹介します。活用については別途、以下の記事もご確認をお願いします。Event Monitoring Analyticsの主要なダッシュボードイベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはEvent Monitoring Analyticsは、この2種類のログの中で、イベントモニタリングのログを対象に分析するツールです。Event Monitoring AnalyticsとはEvent Monitoring Analytics アプリケーションは、イベントモニタリングログからユーザや組織の動作に関するインサイトを提供します。アプリケーションの作成は簡単で、事前作成済みのダッシュボードやデータセットが付属しているため、すぐに探索を開始できます。このアプリケーションを使用することにより、組織のデータの詳細を調べ、不審な行動、ページのパフォーマンスの低下、ユーザ導入の低下などをすばやく特定できます。Event Monitoring Analyticsの利用開始方法1.CRM Analyticsとイベントモニタリングの有効化​注:CRM Analyticsの有効化を行うユーザには、先に「Event Monitoring Analytics 管理者」権限セットの割り当てが必要ですSalesforce の [設定] メニューの [管理] で、[機能設定] | [分析] | [Analytics Cloud] | [始めましょう] を選択し、[分析の有効化] をクリックします。​[設定] 画面の [クイック検索] ボックスに「イベント」と入力し、[イベントモニタリング設定] を選択し、[Analytics アプリケーションでイベントログデータを表示] を有効にします。​2.Event Monitoring Analytics アプリケーション権限設定と権限セットの割当Event Monitoring Analyticsを利用するユーザに割り当てられたプロファイルの設定で、割り当てられたアプリケーションからAnalytics Studio (standard__Insights)の参照可能にチェックが付いている事を確認します。もしチェックが無い場合、カスタムプロファイルまたは、権限セットの割り当てられたアプリケーションから本権限を付与します。​次にEvent Monitoring Analyticsを利用するユーザに「 Event Monitoring Analytics ユーザ」又は「Event Monitoring Analytics 管理者 」の権限セットのどちらかを割り当てます。ダッシュボードやデータセットを表示するユーザには「 Event Monitoring Analytics ユーザ」権限セットを、アプリケーション、ダッシュボード、データセットの作成や、Event Monitoring アプリケーション操作環境のカスタマイズを行うユーザには「Event Monitoring Analytics 管理者」権限セットを割り当てます。​3.Event Monitoring Analytics アプリケーションの作成と共有Analytics Studioを開きます。アプリケーションランチャーから[Analytics Studio]を選択します。​アプリケーションを作成します。Analytics Studio ホーム画面の右上の[作成]ボタンから[アプリケーション]を選択します。​​新規アプリケーションを作成ウィンドウのすべてのテンプレートから[Event Monitoring Analytics App]を選択し、ウィンドウ右下にある[次へ]をクリックします。​ステップ1からステップ6までは、作成したいデータセットと何日分のデータを格納するかを入力するガイダンスが表示されるのですべての質問に“Yes”と入力し追加表示されるオプションにはすべて“30”と入力していきます。作成されたダッシュボードが少ない、また見れるデータが少ないと問い合わせを多く受けますが、原因は、こちらですべての項目が入力されていないためです。​ステップ7ではチェックを入れずに[次へ]をクリックします。チェックを入れてこの機能を有効にすると、ネットワークの負荷が軽減され、大規模なデータセットのデータフロージョブを高速化できます。この機能の検証を希望する場合はチェックを入れて[次へ]をクリックします。この機能は2023年6月時点でベータ機能のため、この機能をオンにしてアプリケーションを作成された場合、Salesforceサポートでの調査を実施させていただけない場合がございます。​任意のアプリケーション名を入力します。ログレベルはデフォルトのままで構いません。こちらのオプションは、今回のアプリケーション作成ログに関するもので、イベントモニタリングのログとは関係ありません。ガイダンスへの入力が全ステップ完了すると作成中の画面に切り替わります。作成が完了するとメールが届きます。​​データマネージャーを開きます。アプリケーションの作成が完了したらAnalytics Studioのホーム画面下にある[データマネージャ]をクリックします。​開いた画面の左ペインの下側にある[データフローを管理]をクリックします。​​データフローからスケジュールを設定します。左ペインから[データフローとレシピ]を選択します。​​開いた画面から[データフロー]を選択します。​開いた画面から、作成した[アプリケーション名_AppendDataflow]があるので右側の▼ボタンから[スケジュール]を選択します。​アプリケーションに最新データが取り込まれ、更新による中断を最小限に抑えるには、イベントログファイルが生成されてから数時間後にデータフローが実行されるようにスケジュールする必要があります。そのため推奨の時刻はAM6:00~AM7:00程度となります。スケジュールを設定したら[保存]をクリックします。​​また古いバージョンの画面ではありますが、動画の説明資料もありますのでご確認をお願いします。動画 - イベントモニタリング設定動画_応用編①(Event Monitoring Analytics)​4.Event Monitoring Analytics アプリケーションのアップグレード画面に新しバージョンのリリースを案内するバナーが表示されることがあります。その際に[現在のアプリケーションをアップグレード] と[新規アプリケーションを作成] を選択することができます。ただし、 [現在のアプリケーションをアップグレード] を選択した場合、カスタマイズが削除されるので実施には注意が必要です。学習ツールHelp - Event Monitoring Analytics の日次データフローのスケジュールHelp - 1 時間ごとのイベントログと 24 時間のイベントログの違いTrailhead - Event Monitoring Analytics アプリケーション 動画 - イベントモニタリング設定動画_応用編①(Event Monitoring Analytics)まとめ適切な権限設定を行い、分析を有効化した上で、 すべてのログの取り込みを“Yes”にした上でアプリケーションの作成と共有を行えば、Event Monitoring Analyticsをお使いいただく事ができます。

  • ログの記録開始イメージ

    ログの記録開始

    この記事で学べることイベントモニタリングに含まれる2種類のログの違いリアルタイムイベントモニタリングの取得開始方法ストリーミングとストレージの違いイベントモニタリングに含まれる2種類のログの違いイベントモニタリングライセンスには、以下2種類のログが含まれます。リアルタイムイベントモニタリング:セキュリティインシデントの発生ログとレコードへのアクセスログイベントモニタリング:イベント発生 / エラー / パフォーマンス分析用のイベントログこの2種類のログの違いの詳細については、以下の記事をご参照ください。イベントモニタリングとはこのうち、イベントモニタリングのログは組織へイベントモニタリングライセンスが付与されたタイミングから自動的に生成が開始されるようになっており、お客様側でログ取得を開始するための設定は必要ありません。一方で、リアルタイムイベントモニタリングのログについては、組織へライセンスが付与された後に管理者の方がログの取得開始設定を行う必要がございます。そのため、Salesforce組織にイベントモニタリングが初めて導入された際には、以下の手順を参考にしてリアルタイムイベントモニタリングのログ取得設定を行ってください。リアルタイムイベントモニタリングの取得開始方法リアルタイムイベントモニタリングのログを取得開始するためには、「アプリケーションのカスタマイズ」および「設定の参照」権限が必要となります(システム管理者の方であれば、初めから権限が付与されています)その後、権限を持つユーザにより、以下の手順にてリアルタイムイベントモニタリングの各ログを有効化していきます。[設定] から、[クイック検索] ボックスに「イベント」と入力し、[イベントマネージャ] を選択します。有効化するイベントの横にあるドロップダウンメニューをクリックします。イベントの [ストレージ を有効化] および [ストリーミング を有効化] を選択します。有効化したいログ種類分だけ、手順2,3を繰り返します。(特段の要件がなければ、全て有効化しておくことを推奨します)ログ取得設定の有効化後、組織に蓄積されたログへアクセスする方法については以下の記事をご参照ください。ログの取得方法ストリーミングとストレージの違いリアルタイムイベントモニタリングには、ストリーミング と ストレージ の2種類があります。ログインやレポートへのアクセスなど、一つの操作からストリーミングとストレージの両者に対して同一内容のログ(※)が生成されます。(※) 厳密にはログのレコードIDなどが異なります。以下の図は、Salesforce組織のレコードアクセス時に記録されるLightningUriイベントの生成例です。ストリーミングログは、ストリーミング API を用いて対象のイベントをリッスンしているクライアントに対し、イベント内容をプッシュします。そのため、イベントを受信する専用のクライアントがあり、ログ監視などSalesforceのイベントチャネルと接続しておくことで即時性を持ってイベントデータを受け取りたい用途がある場合に利用します。ストリーミングログは、最大3日間保持されます。​ストレージログは、ログデータをBig Objectに配置することで、過去6か月分のリアルタイムイベントモニタリングログを組織に保管することができます。過去6か月(認証系のログは10年)までのログデータの保全や、SOQLを用いた特定の条件に絞ったログの検索に利用します。また6か月以上のログの長期保存などでイベントログをお客様側の環境へダウンロードする際にも、ストレージログを参照します。学習ツールHelp - リアルタイムイベントモニタリングイベントの管理動画 - イベントモニタリング設定動画_基礎編(ログの有効化と取得)まとめイベントモニタリングには、リアルタイムイベントモニタリング と イベントモニタリング の2種類のログが存在します。このうち、リアルタイムイベントモニタリングのログはライセンスが付与されただけではログの取得が開始されないため、管理者の方が組織の設定画面からログ取得の有効化作業を行って頂く必要があります。

Salesforce活用に役立つメルマガ登録

  • 私は、個人情報保護基本方針プライバシーに関する声明個人情報利用についての通知に同意します。 特に、プライバシーに関する声明で定めるとおり、情報のホスティングと処理を目的として私の個人データをアメリカ合衆国を含む国外に転送することを許可します。詳細私は、海外では日本の法律と同等のデータ保護法が整備されていない可能性があることも理解しています。詳細はこちらでご確認ください

  • 私は、Salesforce の製品、サービス、イベントに関するマーケティング情報の受け取りを希望します。私は、当該マーケティング情報の受け取りを私がいつでも停止できることを理解しています。