ユーザーと権限¶
OpsMini はロールベースのアクセス制御(RBAC)を採用し、パネル操作の権限をきめ細かく管理します。
ユーザー管理¶
- ユーザーの作成 / 編集 / 停止 / 削除
- 最終ログイン時刻の確認
- 各ユーザーは独立した MFA(TOTP)をバインド可能
- 個人設定ページでニックネーム、アバター、メール、パスワードを変更可能
ロールと権限¶
3 種類のロールが内蔵されています:
| ロール | 権限範囲 |
|---|---|
admin |
全権限(ユーザー / ロール / 設定を含む) |
operator |
日常運用(アプリ、コンテナ、ファイル、ターミナル、スケジュールタスクなど) |
readonly |
読み取り専用 |
カスタムロールに対応し、権限ポイント単位で細かく割り当てられます。例:
user.create/user.edit/user.deletewebsite.create/website.edit/website.deletecontainer.edit/container.deletesecurity.scan/security.firewall/security.fim/security.threatsettings.view/settings.edit(パネル設定)apps.install、cron.create、database.create、file.write、mcp.manage、skill.manage、alert.manageなど
二要素認証(2FA)¶
- グローバルスイッチ:パネル「設定 → 二段階認証」を有効にすると、検証アプリをバインド済みのすべてのアカウントはログイン時に 6 桁の動的コードの入力が必要になります
- ユーザーごとのバインド:ユーザーは個人のセキュリティ設定で QR コードを生成し、Google Authenticator / 1Password / 各クラウド事業者の検証アプリ APP でスキャンしてバインドします
- アカウント復旧:検証アプリを紛失した場合は、サーバーにログインして
opsmini -reset-mfa <username>を実行し、そのユーザーの MFA バインディングをリセットします
セキュリティ設計¶
- パスワードは bcrypt ハッシュで保存
- 短期の access JWT(15 分)+ 失効可能な refresh token(7 日)
- JWT 署名シークレットは初回起動時に自動生成してデータベースに永続化し、設定ファイルには残しません
- ログイン失敗のレート制限とロック(ブルートフォース対策)
- 重要な操作は監査ログに記録
- パスワードを忘れた場合はサーバーにログインして
opsmini -reset-pass <username>でリセットできます