Skip to main content
Agent にタスクを委任する

Vaults で認証する

シークレットを安全に保存し、Agent Session に注入する。

Agent はサードパーティサービス — GitHub、Jira、データベース、自前 MCP サーバーなど — にアクセスする必要があることがしばしばあります。Vaults はセキュアな認証情報の預け先を提供し、トークンを当社に保管していただき、Session 実行時に必要に応じて注入します。コードへのハードコーディングは不要です。

コアコンセプト

概念説明
Vault複数の Credential を保持できる認証情報コンテナ
Credential具体的な MCP サーバー URL にバインドされた個別の認証情報
auth.typeCredential の認証タイプ:static_bearer または mcp_oauth
vault_idsSession 作成時に参照する Vault ID のリスト

セキュリティ

  • access_token は API レスポンスで決して返却されません。
  • tokenrefresh_tokenclient_secret などのその他のシークレットも返却されません。
  • 認証情報はサーバー側で暗号化保管されます。
  • 関連付けられた Session のみが実行時に認証情報内容を読み取れます。

エンドツーエンドフロー

1

Vault を作成する

curl -X POST https://api.qoder.com/api/v1/cloud/vaults \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "display_name": "My GitHub credentials",
    "metadata": {}
  }'
レスポンス例:
{
  "id": "vault_019e5cdb9c3f71c3b6505eba937a40b4",
  "type": "vault",
  "display_name": "My GitHub credentials",
  "credentials": [],
  "metadata": {},
  "archived_at": null,
  "created_at": "2026-05-18T08:00:00Z",
  "updated_at": "2026-05-18T08:00:00Z"
}
2

Credential を追加する

Static Bearer トークンの場合は、ネストされた auth を指定して Vault に Credential を追加します。
curl -X POST https://api.qoder.com/api/v1/cloud/vaults/vault_019e5cdb9c3f71c3b6505eba937a40b4/credentials \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "auth": {
      "type": "static_bearer",
      "mcp_server_url": "https://jira.example.com/mcp",
      "token": "jira_token_xxxxxxxx"
    }
  }'
レスポンスは type: "vault_credential" とサニタイズされた auth オブジェクトを返します。シークレットの値は含まれません。MCP OAuth の場合は、ブラウザ認可フローを開始します。
curl -X POST https://api.qoder.com/api/v1/cloud/oauth/start \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "vault_id": "vault_019e5cdb9c3f71c3b6505eba937a40b4",
    "mcp_server_url": "https://mcp.linear.app/mcp",
    "client_id": "",
    "client_secret": ""
  }'
返された authorization_url を開きます。プロバイダーから CAS callback にリダイレクトされると、CAS が code を token と交換し、Vault に mcp_oauth Credential を作成します。PKCE、クライアント登録、callback の動作については MCP OAuth の開始を参照してください。OAuth access token と refresh 設定をすでに保持している場合は、認証情報の作成からインポートすることもできます。
3

Session で使用する

Session 作成時に vault_ids で Vault を関連付けます。
curl -X POST https://api.qoder.com/api/v1/cloud/sessions \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "agent_xxx",
    "vault_ids": ["vault_019e5cdb9c3f71c3b6505eba937a40b4"]
  }'
Session 実行時、Agent は Vault に含まれるすべての Credential のアクセス権を自動的に取得し、対応する MCP サーバーへの認証に利用します。

パラメータ

パラメータ必須説明
display_namestringはいVault の表示名
metadataobjectいいえカスタムメタデータ
auth.typestringCredential では必須static_bearer または mcp_oauth
auth.mcp_server_urlstringMCP Credential では必須MCP サーバー URL
auth.tokenstringstatic_bearer では必須Bearer トークンの値。書き込み専用
auth.access_tokenstringmcp_oauth のインポート時は必須OAuth access token。書き込み専用
auth.expires_atstringいいえRFC 3339 形式の OAuth access token 有効期限
auth.refreshobjectいいえOAuth refresh 設定。Vault データ構造を参照

よくある質問

Q: MCP OAuth トークンの有効期限が切れるとどうなりますか? A: プロバイダーから refresh token が返されている場合、CAS は MCP discovery または実行前に必要に応じて Credential を更新します。refresh が利用できない、または無効になった場合は、OAuth 認可フローをもう一度実行してください。 Q: Credential のトークンを更新できますか? A: はい。認証情報の更新でシークレットをその場でローテーションできます。MCP OAuth Credential の更新後は、MCP OAuth 認証情報の検証で利用できることを確認してください。 Q: 1 つの Session に Vault を何個関連付けられますか? A: ハードリミットはありませんが、整理のためサービス単位でグループ化してください。 Q: トークンが漏洩しました。どうすればよいですか? A: 直ちに該当 Credential を削除し、サードパーティプラットフォームでトークンを失効させたうえで、新しい Credential を作成してください。 Q: 保管したトークンを参照できますか? A: できません。セキュリティ上、認証情報のシークレットは書き込み専用であり、削除して再作成することのみ可能です。
環境ごと (開発/本番) に独立した Vault を使用し、認証情報の混在を避けてください。

次のステップ