システム管理やアプリケーション開発の運用フェーズにおいて、「権限のデバッグが複雑で時間がかかる」「テストデータの修正や入力規則の一時無効化のために設定画面のページ遷移が多すぎる」といった課題は、多くの担当者が直面する運用上のボトルネックです。
本記事では、これらの管理・開発における設定情報やメタデータを1つのコンソール画面で可視化・操作し、作業サイクルを補助する管理者向けユーティリティスイート「Core Config Console (CCC)」について、全10機能の仕様と具体的なユースケースを解説します。
- インストールと初期設定
- 主要コンポーネントの仕様
- Org Health Dashboard (組織ヘルスダッシュボード)
- User Permission Matrix (ユーザー権限マトリクス)
- Object & FLS Permission Matrix (オブジェクト・FLS権限マトリクス)
- System & App Permission Matrix (システム&アプリ権限マトリクス)
- User Effective Permission Analyzer (実効権限アナライザー)
- Code Coverage Heatmap (コードカバレッジヒートマップ)
- Picklist Value Matrix (選択リスト値マトリクス)
- Object Schema Visualizer (オブジェクトスキーマビジュアライザー)
- SOQL Studio (SOQLスタジオ)
- Validation Toggler (入力規則トグラー)
- アプリケーション基盤の連携仕様
- 運用における注意事項
- まとめ
- 参考URL
インストールと初期設定
本パッケージは外部ライブラリに依存せず、プラットフォームの標準機能を用いて構築されています。
インストール URL
2026/05/24 v1.0.0 を公開しました。
–
メタデータへのアクセスを伴うため、システム管理者権限を持つユーザーで以下のリンクからインストールを実行します。
- 本番環境 / Developer Edition
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tgK000000DAj7QAG - Sandbox 環境
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tgK000000DAj7QAG
Core Config Console は、コミュニティによる活用と発展を歓迎しています。
- プロジェクトのクローン: GitHubリポジトリを自由にクローンして、ご自身の Salesforce 開発環境や Sandbox にデプロイしてご利用いただけます。
- 自由なカスタマイズ: ソースコードは公開されており、独自の業務要件に合わせて自由に機能を拡張・変更することが可能です。
- フィードバック: バグの報告や、機能改善の提案(Pull Request)も大歓迎です。
インストール画面
「管理者のみのインストール」を選択して、インストールを継続してください。


初期設定
権限を付与
インストール完了後、ツールを利用するユーザーに権限を付与します。
[設定] > [権限セット] から、CoreConfigConsole を対象ユーザーに割り当てます。
指定ログイン情報を設定
REST APIやTooling APIをコールアウトする際、セッションIDを直接扱う代わりに指定ログイン情報を使用することで、セキュアなアクセス制御が可能です。
そのため、「自組織へシステム管理者としてAPIアクセスする設定」 を行います。
指定ログイン情報の設定方法を詳しく見る
- 接続アプリケーション (Connected App) の作成
まず、APIアクセスの「窓口」となる接続アプリを作成します。- [設定] > [アプリケーションマネージャ] を開き、右上の [新規接続アプリ] をクリックします。
- 名前:
CCC Loopback App - 取引先責任者 メール: 自身のメールアドレス
- コールバックURL: 一時的に
https://localhost/callbackと入力します(後で書き換えます)。 - OAuth設定の有効化: ON
- 選択したOAuth範囲:
- 「API を使用してユーザーデータを管理 (api)」
- いつでも要求を実行 (refresh_token, offline_access)
- 保存後、「コンシューマ鍵 (Client ID)」 と 「コンシューマの秘密 (Client Secret)」 をメモします。
- 認証プロバイダー (Auth Provider) の作成
接続アプリを利用して自組織にログインするためのプロバイダを設定します。- [設定] > [認証プロバイダ] を開き、[新規] をクリックします。
- プロバイダタイプ:
Salesforce - 名前:
CCC Auth Provider (CCC_Auth_Provider) - コンシューマ鍵/秘密: 先ほどメモしたものを入力。
- 保存後、表示される 「コールバックURL」 をコピーし、1の接続アプリケーション設定に戻って「コールバックURL」を正しいものに修正して保存します。
- 外部ログイン情報(External Credential)の作成
新しい認証基盤である外部ログイン情報を作成します。- [設定] > [指定ログイン情報] を開き、[外部ログイン情報] タブを選択して [新規] をクリックします。
- 以下の通り設定します:
- 表示ラベル:
CCC External Credential - 名前:
CCC_External_Credential - 認証プロトコル:
OAuth 2.0 - 認証フロー種別:
ブラウザフロー - 認証プロバイダ: Phase 2で作成した
CCC Auth Providerを選択
- 表示ラベル:
- [保存] をクリックします。
- 保存後の画面下部「プリンシパル」セクションで [新規] をクリックします。
- パラメータ名:
CCC_Admin_Principal - ID 種別:
指定プリンシパル
- パラメータ名:
- [保存] をクリックします。
- 指定ログイン情報 (Named Credential) の作成
Apexコードから実際に呼び出すエンドポイントを定義します。- [設定] > [指定ログイン情報] を開き、[指定ログイン情報] タブを選択して [新規] をクリックします。
- 以下の通り設定します:
- 表示ラベル:
CCC Self Named Credential - 名前:
CCC_Self_Named_Credential(Apexのcallout:CCC_Self_Named_Credentialと一致させます) - URL: 組織の [私のドメイン] URLを入力します。(例:
https://yourcompany.my.salesforce.com) - 外部ログイン情報:
CCC External Credentialを選択 - コールアウトオプション: 「HTTP ヘッダーの生成」にチェックが入っていることを確認します。
- 表示ラベル:
- [保存] をクリックします。
- 認証の実行とアクセス権の付与
最後に、作成した設定に命を吹き込み(OAuth認可)、CCC利用者に権限を付与します。- OAuth認可の実行
- [設定] > [指定ログイン情報] > [外部ログイン情報] タブから
CCC External Credentialを開きます。 - 「プリンシパル」セクションの
CCC_Admin_Principalの右側にある▼から [認証] をクリックします。 - Salesforceのログイン画面が表示されるので、管理者アカウントでログインし、[許可 (Allow)] をクリックします。
- プリンシパルの「認証状況」が 設定済み (Configured) になれば成功です。
- [設定] > [指定ログイン情報] > [外部ログイン情報] タブから
- OAuth認可の実行
- 権限セットへのアクセス割り当て
Apexからこの外部ログイン情報を呼び出すための権限を、管理者(CCCの利用者)に付与します。- [設定] > [権限セット] を開き、権限セット
CoreConfigConsole Adminを開きます。 - [外部ログイン情報プリンシパルアクセス] をクリックします。
- [編集] をクリックし、
CCC External Credential - CCC_Admin_Principalを「有効な外部ログイン情報プリンシパル」に追加して [保存] します。 - 以上の手順により、CCCのApexクラスから
callout:CCC_Self_Named_Credential/services/data/v66.0/tooling/query/?q=...という形式で、安全に自組織のTooling APIをコールアウトできるようになります。
- [設定] > [権限セット] を開き、権限セット
Einstein&プロンプトを有効化
分析機能を使うためにはEinsteinの有効化が必要です。
- [設定] > [Einstein 設定] を開きます。
- Einstein を有効化 のトグルをオンにします。
- [設定] > [プロンプトビルダー] を開きます。
- CCCパッケージに含まれるプロンプトテンプレート
CCC_Field_Data_Insightsを有効化します。これにより、SOQLで取得したデータと項目の型情報をEinsteinに渡し、データの傾向分析を出力させることが可能になります。
主要コンポーネントの仕様
CCCに搭載されている10の機能について、解決する課題、仕様、および実務でのユースケースを解説します。
Org Health Dashboard (組織ヘルスダッシュボード)
① 解決する課題
API制限やファイル・データストレージの容量制限などのリソース使用状況は、標準の「システム概要」や「組織情報」など異なる設定画面に散らばっており、ガバナ制限への逼迫度合いを日常的に俯瞰することが困難です。
② 機能とUI
組織の基本情報を表示するとともに、主要な制限値の使用状況をビジュアルメーターでリアルタイム監視できるダッシュボードです。
③ 技術的な仕組み
- 【プラットフォーム仕様】: 組織のリソース制限値は、REST APIの Limits エンドポイント(
/services/data/vxx.0/limits)から取得できます。 - 【CCCの実装】:
OrgHealthController.clsが指定ログイン情報を介してGETコールアウトを行い、取得したデータを「ストレージ管理」「API / 外部連携」「ロジック / 処理量」に自動分類し、最大値と残量から使用率を計算してゲージUIで表示します。
④ ユースケース
大規模なデータインポートやバッチ処理を実行する前に、APIの使用率や非同期Apexの残枠、ストレージの空き容量を確認し、ガバナ制限による処理の停止を未然に防止します。

User Permission Matrix (ユーザー権限マトリクス)
① 解決する課題
複数のユーザーに対して権限セットを割り当てたり剥奪したりする場合、標準機能ではユーザー詳細画面から1人ずつ操作するか、権限セット側からユーザーを選択するしかなく、割り当て状況を二次元で一覧化して一括操作する手段がありません。
② 機能とUI
縦軸に「ユーザー」、横軸に「権限セット」を配置した二次元グリッドです。画面上のチェックボックスを操作することで、複数ユーザー・複数権限セットの割り当てを一括で変更・保存できます。
③ 技術的な仕組み
- 【プラットフォーム仕様】: ユーザーへの権限付与状況は
PermissionSetAssignmentオブジェクトのレコードとして管理されます。 - 【CCCの実装】: ユーザー属性は「プロファイル」、「ロール」、「ユーザー名」の3種類から選択できます。対象ユーザーと選択した権限セットIDの交差テーブルからアサイン状況を抽出して描画します。保存時は追加分(新規
insert)と削除分(既存のdelete)を判定し、部分成功を許容するDatabase.insert/delete(records, false)を用いてDML処理を実行します。
④ ユースケース
新プロジェクトチーム発足時などに、対象の営業担当者複数名に対し、プロジェクト用のカスタム権限セットを一覧画面から一括で配備します。

Object & FLS Permission Matrix (オブジェクト・FLS権限マトリクス)
① 解決する課題
プロファイル間のオブジェクト権限や項目レベルセキュリティ(FLS)を比較する際、標準画面ではプロファイルごとのページ遷移を何度も繰り返す必要があります。
② 機能とUI
対象のオブジェクトと最大3つのプロファイル・権限セットを選択し、CRUD権限と全項目のFLS設定を横並びのグリッド形式で描画・比較します。
③ 技術的な仕組み
- 【プラットフォーム仕様】: システム項目(CreatedDateなど)や数式項目は、FLSの設定対象外(
isPermissionable = false)として扱われます。 - 【CCCの実装】:
ObjectPermissionsとFieldPermissionsをクエリしてマージします。FLS設定対象外であってもオブジェクトの参照権限に依存してアクセスが許可される項目を「暗黙的権限」としてグレーのチェックアイコンで明示し、設定画面への直リンクやTSVエクスポート機能を提供します。
④ ユースケース
セキュリティ監査において、マネージャーと一般ユーザー間で重要項目に対するFLSの差異を横並びで検証し、不要な公開を防ぎます。

System & App Permission Matrix (システム&アプリ権限マトリクス)
① 解決する課題
100種類以上存在するシステム権限やアプリケーション権限が、どのプロファイル・権限セットで有効になっているかを横並びで比較する標準機能が存在せず、設定の過不足を見落とすリスクがあります。
② 機能とUI
比較対象のプロファイル・権限セットを選択し、「対象のうち少なくとも1つで有効になっている権限項目」だけを自動抽出してマトリクス表示します。
③ 技術的な仕組み
- 【プラットフォーム仕様】: システム権限は、
PermissionSetオブジェクトのPermissionsから始まるBoolean型の項目群に格納されています。 - 【CCCの実装】: メタデータを動的に解析し、該当する全項目について選択されたプロファイル等のレコード値を取得します。いずれかでTrueがセットされている権限行のみに絞り込むことで、ノイズを除外します。
④ ユースケース
カスタム権限セットに対し、「パスワードの無期限化」などの強力なシステム権限が意図せず付与されていないかを監査します。

User Effective Permission Analyzer (実効権限アナライザー)
① 解決する課題
ユーザーの実際の権限はプロファイルと複数権限セットの合算(実効権限)で決定されますが、これを一覧で確認し「なぜこのオブジェクトが編集できるのか」をデバッグする作業は手動計算に依存しています。
② 機能とUI
対象ユーザーを選択すると、全オブジェクトに対する「最終的に有効なオブジェクト権限」を算出して表示します。
③ 技術的な仕組み
- 【プラットフォーム仕様】: ユーザーへの権限付与状況の全体像は
PermissionSetAssignmentオブジェクトに集約されています。 - 【CCCの実装】: 指定ユーザーの全 Assignment を特定し、そこから得られる
ObjectPermissionsを集計します。有効化された各権限セルには、その権限の由来(プロファイルや特定の権限セット)をバッジとして表示します。組織内の数千のオブジェクトを処理するため、インクリメンタル検索や遅延読み込み(無限スクロール)を実装しています。
④ ユースケース
ユーザーからの「特定のレコードが削除できない」といった問い合わせに対し、権限不足の原因や、意図せず編集権限を与えている権限セットを特定します。

Code Coverage Heatmap (コードカバレッジヒートマップ)
① 解決する課題
組織全体のApexカバレッジ状況を確認する際、標準画面ではクラスごとの数値を表で追う必要があり、全体的な品質状況の把握や関連テストの特定に手間がかかります。
② 機能とUI
全Apexクラスのカバレッジ率に応じて「安全(緑)」「警告(黄)」「危険(赤)」に色分けしたヒートマップを表示し、カバレッジ不足のクラスに関連するテストをワンクリックで実行できます。
③ 技術的な仕組み
- 【プラットフォーム仕様】: 組織のカバレッジ集計データは、Tooling APIの
ApexCodeCoverageAggregateオブジェクトから取得可能です。 - 【CCCの実装】: 取得した数値を基にヒートマップを描画します。関連テストの実行ボタン押下時、バックエンドが過去のカバレッジ実績(
ApexCodeCoverage)や命名規則(*Test)からテストクラスを特定し、ApexTestQueueItemをインサートしてバックグラウンドキューへ登録します。
④ ユースケース
本番デプロイの直前にカバレッジが75%を下回っているクラスを視覚的に特定し、即座に関連テストを再実行して品質基準を回復させます。

Picklist Value Matrix (選択リスト値マトリクス)
① 解決する課題
同じ選択リスト項目でもレコードタイプごとに有効値やデフォルト値が異なる場合、オブジェクトマネージャーで各設定ページを開いて確認する必要があり、整合性の確認が困難です。
② 機能とUI
オブジェクトと選択リスト項目を指定し、すべてのレコードタイプ(列)と選択リスト値(行)の割り当て状況およびデフォルト設定をマトリクスとして可視化します。
③ 技術的な仕組み
- 【プラットフォーム仕様】: UI API の
lightning/uiObjectInfoApiおよびワイヤアダプタを使用することで、レコードタイプや選択リストの定義情報を取得できます。 - 【CCCの実装】: レコードタイプIDごとに
getPicklistValuesを呼び出して値を集約し、各値が「有効」か「デフォルト」かを示すマトリクスをLWCのフロントエンド側で動的に生成します。
④ ユースケース
商談プロセスにおけるフェーズ値の割り当て漏れや、特定のレコードタイプで初期選択されるデフォルト値が正しく設定されているかの一元確認。

Object Schema Visualizer (オブジェクトスキーマビジュアライザー)
① 解決する課題
項目のデータ型やヘルプテキストを確認する際、標準画面では個別の詳細ページを1つずつ開閉する往復作業が発生します。
② 機能とUI
ユーティリティバーから起動します。対象オブジェクトの全項目のメタデータ(型、数式、選択リスト値、ヘルプテキスト等)をデータテーブルに読み込みます。
③ 技術的な仕組み
- 【プラットフォーム仕様】: メタデータの依存関係(使用箇所)は、Tooling API の
MetadataComponentDependencyから取得可能です。 - 【CCCの実装】: スキーマ情報を取得・フォーマットして一覧化します。行アクションから Tooling API を呼び出すことで、その項目が使用されているApexクラスやフローなどの影響範囲をモーダルに可視化します。分析アクションを使用すると、その項目についてSOQL Studioで分析できます。
④ ユースケース
データ型の変更やカスタム項目削除を行う前に影響範囲(依存するフローやクラス)を調査し、改修漏れによるエラーを防止します。

SOQL Studio (SOQLスタジオ)
① 解決する課題
標準の開発者コンソールでは、取得した結果データのインライン編集や削除ができず、データの微修正のためにデータローダなどの外部ツールを併用する必要があります。
② 機能とUI
ユーティリティバーから起動します。コンソール内で直接SOQLを実行し、結果のインライン編集、削除、ファイルエクスポート、およびEinsteinによるAIインサイト分析を行うツールです。
③ 技術的な仕組み
- 【プラットフォーム仕様】: Dynamic SOQLにおける
FIELDS(ALL)の実行エラー制約や、UIからの更新時におけるレコード単位のアクセス権限制御が必要です。 - 【CCCの実装】: 実行前にApex側でスキーマを参照し、アクセス権のある項目名の文字列に展開してからクエリを処理します。インライン編集時は
Security.stripInaccessibleで権限を保護した上で一括updateまたはdeleteを実行します。Schema Visualizer で分析アクションを実行した場合のみ、任意でAIによる分析を実行できるパネルが開きます。
④ ユースケース
インポートした顧客データに対してクエリを実行し、表記揺れなどのデータ不備があるレコードを一覧上で直接修正して保存します。


Validation Toggler (入力規則トグラー)
① 解決する課題
大量データの移行時にエラー回避のため入力規則を無効化する場合、標準機能では1つずつ編集画面を開いて操作する必要があり、作業後の戻し忘れのリスクも伴います。
② 機能とUI
ユーティリティバーから起動します。対象オブジェクトの全入力規則を一覧表示し、トグルスイッチを用いて有効/無効の状態を一括で切り替え、保存できるツールです。
③ 技術的な仕組み
- 【プラットフォーム仕様】: Tooling APIの REST エンドポイントに対する PATCH リクエストを使用することでメタデータの更新が可能ですが、1トランザクションのHTTPコールアウト上限は100回です。
- 【CCCの実装】: ガバナ制限を回避するため、LWC側で更新対象リストを分割し、直列でApexへ送信します。更新時は数式やエラーメッセージを保持したまま
activeフラグのみを安全に書き換えるリクエストを構築します。
④ ユースケース
データインポートの直前に全入力規則を一括無効化し、インポート完了後に再度一括有効化することで、運用作業の時間を極小化しつつ戻し忘れを防止します。

アプリケーション基盤の連携仕様
CCCに搭載されている各ツール群は、独立して動作するだけでなく、プラットフォームの基盤技術を用いてコンポーネント間で連携します。これにより、ツール間での対象オブジェクトや項目の再入力の手間を省略しています。

LMS (Lightning Message Service) によるコンテキスト同期
あるコンポーネントで選択または操作された「対象オブジェクト」や「項目名」といったコンテキスト情報を、他のコンポーネントへ送信します。
- オブジェクト選択の同期 (
CccInterToolChannel__c):Object Schema VisualizerやSOQL Studioなどのツールで対象オブジェクトを切り替えると、LMSを介してバックグラウンドで他のコンポーネントにもオブジェクトAPI名が送信されます。これにより、別のツールのタブを開いた際にも同じオブジェクトが自動的に選択状態になります。 - 項目分析連携 (
CccFieldAnalysis__c):Object Schema Visualizerの行アクションから「入力率の確認」や「データ分布の確認」などをクリックすると、ユーティリティバー内のSOQL Studioが自動で開き、対象オブジェクトと項目名を受信して分析用のSOQLクエリを自動生成・実行します。 - 入力規則の検索連携 (
CccValidationSearch__c):Object Schema Visualizerの行アクションから「この項目を使用した入力規則」をクリックすると、ユーティリティバー内のValidation Togglerが開き、その項目が数式内に含まれる入力規則を自動でフィルタリングして表示します。
自己参照型指定ログイン情報を用いたAPI連携基盤
SalesforceのApexから自組織の制限情報(Limits API)やメタデータ構造(Tooling API)を取得・更新する場合、セキュリティモデルの観点から標準のSOQLやDMLでは実行できない領域が存在します。
CCCでは、自組織に対して管理者権限でセキュアにコールアウトするための共通基盤として、自己参照型の指定ログイン情報(CCC_Self_Named_Credential)を利用しています。
Org Health Dashboardの制限情報取得Code Coverage Heatmapのコードカバレッジ集計クエリObject Schema Visualizerの Tooling API によるカスタム項目依存関係分析Validation Togglerの Tooling API による入力規則の PATCH 更新
これらの管理API実行を一つの指定ログイン情報に集約して処理しています。
ユーティリティバーAPIによる画面制御
LMSによるデータ連携と同時に、LWCから Salesforce のユーティリティAPI(c-core-utility-bar-utils 等)を呼び出し、対象ツールのユーティリティパネルを自動で開いてフォーカスさせます。これにより、ユーザーが手動でパネルを展開する操作を省略しています。
運用における注意事項
CCCの各ツールはメタデータの直接操作やデータの更新を伴うため、実行には管理者権限が要求されます。
管理者権限の厳格なチェック
CCCのすべてのApexコントローラーには、実行ユーザーがシステム管理者であるかを検証するセキュリティロジック(CoreConfigSecurityUtil.checkAdminPermission() など)が組み込まれています。運用時は、必要最小限のユーザーのみがアクセスできるよう、プロファイルや権限セットでの表示制御を徹底してください。
Sandbox環境での事前検証
データのインライン編集、一括削除、メタデータ(入力規則など)の更新は、組織全体に影響を与えます。本番環境へ導入・適用する前に、Sandbox等の検証環境で操作手順と影響範囲を十分に確認した上でご利用ください。
まとめ
Core Config Console は、標準の設定画面では複数回の画面遷移が必要となる情報を1つのコンソールに統合し、実務における検証や調査の工数を削減するためのユーティリティです。
本番環境での運用保守や、Sandbox環境でのデバッグ作業において、用途に合わせて活用してください。



読者の声