Skip to main content
共通仕様

認証

Personal Access Token(PAT)または Service Account Token(SAT)を使用して Qoder Cloud Agents API リクエストを認証します。

Qoder Cloud Agents API では、**Personal Access Token(PAT)**と **Service Account Token(SAT)**の 2 種類の Bearer Token を使用できます。すべての API リクエストで、Authorization ヘッダーに有効な Token を 1 つ指定する必要があります。
Token用途取得方法
PATユーザー ID。個人での開発やテストに適していますQoder コンソールで作成
SATService Account ID。サーバー側の連携や自動化に適していますService Account API Key(SA Key)を短期 JWT に交換
SA Key は、SAT との交換に使用する長期認証情報です。Cloud Agents の業務 API を SA Key で直接呼び出さないでください。

サービスリージョンを選択する

SAT の交換と業務 API のリクエストでは、同じリージョンのエンドポイントを使用する必要があります。以下のサービスエンドポイントを設定します。
export QODER_OPENAPI_BASE_URL="https://openapi.qoder.sh"
export QODER_API_BASE_URL="https://api.qoder.com"

オプション 1:PAT を使用する

PAT の取得

  1. Qoder コンソールにサインインします。
  2. 設定 → Personal Access Tokens を開きます。
  3. Token の作成をクリックし、名前、スコープ、有効期限を設定します。
  4. PAT をコピーし、環境変数に設定します。
export QODER_PAT="pt-your-token-here"
PAT には pt- プレフィックスが付き、完全な値は作成時に一度だけ表示されます。ソース管理にコミットしたり、共有したりしないでください。

オプション 2:Service Account と SAT を使用する

SA Key の取得と設定

  1. 組織管理者として Qoder コンソールにサインインします。
  2. 組織管理で Service Account を作成または選択します。
  3. Service Account の詳細ページで API Key を作成します。作成時にスコープを選択する必要はありません。必要なスコープは、後で SAT に交換するときに指定します。
  4. SA Key をコピーし、環境変数に設定します。
export QODER_SA_KEY="sa-key"
完全な SA Key は作成時に一度だけ表示されます。シークレットマネージャーで保管し、ソースコードやログには記録しないでください。

SA Key を SAT(JWT)に交換する

Service Token Exchange API を呼び出して、SA Key を SAT に交換します。
SAT_RESPONSE=$(curl --silent --show-error --location "$QODER_OPENAPI_BASE_URL/api/v1/serviceToken/exchange" \
  --header "Authorization: Bearer $QODER_SA_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "grant_type": "client_credentials",
    "audience": "qoder",
    "scope": "qca.access",
    "ttl_seconds": 43200
  }')

export QODER_SAT="$(printf '%s' "$SAT_RESPONSE" | jq -r '.access_token')"
フィールド説明
grant_typeclient_credentials を指定します
audienceqoder を指定します
scope交換リクエストで指定します。Managed API のみの場合は qca.access、Forward API と Managed API の両方の場合は qca.access forward.access を使用します。SA Key に設定された権限を超えるスコープは指定できません
ttl_secondsSAT の有効期間(秒)。最大値は 43200(12 時間)です
レスポンスの access_token が SAT です。期限切れの SAT は更新できません。SA Key で交換 API を再度呼び出してください。

同じ SAT で Forward API と Managed API を呼び出す

同じ SAT を使用して Forward(/api/v1/forward/*)と Managed(/api/v1/cloud/*)の両方の API を呼び出す必要があるサーバー側連携では、交換時に qca.accessforward.access の両方をリクエストします。
SAT_RESPONSE=$(curl --silent --show-error --location "$QODER_OPENAPI_BASE_URL/api/v1/serviceToken/exchange" \
  -H "Authorization: Bearer $QODER_SA_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
    "grant_type": "client_credentials",
    "audience": "qoder",
    "scope": "qca.access forward.access",
    "ttl_seconds": 3600
  }')

export QODER_SAT="$(printf '%s' "$SAT_RESPONSE" | jq -r '.access_token')"
qca.accessforward.access の両方を含む SAT は、Service Account に関連付けられたアカウントの Forward リソースに対する管理者権限を持ちます。信頼できるサーバー側環境でのみ使用し、エンドユーザーや信頼できないクライアントには提供しないでください。環境ごとに別の SA Key を使用し、要件を満たす最短の有効期間を選択してください。
同じ SAT で両方の API を呼び出せます。
# Forward API
curl -s "$QODER_API_BASE_URL/api/v1/forward/templates?limit=1" \
  -H "Authorization: Bearer $QODER_SAT"

# Managed API
curl -s "$QODER_API_BASE_URL/api/v1/cloud/agents?limit=1" \
  -H "Authorization: Bearer $QODER_SAT"

既存の連携との互換性

  • Managed API のみを呼び出す既存の連携では、引き続き qca.access のみをリクエストして使用できます。
  • PAT の取得方法と使用方法は変更されません。
  • Forward API のみを呼び出す場合、明示的な失効が必要な場合、または単一の Identity に関連付けられた SATが必要な場合は、引き続き Forward の Token API を使用できます。
詳細については、ServiceAccountTokens API リファレンスをご参照ください。

Bearer ヘッダー形式

PAT または SAT を Bearer Token として Cloud Agents API に渡します。
Authorization: Bearer <PAT または SAT>
選択した Token を共通の環境変数に設定します。
# 個人ユーザー
export QODER_ACCESS_TOKEN="$QODER_PAT"

# または Service Account
export QODER_ACCESS_TOKEN="$QODER_SAT"
完全なリクエスト例:
curl -s "$QODER_API_BASE_URL/api/v1/cloud/agents" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN"

セキュリティに関する推奨事項

  • 開発、ステージング、本番環境ごとに個別の PAT または SA Key を使用してください。
  • PAT と SA Key はハードコードせず、シークレットマネージャーに保存してください。
  • SAT に交換するときは、連携に必要な最小限のスコープのみをリクエストしてください。
  • 現在の SAT が期限切れになる前に新しい SAT と交換し、稼働中のサービスで安全にローテーションしてください。
  • PAT または SA Key が漏えいした場合は、コンソールですぐに失効またはローテーションしてください。