Experience Cloud サイトを使用する組織のカスタムコンポーネントのセキュリティの確保
開発者はカスタムコンポーネントを使用して Experience Cloud サイトの機能やビジネスロジックをカスタマイズできます。他のカスタムソリューションと同様に、開発者は潜在的なセキュリティ関連の落とし穴に注意する必要があります。組み込み防御策をスキップすると、サイトと組織はセキュリティリスクにさらされる可能性があります。
たとえば、開発者が機密データをカスタムコンポーネントの定義にテキストとして保存すると、そのデータは露出する可能性があります。このような露出は、組織でデジタルエクスペリエンスが有効化され、組織にカスタムコンポーネントがあり、カスタムコンポーネントの API 参照名が認識されている場合に発生する可能性があります。露出は、サイトが公開か非公開かに関係なく発生する可能性があります。
露出したデータには次の情報が含まれている可能性があります。
- コンポーネント定義にテキストとして保存された機密情報
- HTML、JavaScript、CSS ファイルを含む、コンポーネントの完全なコンポーネント定義
- コンポーネント定義に含まれるその他のコンポーネントの名前
- コンポーネント定義で使用されている Apex コントローラーおよびメソッドの名前
このようなデータは、Salesforce 組織で使用されているか Experience Cloud サイトで使用されているかにかかわらず、また使用されていない場合も、組織のあらゆるカスタムコンポーネントで露出する可能性があります。
カスタムコンポーネントでのデータ露出のリスクを低減するには、次の手順に従います。
- 組織のすべてのカスタムコンポーネントのコンポーネント定義を確認する
- 機密データをコンポーネント定義に保存しない。機密データには、個人識別情報、会社の機密情報、またはビジネスや顧客にとって機密と思われる情報が含まれる可能性があります
- すべてのカスタムコントローラーを確認し、必要なユーザープロファイルのみにカスタムコントローラーへのアクセス権があることを確認する
- @AuraEnabled を使用して必要なメソッドのみが公開されていることを確認する
- 複雑で組織固有の、カスタムコンポーネントの命名規則を使用する