コンテンツにスキップ

MCP API Keys Table

概要

管理用のテーブル MCP API key 情報

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL許可 デフォルト値 備考
MCP API Key Information mcp_api_keys id serial ◯
user_id string ◯ user.cognito_subへの論理参照 (FK制約なし)
project_id number project:id ◯
name string ex) mcp for project A
key_prefix string ◯ Key構造: guinness_{prefix}_{secrets}、プレフィックス検索を可能にする
key_hash string ◯ ハッシュ化されたAPIキー
salt string ◯ ランダム値
permission number 0: READ
1: WRITE
expires_at datetime ◯
revoked_at datetime ◯
last_used_at datetime ◯
created_at datetime ◯
updated_at datetime
deleted_at datetime ◯
created_by string
updated_by string
deleted_by string

リレーション

  • user_id → user.cognito_sub (論理参照、FK制約なし)
  • project_id → project.id

インデックス

  • 主キー (id)
  • UNIQUE (key_prefix)
  • UNIQUE (key_hash)
  • UNIQUE (salt)

注記

  • MCP API key 情報の認証と認可を管理
  • 各カラム (user_id, project_id) は nullable だが、少なくとも1つは設定する必要がある
  • key_prefix はユニーク制約があり、重複は許可されない
  • Key構造は guinness_{prefix}_{secrets} 形式で、プレフィックス検索を可能にする
  • キーの有効期限をサポート (expires_at)
  • 最終使用時刻を追跡 (last_used_at)
  • 失効日時を記録 (revoked_at)
  • セキュリティのため、key hash と salt は別々に保存される
  • permission フィールドはアクセスレベルを指定: 0 で READ、1 で WRITE
  • user_id は Cognito の subject(文字列)を格納する
  • 論理削除をサポート (deleted_at カラム)
  • 監査ログサポート (created_by、updated_by、deleted_by)