二要素認証コードを入力してください
管理コンソールはパスキーに加えて認証アプリのコードが必要です。
二要素認証(TOTP)の初期設定
認証アプリ(1Password / Google Authenticator 等)に下のキーを登録し、表示された6桁コードを入力してください。キーはこの画面にだけ表示されます。
認証アプリを失った場合は、サーバ側から node src/ops.js totp-reset <番号> で無効化してから再登録します(実行はChatへ通知されます)。
いまの状態
やることがある項目
直近の操作
新しいメンバーを招待する
発行された登録リンク(7日有効・1回だけ使える)を本人へ渡すと、本人の端末でパスキーを登録できます。登録できた端末はその場で使えます(管理者が後から承認する操作はありません)。リンクが使用済み・期限切れだった場合は登録そのものが失敗し、端末は作られません。
すでに一覧にいる人への発行は、下の「メンバー一覧」の各行にある「登録リンクを発行」から行います。2台目の端末を足すときも同じです。
メンバー一覧
アカウント番号の台帳
各アプリは人を番号で取り込みます(メールでは繋ぎません)。個人は hbq0000、個人ではない役割・運用枠は SYSTEM0001 の形です。退会しても番号は再利用しません。
登録済みの端末(パスキー)
パスキー登録には管理画面で発行した登録リンクが必須です。リンクを出した時点で「この人に使わせる」判断は済んでいるので、登録に成功した端末はその場で使えます(承認の操作はありません)。リンクが無効・期限切れ・使用済みだった登録は失敗し、端末は1行も作られません。
紛失・退任した端末はここで失効させます。失効した端末ではログインできなくなります。本人がもう一度使いたい場合は、メンバー画面から登録リンクを出し直します(失効の取り消しはありません)。
状態がおかしい端末
ここに何か出ていたら異常です。有効(approved)でも失効済み(revoked)でもない端末を作る経路はIdPに存在しません。DBが直接書き換えられた可能性があるので、失効させたうえで監査ログを確認してください。
どのアプリに誰を入れるか
この画面で決めるのは入れるか / 入れないかだけです。アプリの中での権限(誰が管理者か等)は、各アプリ側の管理画面で設定します。
取り消しは次回ログイン時から効きます。すでにアプリ側でログイン中のセッションは、そのアプリの期限まで残ります。すぐ止めたい場合は「緊急遮断」を使ってください。
接続アプリ(OIDCクライアント)
社内ツールをこの認証基盤に繋ぐための登録です。ここで行えるのは日常運用に要る編集だけ——無効化 / 有効化、戻り先URLの修正、ログアウト通知先の修正です。
ログアウト通知先を設定したアプリだけ、強制ログアウトがそのアプリまで届きます。未設定のアプリは、IdP側で切ってもアプリ側のセッション期限まで入れたままになります。
新しいアプリを繋ぐとき
新規登録と client_secret の再発行は、この画面からは行いません。アプリ側の実装・設定が必ず対になるので登録は開発作業の一部であり、戻り先URLの打ち間違いや稼働中アプリのsecret再発行は、押した瞬間に接続が壊れます。secretを画面に表示しないためでもあります。
サーバ側の固定操作で行います(同じ引数で再実行すると secret 再発行になります)。
railway run -s hbq-id-app node scripts/register-client.mjs <clientId> <名前> <redirect_uri> [--public]
いまログインしている端末
1行 = 1つのログイン(ブラウザごと・端末ごと)です。同じ人でも、PCのChromeとiPhoneのChromeとホーム画面アプリは別の行になります。「入ったアプリ」にはそのログインで実際に開いたツールが出ます。
この端末だけ切るは、その1行のログインだけを失効させます(本人の他の端末は残ります)。退任・紛失のように端末が特定できないときは全端末を使ってください。
無操作が24時間続いた行は自動で消えます(操作のたびに期限が延びるので、使っている最中に切れることはありません)。見覚えのない行は、切ったうえで「端末(パスキー)」のパスキーも失効させ、監査ログを確認してください。
各アプリへのログアウト通知
強制ログアウトは、ここで各アプリへ「このログインを切れ」と伝えます。届かなかった通知は、そのアプリにまだ入れたままという意味です。アプリ側を直してから「もう一度送る」を押してください。通知先が未設定のアプリには送れないので、そのアプリは自分のセッション期限が切れるまで入れたままになります。
監査ログ
管理画面とサーバ側操作(ops)の両方が記録されます。サーバ側操作は実行者が「サーバ操作」と表示されます。絞り込みはサーバ側で行うので、条件を付ければ表示件数より古い記録まで遡れます。
緊急遮断
侵入が疑われるときは、原因の特定より先に止めます。どちらも取り消せます(セッションは再ログイン、アプリは再有効化)。実行は必ずChatへ通知され、監査ログに残ります。
全員を強制ログアウト
すべてのメンバーのログイン状態を失効させます。正規のメンバーはパスキーで入り直せます。盗まれたCookieは使えなくなります。
全アプリへの接続を止める
接続アプリをすべて無効化し、各ツールへの新規ログインを止めます。この管理画面はOIDCを経由しないので、ここから戻せます。