DuoKey Cockpit — API 概要
Cockpit API を呼び出すために必要なすべて — ベース URL、認証、テナンシー、権限、規約、エラー。
2 つのサーフェス
Cockpit は 2 種類の HTTP サーフェスを公開しています。
| サーフェス | ベースパス | 呼び出し元 |
|---|---|---|
| マネジメント API | /api/… | お客様の統合および Cockpit コンソール — ベアラートークンで認証 |
| 公開プロトコルエンドポイント | ルートパス、例えば /dke/…、/ocsp/…、/scep/…、.well-known/est/… | 公開プロトコルを話す標準クライアント(Microsoft 365、ACME/EST/SCEP/CMP クライアント、OCSP レスポンダー) |
ベース URL はお客様の Cockpit ホストです。例: https://cockpit.example.com。以下の例はすべて、このホストからの相対パスで表記しています。
認証
マネジメント API の呼び出しには、Authorization ヘッダーに ベアラートークン を付与します。
Authorization: Bearer <access-token>
トークンの取得方法とセッションの仕組みについては 認証 を参照してください。公開プロトコルエンドポイントは、それぞれの標準で定義された認証方式を使用します(例: DKE の復号には Azure AD トークン、ACME にはアカウントキー)。
マルチテナンシー
すべてのリクエストは、トークンに埋め込まれた テナント のセキュリティコンテキストで実行されます — テナント ID を明示的に渡すことはなく、自分のテナントのデータのみを参照・変更できます。一部の管理系エンドポイントは ホストレベル(クロステナント)であり、ホストトークンが必要です。これらは プラットフォーム管理 ページで説明しています。
権限
操作は ロールベースの権限 によって制御されます。呼び出し元は、そのルートが要求する権限を保持している必要があります(例: 証明書を発行するには証明書発行権限が必要)。権限名は領域ごとにグループ化されており(プラットフォーム操作、PKI、ホスト管理など)、各 API ページにエンドポイントごとに一覧化されています。
規約
| 項目 | 規約 |
|---|---|
| フォーマット | JSON 形式のリクエストおよびレスポンスボディ、UTF-8 |
| 識別子 | リソース ID は UUID |
| メソッド | 標準的な REST: GET(読み取り)、POST(作成/アクション)、PUT/PATCH(更新)、DELETE(削除) |
| タイムスタンプ | ISO 8601(UTC) |
| 認証ヘッダー | Authorization: Bearer <token> |
エラーモデル
エラーは、問題を説明する JSON ボディとともに 2xx 以外の HTTP ステータスを返します。主なステータスは次のとおりです。
| ステータス | 意味 |
|---|---|
| 400 Bad Request | 不正なリクエスト、または検証エラー |
| 401 Unauthorized | トークンが存在しない、または無効 |
| 403 Forbidden | 認証済みだが必要な権限がない(またはエディションで機能が有効化されていない) |
| 404 Not Found | テナント内に該当リソースが存在しない |
| 409 Conflict | 状態の競合(例: 名前が既に使用されている) |
| 429 Too Many Requests | レート制限を超過 |