docs: align agent auth model and fix session test

This commit is contained in:
a.tolmachev
2026-05-03 10:38:12 +00:00
parent bf270336d9
commit 2d43db69c9
15 changed files with 578 additions and 61 deletions
+80 -5
View File
@@ -27,7 +27,8 @@
### 2.5. Секреты не хранятся в открытом виде
- upstream secrets живут в отдельных таблицах и шифруются;
- platform API keys хранятся как hash.
- agent keys и credentials доверенных клиентов хранятся как hash;
- короткоживущие токены хранятся в форме, пригодной для отзыва и учета использования.
## 3. Основные таблицы
@@ -48,7 +49,9 @@
- `agent_versions`
- `agent_operation_bindings`
- `published_agents`
- `platform_api_keys`
- `agent_keys`
- `issued_agent_tokens`
- `platform_client_credentials`
- `stream_sessions`
- `async_jobs`
- `invocation_logs`
@@ -65,6 +68,7 @@
- `display_name`
- `protocol`
- `status`
- `security_level`
- `current_draft_version`
- `latest_published_version`
- `created_at`
@@ -196,6 +200,59 @@
- `unique (workspace_id, name)`
### `agent_keys`
- `id`
- `workspace_id`
- `agent_id`
- `name`
- `prefix`
- `secret_hash`
- `scopes_json`
- `status`
- `expires_at`
- `created_at`
- `last_used_at`
Ограничения:
- `unique (agent_id, name)`
- `prefix` уникален глобально
Назначение:
- длинноживущий ключ принадлежит одному агенту;
- ключ используется как исходное основание для выпуска короткоживущего токена;
- прямой вызов MCP по такому ключу допускается только в переходном режиме.
### `issued_agent_tokens`
- `id`
- `workspace_id`
- `agent_id`
- `agent_key_id`
- `token_kind`
- `status`
- `scopes_json`
- `max_uses`
- `used_count`
- `cnf_jkt`
- `expires_at`
- `created_at`
- `used_at`
Индексы:
- `(agent_id, status, expires_at)`
- `(workspace_id, status, expires_at)`
- `(cnf_jkt)` при включенной привязке токена к ключевой паре клиента
Назначение:
- учет выданных короткоживущих токенов;
- поддержка одноразовых токенов;
- поддержка отзыва и проверки повторного использования.
### `stream_sessions`
- `id`
@@ -336,20 +393,38 @@
- `published_at`
- `published_by`
## 9. Platform access and observability
## 9. Machine access and observability
### `platform_api_keys`
### `agent_keys`
- `id`
- `workspace_id`
- `agent_id`
- `name`
- `prefix`
- `secret_hash`
- `scopes_json`
- `status`
- `expires_at`
- `created_at`
- `last_used_at`
### `issued_agent_tokens`
- `id`
- `workspace_id`
- `agent_id`
- `agent_key_id`
- `token_kind`
- `status`
- `scopes_json`
- `max_uses`
- `used_count`
- `cnf_jkt`
- `expires_at`
- `created_at`
- `used_at`
### `invocation_logs`
- `id`
@@ -397,6 +472,6 @@
3. добавить `secrets` и `secret_versions`;
4. перевести `auth_profiles` на secret-backed config;
5. добавить `agents` и `published_agents`;
6. внедрить `platform_api_keys`;
6. внедрить `agent_keys`, `platform_client_credentials` и `issued_agent_tokens`;
7. добавить `invocation_logs` и `usage_rollups`;
8. перевести MCP runtime на `published_agents`, а не на глобальный список operations.