現在、当社のアプリでファイル保護が有効になっている場合において、ゲストユーザーがアップロードしたファイルの処理に影響を与える Salesforce プラットフォームの既知の問題が発生しています。
発生している現象:
ゲストユーザーがファイルをアップロードした際、Salesforce プラットフォームの不具合により、不必要な ContentDocumentLink(CDL)が追加作成される場合があります。
- Salesforceはこの問題を認めています。
- 恒久的な修正はWinter ’26で提供される見込みです。
- それまでは、手動での対応が必要となります。
必要な対応手順
組織内に意図しない CDL が存在しないか確認し、削除してください。以下のいずれかの方法(または両方)をご利用いただけます。
1. Data Loader を使用した CDL の特定と削除
- Data Loader で以下のクエリを実行します:
SELECT Id, Visibility, LinkedEntityId, ContentDocumentId, ShareType
FROM ContentDocumentLink
WHERE LinkedEntityId IN (SELECT Id FROM User WHERE UserType = 'Guest')
- 実行結果を確認します。
- 検出されたすべてのレコードを削除し、ゲストユーザーのアクセス権を取り除きます。
2. 開発者コンソールを使用した一括削除
10,000 件ずつのバッチ単位でクリーンアップを行いたい場合は、以下のスクリプトを使用します:
delete as system [
SELECT Id, Visibility, LinkedEntityId, ContentDocumentId, ShareType
FROM ContentDocumentLink
WHERE LinkedEntityId IN (SELECT Id FROM User WHERE UserType = 'Guest')
LIMIT 10000
];
- 開発者コンソールで上記スクリプトを実行します。
- 意図しない CDL が検出されなくなるまで、実行を繰り返します。
必要な権限
- 以下の条件を満たすユーザーアカウントを使用してください:
- すべてのファイルを表示 または すべてのファイルを検索
重要: 本番環境に変更を適用する前に、必ず最初に Sandbox 環境でプロセスを検証・確認してください。