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
+34 -15
View File
@@ -2,7 +2,7 @@
## 1. Назначение документа
Этот документ фиксирует целевые HTTP-контракты административного API, через которое UI управляет workspace, operations, agents, platform access и observability.
Этот документ фиксирует целевые HTTP-контракты административного API, через которое UI управляет workspace, operations, agents, machine access и observability.
Для потоковой модели детальные HTTP DTO вынесены отдельно в:
@@ -33,7 +33,7 @@
- `secrets`
- `auth-profiles`
- `agents`
- `platform-api-keys`
- `agent-keys`
- `logs`
- `usage`
- `samples`
@@ -110,6 +110,12 @@
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}/export`
- `POST /api/admin/workspaces/{workspace_id}/operations/import`
Контракт дополнительно включает:
- у операции задается обязательный `security_level`;
- допустимые значения: `standard`, `elevated`, `strict`;
- этот параметр определяет минимально допустимый режим машинного доступа при вызове через MCP.
### 5.4. Samples and descriptors
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/samples/input-json`
@@ -169,20 +175,32 @@
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/archive`
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/bindings`
- `DELETE /api/admin/workspaces/{workspace_id}/agents/{agent_id}/bindings/{operation_id}`
### 5.7. Platform API keys
- `GET /api/admin/workspaces/{workspace_id}/platform-api-keys`
- `POST /api/admin/workspaces/{workspace_id}/platform-api-keys`
- `POST /api/admin/workspaces/{workspace_id}/platform-api-keys/{key_id}/revoke`
- `DELETE /api/admin/workspaces/{workspace_id}/platform-api-keys/{key_id}`
- `GET /api/admin/workspaces/{workspace_id}/agents/{agent_id}/keys`
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/keys`
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/keys/{key_id}/revoke`
- `DELETE /api/admin/workspaces/{workspace_id}/agents/{agent_id}/keys/{key_id}`
Контракт:
- `POST /platform-api-keys` возвращает metadata ключа и одноразовый `secret`;
- `secret` доступен только в create-response;
- list endpoints возвращают только metadata, `prefix`, `status`, `scopes` и `last_used_at`.
- `last_used_at` обновляется при успешной machine-auth аутентификации этим ключом в `mcp-server`.
- `POST /agents/{agent_id}/keys` возвращает metadata ключа и одноразовый `secret`;
- полное значение ключа доступно только в create-response;
- list endpoints возвращают только metadata, `prefix`, `status`, `scopes`, `expires_at` и `last_used_at`;
- ключ агента принадлежит одному `agent` и не должен использоваться как основной рабочий токен вызова в целевой защищенной схеме;
- ключ агента используется для получения короткоживущего токена доступа к MCP endpoint.
### 5.7. Token issuance
Для расширенных редакций платформы:
- `POST /mcp-auth/v1/token`
- `POST /mcp-auth/v1/token/one-time`
Контракт:
- `POST /mcp-auth/v1/token` выдает короткоживущий токен доступа для операций уровня `elevated`;
- `POST /mcp-auth/v1/token/one-time` выдает одноразовый токен для операций уровня `strict`;
- открытая редакция может не использовать эти конечные точки и работать только со статическим ключом агента;
- детальная схема уровней и режимов доступа зафиксирована в `docs/agent-auth-model.md`.
### 5.8. Observability
@@ -245,8 +263,9 @@
Нужны:
- list/create/revoke/delete platform API keys;
- one-time reveal значения ключа при создании.
- list/create/revoke/delete agent keys;
- one-time reveal значения ключа при создании;
- для расширенных редакций — выдача короткоживущих и одноразовых токенов.
### Secrets