認証
ベアラートークンを取得し、テナントに代わって Cockpit API を呼び出す。
ベアラートークン
すべてのマネジメント API(/api/…)リクエストには、ベアラートークンを含める必要があります。
Authorization: Bearer <access-token>
トークンは、ユーザー、そのユーザーが操作する テナント、そして保持する 権限 を識別します。有効なトークンがないリクエストは 401 Unauthorized を受け取り、有効なトークンでも必要な権限を欠く場合は 403 Forbidden を受け取ります。
トークンの取得
サインイン
Cockpit のサインインエンドポイントを通じて、ユーザーの認証情報(有効な場合は第 2 要素も含む)で認証します。成功すると アクセストークン と リフレッシュトークン を受け取ります。
API を呼び出す
各リクエストの Authorization ヘッダーにアクセストークンを送信します。
更新する
アクセストークンの有効期限が近づいたら、リフレッシュトークンを使用して、認証情報を再入力せずに新しいトークンを取得します。トークンの有効期間はホスト設定で構成されます。
マシン間(M2M)アクセスには、人間のユーザーの認証情報ではなく、管理者が構成したサービス ID を使用してください。
セッションと無効化
トークンはセッションに紐づいています。セッションが失効した場合、ユーザーのパスワードが変更された場合、またはユーザーがサインアウトした場合、トークンは受け付けられなくなります — これにより、漏えいしたトークンを一元的に遮断できます。アクセストークンは短命で、リフレッシュトークンはより長命であり、こちらも失効させることができます。
多要素認証とシングルサインオン
Cockpit は複数のサインイン方式をサポートしています。利用可能な方式はテナントの構成によって異なります。
| 方式 | 備考 |
|---|---|
| パスワード | 構成可能なパスワードポリシーを適用 |
| TOTP 二要素認証 | リカバリーコード付きの時間ベースワンタイムパスワード |
| WebAuthn / FIDO2 | パスキー、セキュリティキー、Windows Hello |
| シングルサインオン | ID プロバイダー経由の Azure AD / Entra ID、Okta、Keycloak |
ホストトークンとテナントトークン
ほとんどのエンドポイントは単一のテナント内で動作します。ホストレベル のエンドポイント(テナントの作成、プラットフォーム全体の設定の編集、エディションの管理)には、ホストコンテキストで発行されたトークンと適切なホスト権限が必要です — 詳細は プラットフォーム管理 を参照してください。
公開プロトコルエンドポイント
公開プロトコルエンドポイントは Cockpit のベアラートークンを使用しません。各エンドポイントは、それぞれの標準で定義された認証方式を使用します — 例えば DKE の復号リクエストには Azure AD トークン、ACME 登録には ACME アカウントキーを使用します。