この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

拡張トランザクションセキュリティポリシーの作成と管理のベストプラクティス

トランザクションセキュリティポリシーの管理は必ずしも簡単なわけではありません。特に複数のポリシーがある場合は厄介です。ポリシーが機能し続けるように、ポリシーの作成と管理に関する次のベストプラクティスを実践します。適切に構成され、テストされたポリシーを使用することで、従業員や顧客のつながり、生産性、セキュリティを維持できます。
使用可能なインターフェース: Salesforce Classic および Lightning Experience
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition

Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。


ポリシーの作成

ポリシーを作成するときには、次の一般的なガイドラインに従います。

ユーザを知る
ユーザは特定のブラウザに適した機能を使用しますか? 現場でモバイルデバイスをよく使用しますか? ユーザが頻繁にアクセスする機能が変更されましたか? ユーザが日常業務でどのようなことを行うかを考え、それらの行動を念頭に置いてポリシーを作成します。ポリシーは確実に範囲を超える活動を防止するものであり、ユーザの中核的な業務の実行を妨げるものであってはならないことを覚えておいてください。
今後の変化を知る
ユーザがよく使用する機能が変更されるかどうかを知るには、Salesforce リリースノートを参照します。機能の変更によって、ポリシーの動作が予期しないものになることがあります。
環境を知る
Sandbox 環境を活用します。Sandbox で、本番組織に似た条件でポリシーを実行します。ポリシーを 24 時間実行して、その動作を確認します。このフィードバックを使用して、ポリシーが必要な条件の下でどのように機能するかを評価します。
ポリシーを知る
混乱を避け、管理負荷を軽減するために、作成するポリシーはイベントごとに 1 つのみにします。定期的にポリシーの管理とレビューをスケジュールし、互いを妨げるポリシーがないことを確認します。Salesforce リリースノートで、ポリシーの動作が変わる可能性のある機能更新を確認します。

条件ビルダーを使用せず、Apex ベースのポリシーを作成するときは、次のガイドラインに従います。

コードを知る
組織に Apex 開発者がいる場合は、ポリシーを作成する際に開発者と協力します。Apex に精通している人に相談し、協力することで、堅牢で信頼性の高いポリシーとテストを作成できます。Apex エキスパートがいない場合は、Trailhead の「Apex の基礎」モジュールまたは『Apex 開発者ガイド』を学習します。
制限を知る
Apex はマルチテナント環境で実行するため、Apex ランタイムエンジンは制限を厳格に適用します。制限の適用によって、暴走した Apex ��ードやプロセスによる共有リソースの独占を避けることができます。一部の Apex コードが制限を超える場合、関連付けられたガバナは、処理できない実行時例外を発行します。制限は、ポリシーの基になるイベントによって異なります。これらの制限を念頭に置いてポリシーを作成します。Apex のガバナと制限についてドキュメントで詳細を参照してください。

ポリシーのテスト

ポリシーをテストすることは、組織とユーザにとって適切なソリューションを作成していることを確認するのに最適な方法です。
  • Sandbox でポリシーを試します。ポリシーが機能することを確信できたら、本番組織にセキュリティポリシーをリリースします。
  • 組織の広範囲に影響を及ぼす変更を行う場合は、ポリシーを再テストして、行った変更と互換性があることを確認します。たとえば、現場従業員向けにレポートを生成するワークフローを作成する場合は、影響を受ける可能性のあるすべてのレポートイベントポリシーを確認します。
  • ポリシーが Apex ベースの場合は、Apex テストのベストプラクティスに従います。
  • データサイロテストを実行します。これらのテストは、より迅速に実行され、失敗を診断しやすく、信頼性が高くなります。

トラブルシューティング

ポリシーで何らかの問題が発生しました。まず何をすればよいですか?
出発点として、ポリシーによって作成されるエラーメッセージを使用します。エラーカテゴリについての詳細は『Apex 開発者ガイド』を参照してください。
ポリシーが実行前に停止しました。
ポリシーのすべてのアクションを実行するのに時間がかかりすぎる場合、ポリシーは実行されません。ポリシーを合理化し、測定制限内に抑えます。
同じイベントに複数のポリシーがあります。何をすべきですか?
一般に、管理および維持が可能な数のポリシーのみを作成します。作成できるポリシーの数に制限はありませんが、すべてのポリシーがトリガされるとは限りません。ポリシーには優先順位が付けられ、操作のブロック、多要素認証の要求、アクションなしの順序でトリガされます。同じイベントに複数のポリシーがある場合は、それらのポリシーがすべてトリガされるわけではありません。たとえば、1 つのイベントに 2 つのポリシーがあり、1 つのポリシーは操作をブロックし、もう 1 つは多要素認証を要求するとします。ユーザをブロックするポリシーが最初に実行され、それがトリガされた場合、他のポリシーは実行されません。
ポリシーが機能しません。デバッグするにはどうすればよいですか?
まず、ポリシーを無効にして Sandbox に移動します。これは、トラブルシューティングを行っているときに、破損したポリシーによって同僚や顧客に問題が発生しないようにするためです。次に、ポリシーが Apex ベースの場合は、ポリシーの設定と Apex コードのどちらに問題があるのかを評価します。
  • 設定が問題の原因だと思われる場合は、Sandbox でポリシーの条件とアクションを評価します。ポリシーの設定を調整し、目的の動作をテストします。
  • 問題が Apex コードにあると思われる場合は、開発者コンソールとデバッグログを使用して Apex をデバッグできます。
ポリシーを無効にできず、ポリシーによって本番環境のユーザがブロックされています。何をすべきですか?
ナレッジ記事または「既知の問題」に記載されている既知の問題を確認します。これらのリソースでは、他のお客様で発生した問題と、それに対する機能的な回避策について説明されています。それでもうまくいかない場合は、Salesforce にお問い合わせください。