使いやすく、安全に!システム権限の設計手順
- 2024年11月19日
システム設計と権限設計ってなに?
システムには、ユーザーごとに「何ができるか」「何が見れるか」を決める設定があります。簡単に言うと、役割に応じて見せる画面や使える機能を制限して、データを守りながら効率的に作業できるようにすることです。
たとえば、社員管理システムでは、管理者はすべてのデータが見れるけれど、一般社員は自分の情報だけが見れるように設定します。これが「権限設定」の基本です!
📘 使い方の例
例えば、社員システムには、「管理者」「マネージャー」「一般社員」の3種類のユーザーがいるとします:
- 管理者:全社員データの確認・編集、報告書の作成、システムの設定変更ができる。
- マネージャー:自分の部署のデータだけ確認でき、部署ごとの報告書を作れる。
- 一般社員:自分の個人情報だけ確認・更新できる。
つまり、ユーザーごとに「自分に必要な部分だけ」が見えるようにする、これが「権限設定」です!
⚙️ 設定の仕方
この仕組みを作るためには「システム設計」と「権限設定」をうまく組み合わせます。
システム設計のポイント:
- ➣一般定義
システム名
システムに名前をつけます。例えば「社員管理システム」など、どんなシステムか分かりやすい名前を設定します。
プロジェクトID
Javaコード内で使うシステムの識別IDです。小文字のアルファベットだけで設定します(例:com.example.xxx
)。
初期表示画面
ユーザーがログインした後、最初に見える画面を決めます。この画面は事前に設計書に書かれている画面から選びます。
SaaSForceメニュー表示
ログイン後のメニュー表示を「表示する」か「表示しない」か設定できます。
画面中央揃え
画面の表示位置を「中央揃え」か「左寄せ」に設定します。
検索結果件数
検索画面で、1ページに表示する結果の数を決めます(例:10件、20件など)。 - ➣セキュリティ関連
パスワード最少桁数(桁)
ユーザーが設定するパスワードの最小文字数を決めます。例えば、最小で4文字以上のパスワードが必要という設定です。
パスワードの有効期間(日)
パスワードが有効な期間を設定します。この例では、パスワードの有効期間を999日(約2年半)に設定しています。
ログイン時の失敗制限回数
ログイン時に間違ったパスワードを入力できる回数を制限します。ここでは制限なし(0回)に設定されています。
複雑さレベル(数字)
パスワードの設定時に必要な強度を設定します。この例では、パスワードに特別な要件はなく(レベル1)設定されています。
ログイン不要画面
ユーザーがログインせずにアクセスできる画面を設定します。この設定によって、ログインなしでアクセスできるページが決まります。
- ➣ログイン関連
ログイン情報設定テーブル
ログイン情報を保存するためのテーブル名を指定します。ここでは「M_社員マスタ」というテーブルを使用しています。
ログイン情報設定フィールド
ログイン情報を保存するフィールド名を指定します。この例では「ログインID」というフィールドが使われています。
ログイン情報設定画面
ログイン画面に表示される情報を設定します。この設定では「社員情報」という画面が指定されています。
ログイン者情報保存処理
ユーザーがログインした後、その情報を保存するための処理です。ここでは「保存」処理が行われます。
グループ情報設定テーブル
ユーザーの所属グループ情報を保存するためのテーブル名を指定します。ここでは「M_権限」というテーブルが使われています。
グループ情報設定フィールド
ユーザーのグループ情報を保存するためのフィールド名を指定します。この例では「権限区分ID」というフィールドです。
ログイン後処理
ユーザーがログイン後に実行する処理です。この設定が何か指定されていない場合、デフォルトの処理が実行されます。
- ➣ログインユーザー
ログインID
一般ユーザーがシステムにログインするためのIDを設定します。設定することで、ログインIDを使ってシステムにアクセスできます。
ログイン名
一般ユーザーの名前を設定します。これが表示名として使われることが多いです。
パスワード
ユーザーがシステムにログインするために必要なパスワードを設定します。ログイン後、ユーザーはパスワードの変更を求められる場合があります。パスワード設定は「複雑さレベル」に基づいて制限されます。
グループ名
ユーザーが所属するグループの名前を設定します。これにより、ユーザーがどの権限を持っているかなどが決まります。
メニュー
これはメニュー一覧に表示される見出しで、システムの機能ごとに画面を構成します。機能別にメニュー枠を作り、各画面に必要なメニューを設定します。
メニュー表示
ログインした一般ユーザーが見ることができるメニューの表示/非表示を設定します。特に指定しない場合、デフォルトで「表示」に設定されます。
利用グループ
どのグループのユーザーがそのメニューにアクセスできるかを指定します。複数のグループを指定でき、グループ情報はシステム設計に基づいてデータベースに保存されます。
アクセス権限
各画面に対するアクセス権限(表示、新規作成、更新、削除)を設定します。「役割」マスタに登録されたグループを指定すると、グループごとに設定された権限が適用されます。
初期表示画面
ログインしたユーザーに最初に表示される画面を設定します。
ヘッダー表示
ユーザーがログイン後にヘッダーを表示するかどうかを設定します。ヘッダーを非表示にすると、そのグループのメニューも表示されません。
メニュー表示(再度設定)
ユーザーがログイン時にメニューを表示するかどうかを再設定できます。
🔍 まとめ
システムの権限設定をしっかりしておくと、ユーザーが必要な機能だけにアクセスでき、情報管理も安全です。システムが使いやすくなるだけでなく、作業も効率よく進められるので一石二鳥です!