Salesforceで全ファイルをクエリする方法と『403::User not allowed to subscribe CDC without required permissions』エラー対応


Salesforce Filesの全ファイル表示権限設定とCDCエラー対策

Salesforce Filesへのアクセスを完全にするために、「Query All Files」権限を有効にすると、ユーザーは組織内のすべてのファイルにアクセスできるようになります。これにより、非メンバーライブラリや非公開グループのファイルも取得可能となります。ただし、場合によってはChange Data Capture (CDC) のサブスクリプションで、次のようなエラーが表示されることがあります:

403::User not allowed to subscribe CDC without required permissions

このエラーは、CDCのサブスクリプションに必要な権限が不足している場合に発生します。本記事では、Salesforce Filesの「View All」パーミッションの設定方法と、この403エラーへの対処法について説明します。


1. Salesforce Filesの「Query All Files」権限設定

概要

  • 目的: View All Dataユーザーが、ContentDocumentやContentVersionをクエリして、全ファイルにアクセスできるようにする。

  • 注意点: この権限は、ファイルの履歴(ContentDocumentHistoryやContentVersionHistory)には影響しません。

設定手順

  1. 管理者権限でSalesforceにログイン
    Salesforce Setupにアクセスします。

  2. プロファイルまたはパーミッションセットの編集

    • 「プロファイル」または「パーミッションセット」を検索し、対象のプロファイルを選択します。

    • 「システム権限」のセクションに移動し、「Query All Files」のチェックボックスを有効にします。

  3. 設定の保存
    変更を保存して、設定が反映されているか確認します。


2. CDC(Change Data Capture)エラーの対処法

エラー内容:

403::User not allowed to subscribe CDC without required permissions

原因と対策

  • 原因:
    このエラーは、CDCのサブスクリプションに必要な権限がユーザーに付与されていない場合に発生します。Salesforce Filesの権限設定とは別に、CDCへのアクセスには専用の権限が必要です。

  • 対策:

    • CDC権限の確認:
      Salesforce Setupで、該当ユーザーに対してCDC関連の権限が付与されているか確認してください。たとえば、Change Data Captureの権限は、特定のライセンスまたは管理者権限が必要な場合があります。

    • ユーザー権限の見直し:
      必要に応じて、ユーザーのプロファイルまたはパーミッションセットにCDCサブスクリプション権限を追加してください。

    • テスト環境での検証:
      CDCが正しく動作することを、Developer Workbenchやその他のツールで確認し、環境間の違いが原因でないかチェックしてください。


3. まとめ

  • Query All Files 権限:
    プロファイルまたはパーミッションセットで「Query All Files」権限を有効にすることで、全ファイルへのアクセスが可能になります。ただし、ファイル履歴へのアクセスは含まれません。

  • CDCエラーの対策:
    「403::User not allowed to subscribe CDC without required permissions」というエラーは、CDCサブスクリプションに必要な権限が不足していることが原因です。該当する権限を確認し、必要に応じて追加することで対処できます。

これらの設定と対策を行うことで、Salesforceのファイル管理とリアルタイムデータの取得をスムーズに行うことができます。システムのセキュリティとアクセス制御を十分に考慮しながら、最適な環境を構築してください。

コメント