Unofficial
このページの内容
  1. 01ロール
  2. 02二要素認証を有効にする
  3. 03二要素認証を使うGit、SVN、Bucket
  4. 04スクリプトとCI用のAPIトークン
  5. 05パスワードの誤入力とロック
  6. 06管理者ができること
  7. 07管理者がロックアウトされた場合

アカウント、二要素認証、APIトークン

Bucket & Code Server IDEには独自のアカウントがあります。同じ名前とパスワードでパネル、Git、SVN、Bucket、エディターにログインします。QTSのアカウントではログインできません。このガイドでは二要素認証、その有効時にgitとWebDAVクライアントで使うパスワード、スクリプト用APIトークン、パスワードの誤入力によるロックからの復旧を説明します。

  1. ロールviewer、member、developer、admin
  2. 2FAスマートフォンのコード
  3. クライアントアクセストークン、アプリパスワード
  4. トークンスクリプトとCI用
  5. ロックアクセスの復旧

画像は、このガイドどおりに各項目を入力したパネルです。開発者の名前は ola 、管理者は ewaです。QRコードにはぼかしをかけ、キー、アプリパスワード、トークンにはサンプルを使っています。二要素認証とアプリパスワードの画像は、パネルのテストデータによるものです。

01ロール

ロール許可される操作
viewer / memberviewerはパネルを閲覧できます。Backups、Storage、Users、Logsは管理者専用です。memberは書き込み権限のあるGit、SVN、Bucketにも書き込めますが、エディター、cronジョブ、ビルドは使えません。どちらのロールもGitリポジトリや組織を作成できません。memberはdeveloper未満のアカウントが所有または管理するGitリポジトリにはプッシュできません。CIが有効な場合は、Actionsが有効なリポジトリにもプッシュできません
developerさらにエディターを開き、アプリをビルドし、自分のcronジョブを実行し、NASのリポジトリにパッケージを公開できます(一覧への登録は管理者が行います)
adminすべての操作:アカウント、設定、ストレージ、ネットワーク、モジュール、アプリの有効化、カーネルモジュールの読み込み

developerロールはNAS上のroot権限を持ちます。エディターのターミナル、開発者のcronコマンド、プッシュ可能なリポジトリのCIワークフローはすべてrootとして実行されます。NASの管理者パスワードを渡してよい相手だけに付与してください。インターネットに何かを公開する前に、すべてのdeveloperとadminで二要素認証を有効にしてください。

02二要素認証を有効にする

各アカウントが自分で Your account (アクティビティバー下部のボタン)から有効にします。

  1. 次を押します: Set up two-factor authentication。 二要素認証のカード:無効状態と設定ボタン
  2. スマートフォンの認証アプリでQRコードを読み取るか、キーを入力します。アプリに表示されている6桁のコードを入力し、次を押します: Turn on。コードを確認するまでは、従来どおりにログインできます。 二要素認証の設定:ぼかしたQRコード、サンプルのキー、アプリのコード欄、有効化とキャンセルのボタン
  3. 以後はパスワードの後にコードの入力を求められます。 二要素認証のカード:有効状態、git・SVN・Bucketで変わる点、無効化ボタンログインの第2段階:認証コード、olaとしてログイン、コード欄と確認ボタン
  • コードは6桁で、30秒ごとに変わります。30秒前後にずれたコードも有効です。同じコードが2回受け付けられることはありません。
  • 新しいコードでも失敗する場合は、スマートフォンの時計がずれている可能性があります。時刻の自動設定を有効にしてください。
  • 二要素認証を無効にするにはパスワードが必要です。

03二要素認証を使うGit、SVN、Bucket

二要素認証が有効になると、git、SVN、WebDAVクライアントではアカウントのパスワードを使えません。代わりに以下を使います。

  • HTTPまたはHTTPS経由のGit: Forgejoのアクセストークンを使います。Forgejoの次の場所で作成します: Settings → Applications。SSHキーは従来どおり使えます。
  • SVNとWebDAVクライアント: Your accountで作成したアプリパスワードを使います。ランダムな25文字を5組に分けたもので、一度だけ表示されます。新しく作ると以前のものは置き換わり、アカウントのパスワード変更や二要素認証の無効化で削除されます。 WebDAVとSVN用アプリパスワードのカード:未作成の状態と作成ボタン アプリパスワードを今すぐコピー:サンプルのパスワードとコピー済みの確認

04スクリプトとCI用のAPIトークン

スクリプトやCIジョブは、パスワードの代わりにAPIトークンを使います。Your accountで次を押します: New token。用途がわかる名前を付け、スコープを選んでください。

新しいAPIトークン:名前はci-deploy、readとwriteを選択、adminは未選択、作成ボタントークンを今すぐコピー:bvs_と40桁の16進数からなるサンプルトークンと、テスト用curlコマンド
  • スコープ read、write と admin は、それぞれviewer、developer、adminロールに対応します。トークンは最上位のスコープで動作しますが、所有者の現在のロールを超える権限は持ちません。 memberに対応するスコープはなく、memberが作成できるのはreadトークンです。
  • トークンは一度だけ表示され、bvsdはハッシュだけを保存します。スクリプトは次の形式で送信します: Authorization: Bearer bvs_…。
  • パスワードを変更すると所有者の全トークンが失効し、アカウントを無効にするとトークンは使えなくなります。
  • トークンではパスワードや二要素認証の変更、トークンの作成や削除はできません。そのため漏えいしても所有者を締め出すことはできません。不要なトークンは削除してください。削除後に送信すると401が返ります。
自分のAPIトークン:ci-deploy、スコープはreadとwrite、2026年10月8日作成、未使用、削除ボタン

05パスワードの誤入力とロック

  • 同じアドレスから15分以内に5回ログインに失敗すると、そのアドレスは15分間ロックされ、正しいパスワードでも入れません。IPv6クライアントは/64ネットワーク単位で数えます。
  • 同じアドレスから同じアカウントへのログインに5回失敗すると、そのアドレスからそのアカウントへのアクセスが15分間ロックされます。
  • 多数のアドレスから同じアカウントへのログインに失敗すると、以後のログインに125ミリ秒から最大2秒の遅延が加わります。ローカルネットワークからの失敗でアカウントがロックされることはありません。
  • インターネットから同じアカウントへのログインが、最後の成功以降20回失敗すると、送信元アドレスに関係なくインターネットからのアクセスがロックされます。ローカルネットワークからは引き続きログインできます。回数は Users ページで設定します。0にするとこのロックは無効です。 インターネットからのログイン:20回の失敗でアカウントをロックする設定と保存ボタン

リバースプロキシの背後では、そのプロキシが信頼済みの場合だけ、プロキシが報告したアドレスで数えます。それ以外では全クライアントがプロキシ自身のアドレスとして扱われ、誰かが5回パスワードを誤入力すると全員が締め出されます。

06管理者ができること

管理者は Users ページで対象の行からアカウントを開きます。

  • スマートフォンを紛失した場合: Turn it off をTwo-factor authenticationで選びます。本人が再設定するまではパスワードだけでログインできます。 二要素認証が有効、スマートフォン紛失時の案内と無効化ボタン
  • インターネットからロックされたアカウント: Unlockを使うか、新しいパスワードを設定します。
  • Set a new password はアカウントのセッションを終了し、APIトークンを失効させます。
  • アカウントを無効にするとセッションが直ちに終了し、トークンも停止します。データは残ります。最後の有効なadminを降格、無効化、削除することはできません。
  • 無効なアカウントやmemberまたはviewerに変更されたアカウントのcronジョブは残りますが、実行されません。アカウントを削除するとジョブも削除されます(バージョン1.0.0-52以降、 スケジュールされたジョブ)。

07管理者がロックアウトされた場合

NASの管理者は、NAS上のSSHセッションから任意のアカウントをリセットできます。これらのコマンドはrootだけが開けるソケットを介してbvsdと通信し、それぞれデータフォルダー内の log/audit.log に記録されます:

/usr/bin/bucketvs/bin/bvs user list
/usr/bin/bucketvs/bin/bvs user password administrator
/usr/bin/bucketvs/bin/bvs user totp-reset administrator
/usr/bin/bucketvs/bin/bvs user unlock administrator
  • bvs user password はランダムな20文字のパスワードを設定して表示します。次のログイン時に本人がパスワードを選び直す必要があります。セッションは終了し、APIトークンは失効します。
  • bvs user totp-reset はアカウントの二要素認証を無効にします。
  • bvs user unlock はインターネットからのパスワード誤入力によるロックを解除します。