Salesforceでは従来の添付ファイル(Attachmentオブジェクト)から、より柔軟なファイル管理が可能なFiles(ContentDocument/ContentVersion)への移行が推奨されています。しかし、移行後にファイルが表示されない、編集できないといった権限不足のトラブルが頻発します。この問題は、添付ファイルとFilesで権限モデルが根本的に異なるために発生します。本記事では、管理者が原因を効率的に特定し、適切な対処を行えるよう、確認すべき設定箇所と切り分けの手順を詳しく解説します。
【要点】この記事で確認すること
- 最初に見る場所: ファイルの共有設定(ファイルレベルとライブラリレベル)と、プロファイル/権限セットでのFiles関連権限(例:「ファイルのダウンロード」「ファイルのアップロード」「ライブラリへのアクセス」など)。
- 切り分けの軸: 問題が発生するユーザーと発生しないユーザーを比較し、プロファイル・権限セットの違い、共有設定の有無、ファイルが保存されているライブラリのアクセス権限を確認します。
- 注意点: 会社PCで勝手に変更しないでください。組織全体の共有設定やライブラリ設定は、他のユーザーへの影響が大きいため、Sandboxで事前テストしてから本番環境に適用してください。
ADVERTISEMENT
添付ファイルとFilesの権限モデルの違い
添付ファイルは親レコードに紐づいており、そのレコードに対するアクセス権限(組織の共有設定、ロール階層、共有ルール、手動共有)に従います。つまり、親レコードを参照できるユーザーは、その添付ファイルも自動的に参照できました。一方、Filesは独立したオブジェクトであり、ファイル自体に個別の共有設定を持ちます。また、ファイルは「ライブラリ」と呼ばれるコンテナに格納され、ライブラリ単位でもアクセス制御が行われます。このため、移行後は単にファイルの存在だけでは権限が引き継がれず、明示的に設定を追加する必要があります。
以下に、両者の権限モデルの主な違いを表にまとめました。
| 項目 | 添付ファイル(Attachment) | Files(ContentDocument) |
|---|---|---|
| 権限の継承 | 親レコードの共有設定を継承 | ファイル個別の共有設定+ライブラリのアクセス権限 |
| 参照権限 | 親レコードへの参照権限があれば自動的に参照可能 | ファイル共有設定で明示的に許可するか、ライブラリのアクセス権限が必要 |
| 編集権限 | 親レコードの編集権限があれば添付ファイルの追加・削除が可能 | ファイルの「所有者」または「編集者」として共有されている必要あり。さらにプロファイル権限で「ファイルのアップロード」が必要 |
| 削除権限 | 親レコードの編集権限があれば削除可能(添付ファイルは親レコードの編集に含まれる) | ファイルの所有者のみ削除可能、または「ファイルの削除」権限セットが必要 |
権限不足が発生する主な原因
ファイル共有設定が正しく移行されていない
移行ツールやスクリプトで添付ファイルをFilesとして作成する際、多くの場合、ファイルの共有設定がデフォルトの「非公開」または「ライブラリメンバーのみ」になります。元の添付ファイルが特定のレコードに属していたためにレコード共有に依存していた場合、移行後は誰とも共有されていない状態になり、ユーザーからファイルが見えなくなります。管理者は、移行後にファイルが正しいユーザー/グループと共有されているか、必ず確認する必要があります。
プロファイルや権限セットでFiles関連の権限が不足
添付ファイルを使用していたときは不要だった権限が、Filesでは必要になります。具体的には、以下のような権限が不足していることがあります。
- 「ファイルのダウンロード」権限:ファイルを参照・ダウンロードするために必要。
- 「ファイルのアップロード」権限:新しいファイルを追加するために必要。
- 「ファイルの削除」権限:ファイルを削除するために必要。
- 「ライブラリへのアクセス」権限:ライブラリにアクセスし、その中のファイルを操作するために必要。
- 「ライブラリの作成・編集」権限:ライブラリ自体を管理するために必要(管理者のみ)。
これらの権限は、プロファイルまたは権限セットで割り当てられていなければなりません。特に、標準プロファイル(例:標準ユーザープロファイル)では「ファイルのダウンロード」権限はデフォルトで有効ですが、「ファイルのアップロード」は無効である場合が多いため注意してください。
共有ルールや権限の継承が意図通りに設定されていない
添付ファイルでは親レコードの共有ルール(ロール階層や共有ルール)が自動的に適用されましたが、Filesではレコードの共有ルールはファイルに直接影響しません。例えば、商談の添付ファイルは商談の参照権限があれば見えましたが、Filesに移行すると、商談の共有設定とは別にファイルの共有設定が必要になります。多くの管理者はこの点を見落とし、レコードの共有ルールだけでFilesも見えると誤解しがちです。
ファイルを配置したライブラリのアクセス権限
Filesは必ずいずれかのライブラリに属します。移行時、ファイルを特定のライブラリ(例:「添付ファイル移行ライブラリ」)にまとめた場合、そのライブラリにアクセス権限がないユーザーは、ファイルを一切参照できません。ライブラリのアクセス権限は「ライブラリの参照」「ライブラリの編集」などの権限で制御されており、公開範囲は「すべての社内ユーザー」から「特定のグループのみ」まで細かく設定できます。
管理者が確認すべき設定箇所と手順
- ファイルの共有設定を個別に確認する。 設定 > ファイル > ファイルの共有設定 で、移行したファイルを検索し、共有先の一覧を確認します。必要に応じて「共有を追加」でユーザーやグループを追加します。
- ライブラリのアクセス権限を確認する。 設定 > ファイル > ライブラリ で対象のライブラリを開き、「アクセス権限」をクリックします。ライブラリの公開範囲が「すべての社内ユーザー」になっているか、正しいグループが含まれているかを確認します。
- プロファイル/権限セットの権限を確認する。 設定 > ユーザー > プロファイル で該当ユーザーのプロファイルを開き、「オブジェクトと項目」タブでContentDocumentとContentVersionの権限を確認します。また、「システム権限」で「ファイルのダウンロード」などがオンになっているか確認します。権限セットを使用している場合は、権限セットの詳細も同様に確認します。
- 共有ルールを再設定する(必要な場合)。 ファイルに対してレコードの共有ルールを自動的に適用したい場合は、「ファイルの自動共有」機能(設定 > ファイル > ファイルの自動共有設定)を検討します。ただし、この機能は特定の条件を満たす場合のみ有効なので、ドキュメントを参照してください。
- 移行ツールの出力ログを確認する。 Data Loaderや独自スクリプトで移行した場合、エラーや警告がないかログを確認します。特に、ファイルの共有設定が正しく作成されていないケースが記録されていることがあります。
- Sandboxでテスト移行を行う。 本番環境の前にSandboxで同様の移行を実行し、権限不足が再現するかどうかを検証します。Sandboxでは組織の設定を自由に変更できるため、切り分けが容易です。
失敗パターンと対処例
パターン1:移行後、ファイルがすべてのユーザーに見えない
原因:ファイルの共有設定が「非公開(所有者のみ)」または「特定のグループのみ」に設定されている。または、ファイルが保存されたライブラリが限られたユーザーしかアクセスできないようになっている。対処:ファイルの共有設定で「すべての社内ユーザー」を追加するか、ライブラリのアクセス権限を「すべての社内ユーザー」に変更します。ただし、機密情報が含まれる場合は適切なグループに限定してください。
パターン2:一部のユーザーだけファイルが見える、または見えない
原因:ファイルの共有設定にユーザーが含まれていない、またはライブラリへのアクセス権限がない。さらに、プロファイルの権限不足(例:ファイルのダウンロード権限がない)も考えられます。対処:見えないユーザーと見えるユーザーのプロファイル・権限セットを比較し、不足している権限を追加します。また、ファイルの共有設定に該当ユーザーが含まれているか確認します。
パターン3:ファイルは見えるがアップロード(追加・更新)できない
原因:プロファイルで「ファイルのアップロード」権限が無効になっている。または、ライブラリのアクセス権限が「参照のみ」に設定されている。対処:プロファイルまたは権限セットで「ファイルのアップロード」を有効にします。ライブラリのアクセス権限で「編集」権限を追加します。
管理者へ確認しておくべき情報
権限不足のトラブルシューティングを効率的に行うために、以下の情報を事前に整理しておくことをおすすめします。
- 移行前の添付ファイルの共有状態: 各添付ファイルがどのレコードに属し、そのレコードの共有設定がどうなっていたか。特に、レコードが公開グループやロール階層で共有されていたかどうかを記録します。
- 移行元と移行先のファイル数とサイズ: 大量のファイルがある場合は、すべての権限を手動で設定するのは現実的ではありません。自動共有ルールや権限セットの一括適用を検討する必要があります。
- 使用している移行ツールとその設定: Data LoaderやWorkbench、AppExchangeの移行アプリなど、どのツールを使ったか。ツールによっては、ファイルの共有設定を自動でコピーする機能があるものもあります。
- ユーザーのライセンスタイプ: Salesforce PlatformライセンスやIdentityライセンスなど、一部のライセンスではFiles機能が制限されている場合があります。該当ユーザーが適切なライセンスを持っているか確認します。
- カスタムオブジェクトの関連性: 添付ファイルがカスタムオブジェクトに紐づいていた場合、そのカスタムオブジェクトに対してFilesのリレーションが正しく設定されているか確認します(Lookupフィールドなど)。
よくある質問
Q1: 移行ツールを使った場合、ファイルの共有設定は自動的に引き継がれますか?
A: 多くの移行ツールでは、添付ファイルの親レコード情報に基づいてファイルを作成しますが、ファイルの共有設定はデフォルト(多くの場合「非公開」)のままです。共有設定を自動で引き継ぐには、ツールの設定で「ファイル共有をコピー」オプションを有効にするか、移行後にスクリプトで共有を追加する必要があります。
Q2: ファイルの共有設定はレコードごとに変えられますか?
A: はい、ファイルごとに個別の共有設定が可能です。ただし、ファイルの件数が多い場合は管理が煩雑になるため、ライブラリ単位でのアクセス制御や権限セットの活用を推奨します。また、「ファイルの自動共有」機能を使えば、特定の条件(例:ファイルがレコードに関連付けられている場合)で自動的に共有することもできます。
Q3: 移行後にすべてのファイルを元の添付ファイルに戻す方法はありますか?
A: 元に戻すことは可能ですが、データの整合性や関連付けに注意が必要です。添付ファイルとFilesは別オブジェクトであり、単純な逆変換はできません。Data Loaderなどを使用してContentVersionレコードをAttachmentレコードに変換するスクリプトを作成する必要があります。ただし、移行を実施する前にSandboxで十分にテストし、元に戻す必要がないように計画的に行うことをおすすめします。
まとめ
添付ファイルからFilesへの移行における権限不足の原因は、権限モデルの違いに起因します。管理者はまずファイルの共有設定とライブラリのアクセス権限を確認し、次にプロファイル/権限セットの権限をチェックしてください。Sandboxでのテスト移行を必ず行い、本番環境に適用する前に問題を洗い出しておくことが重要です。また、移行後の運用を見据えて、ファイルの共有ルールや権限セットを適切に設計し、ユーザーごとのアクセス権限を整理しておきましょう。これらの対策により、スムーズな移行と権限トラブルの防止が実現できます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
