MCP (Model Context Protocol)
自分の AI エージェントを、自身の権限境界の範囲内で DuoKey テナントのデータと操作に接続します。
MCP エンドポイントとは
Cockpit は、テナントのデータと操作を、AI アシスタントを外部システムに接続するためのオープン標準である Model Context Protocol(MCP) を通じて、AI エージェント — Claude Code、Claude.ai(Web)、Claude Desktop — に公開できます。接続後は、PQC の対応状況の確認、鍵と Vault のインベントリ取得、証明書資産のレビューを依頼したり、(許可した場合には)証明書の発行や修正案の作成といった変更作業を実行させたりできます。読み取り・書き込みのすべてのアクセスは単一のテナントにスコープされ、接続するユーザーまたはキーが Cockpit ですでに持っている権限と同じ範囲に制限されます。
すべての呼び出しは既存の DuoKey サービスにマッピングされます — MCP レイヤーが追加するのは認証とケーパビリティのゲーティングであり、新しいビジネスロジックではありません。
あなたのデータ、あなたの境界
すべての接続は必ず一つのテナントに解決されます。あるテナントのキーまたはセッションで接続したエージェントが、別のテナントのデータを見ることは決してありません。
ケーパビリティ単位のオプトイン
エディションが許可し、かつ管理者が明示的に有効化したもの以外は、デフォルトでは何も公開されません — 後述のケーパビリティパックを参照してください。
権限は依然としてあなたのもの
ケーパビリティパックがオンになっていても、個々の呼び出しでできることが広がるわけではありません — すべての操作は、キーを発行した、あるいは接続を承認したユーザーの権限に対して引き続きチェックされます。
MCP エンドポイントは、それが公開するケーパビリティとは別のエンタイトルメントです。エディションが許可し、テナント管理者が Cockpit コンソールから有効化するまで、デフォルトでは無効になっています。
AI エージェントの接続
エンドポイントに対して AI クライアントを認証する方法は二つあり、接続するクライアントの種類に応じて選択します。
| 方式 | 利用するクライアント | 仕組み |
|---|---|---|
| テナントごとの API キー | Claude Code、スクリプト/CI での利用 | Cockpit コンソールで一度だけ発行される長期有効なキーを、すべてのリクエストでベアラー認証情報として渡します。ブラウザを開けないコマンドラインクライアントや自動化クライアント向けです。 |
| OAuth サインイン | Claude.ai(Web)、Claude Desktop | クライアントにエンドポイント URL を指定すると、通常の Cockpit サインイン(したがって MFA / SSO / パスキーも通常どおり適用されます)へリダイレクトされ、続いて一度限りの同意画面が表示されます。ブラウザベースの承認を完了できるインタラクティブなクライアント向けです。 |
API キーを発行する(Claude Code / スクリプトクライアント)
Cockpit の MCP ページからキーを作成し、名前を付けます。キーの値は一度だけ表示されます — すぐにコピーしてください。後から取得することはできません。ベアラー Authorization ヘッダーとしてクライアントに追加します。例:
claude mcp add --transport http duokey <endpoint-url> --header "Authorization: Bearer <mcp-key>"またはインタラクティブなクライアントを接続する(Claude.ai / Claude Desktop)
クライアントのコネクター設定で、テナントの MCP エンドポイント URL(Cockpit の MCP ページに表示されます)を指すカスタムコネクターを追加します。クライアントは通常どおり Cockpit のサインインにリダイレクトし、その後同意画面を表示します。
同意画面を確認して承認する
同意画面には、アクセスを要求しているアプリケーション名、承認後のリダイレクト先、そして承認によって何が可能になるかの平易な説明が表示されます。承認すると接続が完了し、拒否するとキャンセルされます。
エージェントが接続される
これ以降、エージェントはケーパビリティパックと自身の権限が許可するツールのみを呼び出せます — それ以上のことはできません。
インタラクティブ(OAuth)接続は、利用され続けている限りクライアントがバックグラウンドで自動的に更新します。完全に放置された場合は、最終的に再承認が必要になります。API キーは自動では期限切れになりません — 失効させるまで(または作成時に設定した任意の有効期限に達するまで)有効なままです。
ケーパビリティパック: 一つではなく二つのゲート
エージェントが実際に何をできるかは、PQC、KMS、Vault、PKI といった名前付きのケーパビリティパックとして整理されています。各パックは二つの独立したゲートの背後にあり、パックが機能するには両方が開いている必要があります。
| ゲート | 決定するもの | 意味 |
|---|---|---|
| 利用可能(Available) | エディション | 上限です。エディションがパックを許可するかしないかであり、ほとんどのパックはさらに、その基盤となるケーパビリティがテナントで有効になっている必要があります(たとえば KMS パックには、鍵管理そのものが有効であることが追加で必要です)。テナントがこの上限を超えることはできません。 |
| 有効(Enabled) | テナント管理者 | その上限の範囲内で、管理者は MCP ページから各パックを AI エージェント向けにオン・オフします。読み取り専用パックは利用可能になった時点でデフォルトでオンです。書き込み可能なパックはすべてオフから始まり、明示的にオンにする必要があります。 |
「利用可能」と「有効」を分けることで、エディションのアップグレードによって新しい AI エージェントのケーパビリティが黙って有効になることがなくなります — 特にエージェントに変更を許可するパックについては、テナント管理者が必ず意図的な二つ目の選択を行う必要があります。
読み取りパックは、読み取り専用の参照や対応状況の確認をカバーします。書き込みパックは、鍵の作成、証明書の発行、ネットワーク機器へのデプロイといった操作をエージェントに許可します。すべての書き込みパックは、その領域における接続ユーザー自身の権限によって引き続き制限されます — パックを有効にしても外れるのは MCP レベルのゲートだけであり、基盤となる権限チェックは外れません。
| パック | 種別 | デフォルト | エージェントに許可される操作 |
|---|---|---|---|
| PQC レディネス | 読み取り | オン | スキャンの一覧表示、Quantum Readiness Score と CBOM の読み取り、脆弱な資産の一覧表示、修正ステータスの読み取り。 |
| KMS / 鍵 | 読み取り | オン | テナントの鍵の一覧表示と、鍵のメタデータの読み取り。 |
| Vault / HSM | 読み取り | オン | Vault と、その中に保持されている鍵の一覧表示。 |
| PKI / 証明書 | 読み取り | オン | 認証局、証明書、期限が近い証明書、検出された証明書、発行者の一覧表示。 |
| アプリ / 連携 | 読み取り | オン | テナントに設定されたアプリケーションと連携の一覧表示。 |
| DKE | 読み取り | オン | テナントに設定された DKE サービスの一覧表示。 |
| 監査 / アクティビティ | 読み取り | オン | テナントのアクティビティログのクエリ。 |
| Crypto Agility Plane | 読み取り | オン | 暗号インテントの一覧表示、有効なポリシーに対するインテントの解決、ポスチャ変更のシミュレーション、二つのポリシーバージョンの差分表示。 |
| PQC 移行 | 書き込み | オフ | ポスト量子鍵の作成、クラシック鍵の廃止・失効、移行計画の作成。暗号化/復号/署名へのアクセスはありません。 |
| PQC Autopilot | 書き込み | オフ | 脆弱な資産に対する修正を新しいブランチ上で作成し、検証し、人間がマージするためのプルリクエストを作成します。本番環境に書き込むことはなく、自動マージも行いません。 |
| PKI ライフサイクル | 書き込み | オフ | CA の生成、証明書の発行と署名、更新、失効。秘密鍵が返されることはありません。 |
| PKI デプロイ | 書き込み | オフ | 管理下の証明書を外部のネットワークターゲット(ロードバランサーやファイアウォールなど)へ配布し、デプロイをロールバックします。Cockpit の外にある実機のネットワーク機器に到達する唯一のパックです。 |
| ServiceNow CMDB | 書き込み | オフ | 接続された ServiceNow インスタンスから証明書の構成アイテムを読み取り、証明書を同期し、期限切れインシデントを起票します。他の書き込みパックと同様にデフォルトはオフで、書き込み操作にはさらに接続ユーザー自身の ServiceNow 同期権限が必要です。 |
他のパックと異なり、PKI デプロイは Cockpit の外にある機器を変更します。本番ネットワークにアクセスする他の自動化と同じ注意を払って扱い、エージェントに証明書の変更を配布させる明確な意図がない限りオフのままにしてください。
ツール呼び出しの内部
すべてのツール呼び出しは — 鍵の一覧表示のような読み取りであれ、証明書の発行のような書き込みであれ — 同じ五つのステップを通ります。
ケーパビリティパックのゲートは、ツール一覧の構築時だけでなくディスパッチ時にも再度チェックされます — セッション中に無効化されたパックは、次の呼び出しから即座に機能しなくなります。
利用上限
エディションによって設定される二つの数値上限が、エージェントがテナントに対して実行できる量を制限します。
| 上限 | 適用対象 | 表記規則 |
|---|---|---|
| アクティブな API キーの最大数 | 新しいキーを発行する際にチェックされます | -1 無制限 · 0 なし · n 同時にアクティブにできるキーの最大数 |
| 1 日あたりのツール呼び出しの最大数 | ローリング 24 時間ウィンドウで、すべてのリクエスト時にチェックされます | -1 無制限 · 0 なし · n ローリング 24 時間あたりの最大呼び出し数 |
エージェントは 1 回のリクエストで複数のツール呼び出しを送信できます。そのリクエストに含まれるすべての呼び出しがローリング日次上限にカウントされます — バッチはクォータを回避する手段にはなりません。上限に達すると、24 時間ウィンドウが進むまで以降の呼び出しは拒否されます。
Cockpit コンソールからの MCP 管理
ステータスを確認する
MCP ページには、リアルタイムのヘルスインジケーター、エンドポイント URL、使用中のプロトコルバージョン、現在アクティブなキーと OAuth セッションの数、直近 24 時間に実行されたツール呼び出し数が表示されます。
API キーを発行または失効する
キーを必要とするクライアントごとに新しいキーを作成します(クライアントごとに別々のキーにしておくと、他に影響を与えずに一つだけ失効できます)。キーの失効は即座に反映されます。
OAuth セッションを確認または終了する
現在アクティブなインタラクティブ(OAuth)セッションの数を確認できます。「すべての AI クライアントを切断」を実行すると、それらすべてを一度に失効させます — すでに発行済みのアクセストークンも、通常の有効期限を待たずに即座に無効になります。
ケーパビリティパックをオン・オフする
エディションが利用可能にしている範囲内で、各パックを切り替えます。エディションが許可していないパックは表示されますが、オンにすることはできません。
利用量と失効はキー単位で追跡されるため、(複数のツールで一つのキーを共有するのではなく)クライアントごとに個別のキーを発行しておくと、侵害されたクライアントや使わなくなったクライアントのアクセスを、他の接続に影響を与えずに簡単に遮断できます。
権限とエンタイトルメント
MCP には独自の権限サブツリーがあり、個々のツール呼び出しが実際に何をできるかを引き続き統制するドメイン権限(PQC、鍵、PKI など)とは分離されています。
| 権限 | 統制する範囲 |
|---|---|
| MCP のステータスとキーの表示 | ステータスパネル、API キーの一覧(シークレット値は表示されません)、ケーパビリティパックの状態の参照 |
| MCP の管理 | API キーの発行と失効、OAuth セッションの切断、ケーパビリティパックのオン・オフ |