拡張ポリシー条件のイベント項目の選択
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。 |
従来のポリシーを実装する Apex クラスで、TxnSecurity.Event クラスのプロパティを使用して、監視しているイベントから興味のある項目を選択します。次に、これらの項目をテストして、条件を満たしているかどうかを判定します。たとえば、特定のユーザがログインしたらトリガされるポリシーを作成するには、Event.userId プロパティを使用します。
拡張ポリシーの条件に、ApiEvent.QueriedEntities や ReportEvent.RowsProcessed など、適切なイベントオブジェクトの項目を使用します。
次の表では、TxnSecurity.Event クラスのプロパティを、トランザクションセキュリティポリシーをサポートするリアルタイムイベント監視イベントオブジェクトの同等項目に対応付けています。
| 従来のイベントクラスプロパティ | 拡張フレームワークの同等のイベントオブジェクト項目 | 備考 |
|---|---|---|
| organizationId | 同等なし | この組織 ID は、拡張ポリシーが実行されている組織の ID です。組織 ID を取得するには、Apex メソッド UserInfo.getOrganizationId() を使用します。 |
| userId | UserId | この項目は、トランザクションセキュリティポリシーをサポートするすべてのリアルタイムイベント監視イベントオブジェクトで使用できます。 |
| entityName | 同等なし | この情報は、拡張ポリシーでは必要ありません。 |
| action | 同等なし | このプロパティは、廃止された、従来のログイン IP イベント種別でのみ使用されます。 |
| resourceType | 同等なし | 拡張フレームワークでは、イベントにリソースの概念が存在しません。 それでも、リソースを参照する従来の動作を模倣できます。たとえば、従来のポリシーがデータエクスポートイベント種別と Opportunity リソースに基づいているとします。API クエリのみを監視する必要があるため、拡張ポリシーは ApiEvent に基づきます。商談を監視するには、ポリシーに条件「ApiEvent.QueriedEntities 次の文字列を含む Opportunity」を追加します。ただし、注意が必要です。拡張ポリシーはすべてのレポート操作と API クエリに対して実行されるため、拡張フレームワークのポリシーは、従来のフレームワークの類似のポリシーよりも実行されることが多くなります。 |
| entityId |
|
|
| timeStamp | EventDate | この項目は、トランザクションセキュリティポリシーをサポートするすべてのリアルタイムイベント監視イベントオブジェクトで使用できます。 |
| data | この従来のプロパティは Map<> です。そのコンテンツは、ポリシーが基づくイベント種別 (リソースアクセス、エクスポート、ログイン) に応じて異なります。次のセクションで、従来の各イベント種別の data キーを拡張フレームワークの同等のイベントオブジェクト項目に対応付ける表を参照してください。 |
従来のデータエクスポートのデータキーの対応付け
データエクスポートイベント種別に基づく従来のポリシーを拡張フレームワークに移行する場合は、ReportEvent または ApiEvent イベントを選択します。
| 従来のデータキー名 | 同等の ReportEvent 項目 | 同等の ApiEvent 項目 | 備考 |
|---|---|---|---|
| ApiType | 同等なし | ApiType | |
| Application | 同等なし | Application | |
| Browser | 同等なし | 同等なし | ユーザが使用するブラウザを制限するには、即座にブロックする LoginEvent 拡張ポリシーを作成します。 |
| ClientId | 同等なし | Client | |
| ConnectedAppId | 同等なし | ConnectedAppId | |
| EntityName | QueriedEntities | QueriedEntities | 拡張フレームワークでは、QueriedEntities 項目に、ポリシーの実行の条件となるすべてのエンティティのカンマ区切りリストが含まれています。従来のフレームワークでは、このプロパティには 1 つのエンティティ名のみが含まれます。 |
| ExecutionTime | 同等なし | ElapsedTime | |
| IsApi | Operation | 同等なし | Operation 項目には、発生したレポート操作の種別が含まれます。これらの値を使用して、UI (Salesforce Classic、Lightning Experience、またはモバイル)、API (同期、非同期、REST)、ダッシュボードなど、監視する操作を制限します。 |
| isScheduled | isScheduled | 同等なし | |
| LoginHistoryId | LoginHistoryId | LoginHistoryId | |
| NumberOfRecords | RowsProcessed | RowsProcessed | |
| Platform | 同等なし | Platform | |
| Query | 同等なし | Query | |
| SessionLevel | SessionLevel | SessionLevel | |
| SourceIp | SourceIp | SourceIp | |
| Uri | 同等なし | 同等なし | |
| UserAgent | 同等なし | UserAgent | |
| Username | Username | Username |
従来のリソースアクセスのデータキーの対応付け
リソースアクセスイベント種別に基づく従来のポリシーを移行する場合は、ReportEvent イベントを使用します。
| 従来のデータキー名 | 同等の ReportEvent 項目 |
|---|---|
| EntityId | ReportId |
| ResourceName | 同等なし |
| SessionLevel | SessionLevel |
| SourceIp | SourceIp |
| Username | Username |
従来のログインのデータキーの対応付け
ログインイベント種別に基づく従来のポリシーを移行する場合は、LoginEvent イベントを使用します。LoginHistoryID と LoginGeoId のすべての項目が LoginEvent に存在することになりました。ただし、従来の OptionIsGet 項目と OptionIsPost 項目は例外で、この 2 つは LoginEvent.HttpMethod に対応付けられます。LoginHistoryId と LoginGeoId に対するクエリは、ポリシー実行中に使用できなくなったため、すべて削除します。代わりに、LoginEvent から直接項目を使用します。
以下は、LoginHistoryId を照会する従来のポリシーの Apex コードです。
以下は、LoginEvent から直接項目を使用する拡張ポリシーの Apex コードです。
| 従来のデータキー名 | 同等の LoginEvent 項目 |
|---|---|
| LoginHistoryId | LoginHistoryId |
| Username | Username |
リードデータエクスポートの例の実行
引き続き、2 つの拡張ポリシーを (1 つは ApiEvent に基づいて、もう 1 つは ReportEvent に基づいて) 作成します。
次は、従来のリー���データエクスポートポリシーの例で使用されているイベントプロパティと、2 つの新しい拡張ポリシーの同等項目を判別しましょう。
従来のポリシーは、ユーザが次のいずれかをダウンロードするとトリガされます。
- 2,000 件を超えるリードレコードの取得
- 完了までに 1 秒超かかる
以下は、従来のポリシーの Apex コードです。すべての条件で、従来のイベントの data Map<> を使用しています。
次の表は、条件の追加に使用する拡張ポリシーの同等項目のリストです。
| 従来のデータキー名 | 同等の ReportEvent 項目 | 同等の ApiEvent 項目 |
|---|---|---|
| EntityName | QueriedEntities | QueriedEntities |
| ExecutionTime | 同等なし | ElapsedTime |
| NumberOfRecords | RowsProcessed | RowsProcessed |
拡張フレームワークではレポート実行時間は監視されないため、ReportEvent 拡張ポリシーのその値に対して条件を追加することはできません。
ReportEvent はエクスポートと表示の両方の操作を監視します。そのため、ReportEvent に基づいたポリシーは、ユーザがレポートをエクスポートした場合とレポートを表示した場合は常に実行されます。従来のデータエクスポートイベント種別は、レポートのエクスポートのみを監視します。ReportEvent.Operation 項目に条件を追加することで、ReportEvent ポリシーの監視対象を制限できます。