フローセキュリティ
ゲストユーザーや外部ユーザーがフローを実行する必要がある場合、ユーザーがすべてのフローを実行できるようにせずに、フロー権限を上書きして特定の外部ユーザープロファイル、権限セット、サイトゲストユーザープロファイルにのみアクセス権を付与します。可能な場合はシステムコンテキストでフローが実行されないようにして、サブフローへのアクセスを制限します。そのようにしない場合は、それらのフローおよびサブフローの手続き型アクセスコントロールを実装します。
フローは、オブジェクトおよび Apex クラスへのアクセスに対するプラットフォームセキュリティ設定を上書きできる強力な機能です。フローを使用して、権限セットを有効化および無効化できます。画面フローは、ユーザー制御の入力パラメーターを使用してブラウザーで制御されます。そのため、「フローを実行」権限を上書きし、ゲストユーザーや外部ユーザーのプロファイルまたは権限セットに基づいてアクセス権を特定のフローに割り当てることをお勧めします。ゲストユーザーの場合、適切なサイトのゲストユーザープロファイルでフローアクセスポリシーを設定します。
また、ユーザーが個別にサブフローを実行する場合でもサブフローの実行権限を削除することは優れたセキュリティプラクティスになります。セキュリティの観点から、2 つの個別のフローを作成し、サブフローとして実行されるフローではなく、ユーザーが直接実行するフローにのみアクセス権を付与することをお勧めします。サブフローではなく、最上位レベルの親フローにのみフローアクセス権を付与します。フローによってコールされる呼び出し可能な Apex メソッドにも同様の推奨事項が適用されます。それらのメソッドがコールされるべきフローでのみコールされるように、それらのクラスへのアクセス権をユーザーに付与しないようにします。
ユーザーに画面フローを実行するための権限が付与されている場合、次の操作を実行できます。
- 選択したパラメーターを使用して任意のタイミングでフローを呼び出す。
- 任意のタイミングでフローをキャンセルする。
これらの考慮事項は、サブフローや、他のフローからコールされるフローにも適用されます。
フローユーザーが実行できる具体的な操作は次のとおりです。
- 画面フローの入力 (開始) 変数を表示および変更する。
- 画面サブフローから親フローに返される出力変数を表示する。
- サブフローの入力変数を変更する (サブフローを実行する権限がある場合)。
これらのいずれかの機能がセキュリティポリシーに違反する場合、サブフローを使用しないでください。たとえば、機密にしておく必要がある請求情報やその他の機密情報がサブフローで処理される場合、メインフローでビジネスロジックを保持します。