docs: align agent auth model and fix session test
This commit is contained in:
+20
-7
@@ -98,16 +98,29 @@
|
||||
|
||||
## 7.1. MCP authentication
|
||||
|
||||
`mcp-server` использует workspace-scoped `platform API keys` как machine credentials.
|
||||
Целевая модель машинной аутентификации для `mcp-server` строится вокруг AI-агента, а не вокруг рабочей области целиком. При этом допустимый способ вызова определяется не только агентом, но и уровнем защиты самой операции.
|
||||
|
||||
Контракт:
|
||||
|
||||
- клиент передает `Authorization: Bearer crk_...`;
|
||||
- ключ должен принадлежать workspace из path;
|
||||
- `read` разрешает `initialize`, `notifications/initialized`, `ping`, `tools/list`;
|
||||
- `write` разрешает `tools/call`;
|
||||
- `deploy` сейчас включает те же MCP права, что и `write`, и зарезервирован для deploy-scoped automation;
|
||||
- успешная аутентификация обновляет `platform_api_keys.last_used_at`.
|
||||
- каждому published agent соответствует собственный длинноживущий `agent key`;
|
||||
- `agent key` принадлежит одновременно `workspace` и `agent`;
|
||||
- в редакции `Community` вызовы допускаются по статическому `agent key`;
|
||||
- в управляемой платформе для операций уровня `elevated` должен использоваться короткоживущий токен;
|
||||
- в редакции `Enterprise` для операций уровня `strict` должен использоваться одноразовый токен;
|
||||
- операция задает обязательный `security_level`, и `mcp-server` обязан отклонять вызов, если представленный credential слабее требуемого уровня;
|
||||
- детальная модель уровней зафиксирована в `docs/agent-auth-model.md`.
|
||||
|
||||
Уровни защиты операции:
|
||||
|
||||
- `standard`
|
||||
- `elevated`
|
||||
- `strict`
|
||||
|
||||
Правило применения:
|
||||
|
||||
- `standard` допускает статический ключ агента, короткоживущий токен и одноразовый токен;
|
||||
- `elevated` допускает короткоживущий токен и одноразовый токен;
|
||||
- `strict` допускает только одноразовый токен.
|
||||
|
||||
## 8. MCP lifecycle
|
||||
|
||||
|
||||
Reference in New Issue
Block a user