小さな業務システムにログイン機能や権限管理は最初から必要か
こんにちは。
ココナラで、小さな業務システム開発を出品している現役エンジニアです。
Excelやスプレッドシートで管理している業務を、Webシステムや管理画面に置き換える相談を受けています。
業務システムを作るとき、よく出てくるのがログイン機能と権限管理です。
「システムならログインは必要ですよね」
「管理者と一般ユーザーを分けたいです」
「担当者ごとに見える情報を変えたいです」
「削除できる人を制限したいです」
こういう相談はよくあります。
結論から言うと、ログイン機能や権限管理は必要になることがあります。
ただし、最初から細かく作りすぎる必要はありません。
特に、5万円〜10万円くらいの小さな業務システム開発では、権限管理を細かくしすぎると、それだけで開発範囲が大きくなります。
この記事では、小さな業務システムにログイン機能や権限管理がどこまで必要なのかを整理します。
ログイン機能は必要なことが多い
まず、ログイン機能についてです。
社内用の小さな管理画面であっても、ログイン機能は必要になることが多いです。
理由は単純です。
顧客情報、案件情報、受注内容、問い合わせ履歴、作業報告などは、誰でも見られていい情報ではないからです。
URLを知っていれば誰でも見られる状態は、基本的には避けた方がいいです。
そのため、最低限のログイン機能は入れる前提で考えることが多いです。
ただし、ここで大事なのは「ログイン機能」と「細かい権限管理」は別だということです。
ログインできる。
ログアウトできる。
ログインしていない人は画面を見られない。
これが最低限のログイン機能です。
一方で、権限管理はもっと複雑です。
誰がどの画面を見られるか。
誰が登録できるか。
誰が編集できるか。
誰が削除できるか。
誰がCSV出力できるか。
誰が金額を見られるか。
ここまでやると、設計も実装も確認も増えます。
小さな開発では、まずこの違いを分けて考えた方がいいです。
少人数なら、最初は細かい権限管理がいらない場合もある
使う人が1人〜3人くらいなら、最初から細かい権限管理を作らなくてもよい場合があります。
たとえば、社長と事務担当者だけが使う顧客管理システム。
社内の決まった2人だけが使う受注管理システム。
自分だけが確認する案件管理画面。
こういう場合、管理者・一般ユーザー・閲覧者・承認者のように細かく分けても、実際には使わないことがあります。
権限管理を作ること自体はできます。
ただ、使わない権限を作ると、その分だけ開発費用が増えます。
画面も複雑になります。
確認することも増えます。
5万円〜10万円くらいの小さな開発なら、その予算を権限管理に使うより、一覧・検索・登録・編集など、毎日使う機能に使った方が効果が出ることがあります。
最初は「ログインした人は全員同じ操作ができる」で十分な場合もあります。
もちろん、顧客情報や金額情報を扱う以上、何でも自由でいいわけではありません。
ただ、少人数利用なら、運用ルールでカバーできる部分もあります。
削除だけ制限する、という考え方もある
小さなシステムで現実的なのが、「削除だけ制限する」という考え方です。
登録や編集はできる。
でも、削除は管理者だけにする。
これはかなり実用的です。
業務システムで怖いのは、間違ってデータを消してしまうことです。
顧客情報を削除する。
案件を削除する。
受注データを削除する。
作業報告を削除する。
こういう操作は影響が大きいです。
一方で、登録や編集は日常的に必要です。
そこで、最初は次のような分け方にすることがあります。
一般ユーザー:登録・編集はできる
管理者:削除もできる
これなら、権限管理を細かくしすぎずに、最低限の安全性を確保できます。
さらに慎重にするなら、そもそも削除機能を作らないという選択肢もあります。
間違えたデータは「無効」や「キャンセル」にする。
一覧では非表示にする。
完全削除はしない。
業務によっては、この方が安全です。
権限を細かく分けると、何が重くなるのか
権限管理を細かくすると、開発範囲が広がります。
たとえば、次のような要望があるとします。
管理者は全件見られる
担当者は自分の案件だけ見られる
事務担当は金額を編集できる
営業担当は金額を見られない
社長だけCSV出力できる
削除は管理者だけ
この場合、画面ごとに権限を確認する必要があります。
一覧画面。
詳細画面。
登録画面。
編集画面。
削除処理。
CSV出力。
検索結果。
表示項目。
すべてで「この人は何ができるか」を考えます。
さらに、テストも増えます。
管理者で見た場合。
一般ユーザーで見た場合。
担当者で見た場合。
権限がない画面にアクセスした場合。
CSV出力しようとした場合。
これを確認しないといけません。
つまり、権限管理は「ユーザー種別を増やすだけ」ではありません。
システム全体に影響します。
だから、最初から細かくしすぎると費用が上がりやすいです。
最初に考えるべき権限はこの程度でいい
小さな業務システムなら、最初は次のくらいを考えれば十分なことが多いです。
1つ目は、ログインした人だけが見られるか。
これは基本です。
社内用でも、誰でも見られる状態は避けた方がいいです。
2つ目は、削除を誰に許可するか。
削除は影響が大きいので、管理者だけにする、または削除機能を作らない選択肢があります。
3つ目は、金額や個人情報を全員に見せてよいか。
顧客情報、売上、請求情報などを扱う場合は、見せる範囲を考えます。
4つ目は、使う人数が増える予定があるか。
最初は2人でも、半年後に10人で使う予定があるなら、最初から少し考えておいた方がいいです。
逆に、今後も少人数利用なら、細かい権限管理は後回しでもいい場合があります。
5万円〜10万円で作るなら、割り切りが必要
5万円〜10万円くらいの開発では、全部を細かく作るのは難しいです。
ログイン機能。
ユーザー管理。
権限管理。
操作ログ。
承認フロー。
部署ごとの閲覧制限。
項目ごとの表示制御。
ここまで入れると、かなり大きな開発になります。
小さな業務システムで大事なのは、最初に一番困っている作業を楽にすることです。
顧客を探しやすくする。
案件の状況を見えるようにする。
受注内容を一覧で確認する。
問い合わせの対応漏れを減らす。
ここが目的なら、権限管理は最小限にした方がいいこともあります。
最初から厳密に作るより、まずは使える管理画面を作る。
必要になったら権限を足す。
この順番の方が現実的です。
まとめ
小さな業務システムでも、ログイン機能は必要になることが多いです。
ただし、ログイン機能と細かい権限管理は別です。
最初から細かく権限を分けると、費用も期間も増えやすくなります。
少人数で使うなら、まずは次のくらいでも十分なことがあります。
ログインした人だけが見られる
削除だけ管理者に制限する
必要なら管理者と一般ユーザーに分ける
金額や個人情報の表示範囲だけ確認する
逆に、部署ごと、担当者ごと、項目ごとに細かく制御したい場合は、最初からその前提で見積もるべきです。
「システムだから権限管理は必要」と考えるのではなく、実際に誰が何を使うのかから考えた方がいいです。
小さな業務システム開発の相談を受けています
現在、ココナラで小さな業務システム開発の相談を受けています。
「ログイン機能は必要か」
「権限管理はどこまで作ればいいか」
「5万円〜10万円くらいで現実的な範囲を知りたい」
という段階でも相談できます。
最初のメッセージでは、以下を送ってもらえれば大丈夫です。
【使う人数】
【使う人の役割】
【見せたくない情報があるか】
【削除できる人を制限したいか】
【将来的に人数が増える予定があるか】
うまく整理できていなくても問題ありません。
業務内容と予算感を見ながら、最初に必要なログイン・権限の範囲を一緒に整理します。
相談はこちらからどうぞ。
https://coconala.com/services/4288683
業務システムのサンプルはこちら
https://xs795731.xsrv.jp/sample/dashboard
