0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintoneの“権限確認問題”を技術で読み解く ─ こんなアプローチを試してみた

Last updated at Posted at 2025-12-03

kintone は業務アプリをすぐに作れる便利なサービスですが、
権限まわりの“確認方法”だけは昔から変わらず難しい ままです。

  • このユーザーはどこまで閲覧できる?
  • 組織とグループのどっちが効いてる?
  • 権限変更したけど影響は?
  • 最終的に何が「見れる/見れない」になる?

管理画面では設定値こそ確認できますが、
“最終的に何が有効になるのか(権限の結果)” は分からない のが現実。

この記事では、

  • なぜ権限が見えにくいのか
  • 技術的にどう整理できるのか
  • 僕がどうやって可視化してみたか

というテーマでまとめ、
最後に 「アプリテンプレートとして実装した方法」 を紹介します。


1. 権限が見えづらい理由:3階層が同時に効く

kintoneの権限は、次の3つが同時に作用します。

  • ユーザー権限
  • グループ権限
  • 組織(部門)権限

しかも、
“もっとも強い(許可の)権限が勝つ” というルール。

UIで設定は見えるのですが、

「どの階層の、どの権限が最終的に効いているのか?」

は逆算しないと分かりません。


2. 権限の“結果”を取得するAPIは存在しない

実は、kintoneのAPIでは

  • アプリ/レコード/フィールドの権限“設定”
  • グループ/組織の一覧
  • ユーザーの所属情報

などは取得できますが、

「このユーザーはこのアプリを閲覧できるか?」

を直接取得する方法は存在しません。

つまり、権限の「実行結果」を得るためには、
こちらがロジックを作る必要がある のです。


3. そこで“権限を計算する”というアプローチを取った

次のような処理をJSで作れば、
「最終的な権限」を算出できることが分かりました。

■ 権限計算のざっくり手順

  1. ユーザーの所属(組織・グループ)を取得
  2. アプリ権限設定(app/acl.json)を取得
  3. フィールド権限(app/form/fields)を取得
  4. それぞれの「許可 / 不許可」を一覧化
  5. 結果を表にまとめる

■ 結果イメージ(例)

権限種別 最終結果
アプリ閲覧
レコード追加 ×
レコード編集
レコード削除 ×
フィールド編集 △(フィールド単位で細かく判定)

これが出ると、
「権限設定」ではなく「実際の結果」 が一気に見えるようになります。


4. それを “アプリテンプレート” としてまとめてみた

今回のアドカレではプロダクト宣伝ではなく、
アプリテンプレートという“技術アプローチの成果物”を軽く紹介するだけ にとどめます。

僕はこの権限計算ロジックを、

  • APIで取得
  • JavaScriptで評価
  • 結果をレコードに表示する

という形でまとめ、
kintoneアプリテンプレート(Lite版) として提供しています。

▼ Lite版の特徴(あくまで参考)

  • テンプレート読み込みだけで使える(カスタマイズ不要)
  • 対象のユーザー/グループ/組織を指定すると
    → その単位の“権限結果”を一覧化して表示
  • 記録や差分比較などは行わず、
    純粋に「権限を確認する」だけに特化した軽量版

いわば、

kintoneに存在しなかった“権限ビューア”

をアプリで再現したようなものです。


5. 権限確認問題は、もっと議論されていいテーマ

権限の設定はUIで見えるのに、
“結果は見えない”。

このギャップが、現場運用を難しくしています。

  • 新人が画面を見れない原因特定
  • 組織改編による権限影響
  • 内部統制・棚卸し
  • 属人化の排除

など、影響はどの企業でも確実に存在します。

今回のアプローチはあくまで一例ですが、
kintoneの権限構造を正しく理解し、
どう可視化するかを考えるきっかけになれば嬉しいです。


まとめ

  • kintoneには“権限の結果”を確認する手段が無い
  • 権限はユーザー/グループ/組織の3層で合成される
  • APIは設定のみ → 結果を得るにはロジックが必要
  • JSで判定ロジックを作れば、結果の一覧化は可能
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?