メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ

アカウントセキュリティとAPI

認証、APIトークン、セッション管理、および権限モデル。

認証

Rediaccは複数の認証方法をサポートしています:

Auth Flow

  • パスワード:従来のメールアドレス+パスワードによるログイン
  • Magic Link:メールリンクによるパスワードレスログイン(15分で期限切れ)
  • 二要素認証(2FA):バックアップコード付きのTOTPベース

2FAが有効な場合、ログインにはパスワード(またはMagic Link)と6桁のTOTPコードの両方が必要です。

APIトークン

APIトークンはマシン間の操作(CLIライセンスのアクティベーション、ステータス確認)を認証します。

API Token Lifecycle

スコープ:

  • license:read — サブスクリプションとライセンスのステータスを照会
  • license:activate — マシンのアクティベーションとリポジトリライセンスの発行
  • subscription:read — サブスクリプション詳細の読み取り

セキュリティ機能:

  • IPバインディング:トークンは最初のリクエストのIPアドレスでのみ有効。新しいアドレスではTOTPの確認か再ログインが必要(下記参照)
  • チームスコーピング:トークンを特定のチームに制限可能
  • 自動取り消し:作成者が組織から削除されるとトークンが取り消される

トークンの作成:

# Via the portal: API Tokens > Create
# Token value is shown once -- save it securely

IPアドレスが変わったとき

あるIPアドレスに紐づいたトークンは、ほかのアドレスからは拒否されます。たとえばプロバイダーが新しいアドレスを割り当てた場合です。移動はCLIが行います:

  • 対話型ターミナルで2FAが有効:CLIが認証アプリの6桁のコードを尋ね、トークンを新しいアドレスへ移してからコマンドを再実行します。移動にはバックアップコードを使えません。
  • スクリプトやCI(ターミナルなし):コマンドは失敗し、2つの解決方法を示します。対話型ターミナルで任意の rdc コマンド(例:rdc subscription status)を一度実行してコードを入力するか、rdc subscription login を実行します。
  • 2FAが無効:トークンは移せません。rdc subscription login で新しいトークンを発行します。2FAを有効にしておけば、次回の移動はコードだけで済みます。
  • 間違ったコード:15分以内に5回間違えると移動がロックされます。最初は5分で、その後は毎回2倍になり、最長1時間です。4回ロックされると、次に rdc subscription login を実行するまで、そのトークンの移動は無効になります。
  • IPバインディングが unbound または cloudflare のexecutorトークンは影響を受けません。

移動のたびに、旧アドレスと新アドレスがポータルのアクティビティログに記録されます。

デバイスコードフロー

CLIはデバイスコードフローを使用してヘッドレスマシンで認証できます:

Device Code Flow

rdc subscription login
# Displays: Enter code XXXX-XXXX-XX at https://www.rediacc.com/account/authorize
# After approval, CLI receives credentials automatically

Config Storage

暗号化されたサーバー同期設定については、Config Storage の完全ガイドを参照してください。Config Storageは以下を使用します:

  • ゼロ知識暗号化(サーバーは平文を見ることがない)
  • Passkeyベースの鍵導出(WebAuthn + PRF)
  • リクエストごとのローテーション付きローテーショントークン

セッションセキュリティ

トークンタイプ有効期間ストレージ更新
Access Token (JWT)15分HttpOnly CookieRefresh Tokenによる自動更新
Refresh Token7日間HttpOnly Cookie使用ごとにローテーション
Elevated Session10分サーバーサイド再認証でトリガー

昇格セッションは機密操作に必要です:パスワード変更、メールアドレス変更、2FAセットアップ、所有権移転、および管理者の破壊的操作。

権限モデル

Rediaccは3つの独立した権限レイヤーを使用します:

Permission Flow

レイヤー1:システムロール — システム管理エンドポイントへのアクセスを決定します。

レイヤー2:組織ロール — ユーザーが組織内で何ができるかを制御します(owner、admin、member)。

レイヤー3:チームロール — 特定のチームリソースへのアクセスを限定します(team_admin、member)。組織のオーナーと管理者はチームロールのチェックをバイパスします。

すべてのAPIリクエストは、該当する全レイヤーを順番に通過します。チーム範囲のエンドポイントへのリクエストは、セッション認証、組織メンバーシップ、およびチームアクセスを満たす必要があります。

アップデートチャンネル

CLIは2つのリリースチャンネルをサポートしています:

  • stable(デフォルト):7日間のソーク期間を経てedgeから昇格。保守的なアップグレード周期を希望する場合にこちらを選択
  • edge:最新機能、リリースごとに更新
rdc update --channel edge      # Switch to edge
rdc update --channel stable    # Switch back to stable
rdc update --status            # Show current channel

AIエージェント向け CLI セキュリティポスチャー

rdc を呼び出すコーディングエージェントは現実の脅威面です。そのため、私たちは別個のプリンシパルとして扱います。すべての rdc 呼び出しは起動時に、環境シグナル(CLAUDECODE、GEMINI_CLI、COPILOT_CLI、CURSOR_TRACE_ID、REDIACC_AGENT)とLinux /proc による祖先ウォークに基づいて、ヒューマンまたはエージェントに分類されます。検出はベストエフォートです。意図的なラッパーは環境変数を偽装できます。だから祖先ウォークが重要なのです。エージェントは縮小された権限セットを受け取ります。機密設定の変更にはナレッジゲート(--current <old>)が必要で、インタラクティブエディターは祖先確認済みの REDIACC_ALLOW_CONFIG_EDIT オーバーライドなしでは拒否され、表示コマンドの --reveal はブロックされます。すべての決定(許可、拒否、--reveal の付与)は ~/.config/rediacc/audit.log.jsonl にハッシュチェーンされた JSONL 行として書き込まれます。rdc config audit verify でチェーンの整合性を確認してください。

エージェントができること・できないことの完全なマトリクス、ナレッジゲートの実例、スコープオーバーライドの仕組みについては、AIエージェントの安全性とガードレールを参照してください。