HISTORY: v0.1.28 + проблема gateway 401 с датацентровых IP
This commit is contained in:
@@ -200,3 +200,35 @@ digest `sha256:b4d1dccda75a67e1a5db3887576e1112993d6485504e683d0fa82a2374bca99b`
|
||||
email из JWT детерминированно задаёт TenantID/AccessKey/SecretKey; рандома нет;
|
||||
ключи на экране не светятся — только по кнопке в модалке с подсказкой;
|
||||
`POST /ui/api/auth` перестаёт отдавать ключи; новый `GET /ui/api/credentials` под JWT-сессией.
|
||||
|
||||
---
|
||||
|
||||
## v0.1.28 — email-идентичность, детерминированные креды, credentials-эндпоинт (14.08.2026)
|
||||
|
||||
**Что сделано**:
|
||||
1. `app/tenant/tenant_store.go`: индекс `bySub` → `byEmail`; `GetByEmail` вместо `GetBySub`;
|
||||
`CreateFromJWT(sub, email, maxQueues)` — ID/AccessKey/SecretKey детерминированы из email
|
||||
(SHA256, соль `shared-sqs:secret-key:v1` для секрета). Рандом остался только для manual-тенантов.
|
||||
Легаси-тенант (старые ключи/ID) при входе полностью пересчитывается: старые индексы
|
||||
и Redis-запись удаляются под мьютексом.
|
||||
2. `app/auth/jwt.go`: `TenantIDFromSub` (sless) УДАЛЁН — связей с внешними сервисами больше нет.
|
||||
3. `app/admin/admin.go`: `jwtAuth` требует email (400 без него), НЕ возвращает access/secret key;
|
||||
новый `GET /ui/api/credentials` отдаёт ключи под JWT-сессией; jwtMiddleware по email.
|
||||
4. `app/ui/index.html`: Access Key убран из таблицы и карточки тенанта; кнопки «Credentials»
|
||||
(дашборд + тенант) открывают модалку с ключами и подсказкой (зачем ключи, export-команды,
|
||||
пример aws cli). Логин-страница: образ v0.1.28.
|
||||
5. `Makefile`: VERSION=v0.1.28.
|
||||
|
||||
**Проверки**: build OK, vet OK, тесты admin/models OK. Локально через мок-gateway:
|
||||
auth без ключей ✓, credentials отдаёт ключи ✓, без токена 401 ✓. Хеши сверены с python:
|
||||
tenant_id `t-fec713a719ad0b33`, AK `SSAK-fec713a719ad0b33c91fa54a`, SK `e898ed410a…`.
|
||||
|
||||
**Деплой**: образ v0.1.28 digest `sha256:c6b63f4c…`, поставлен по digest
|
||||
(`set image … app=naeel/shared-sqs@sha256:c6b63f4c…`), под `containerk8s-86df69bfb-drv9x` Ready.
|
||||
`/health` на проде → `{"status":"ok","version":"v0.1.28"}`.
|
||||
|
||||
**⚠ ПРОБЛЕМА (не наш код)**: TEST-gateway теперь отдаёт 401 на запросы с датацентровых IP
|
||||
(кластер iot-naeel И ВМ 5.172.178.213) — с рабочей станции тот же токен даёт 200.
|
||||
Ранее (~09:00) под успешно валидировался. Похоже на rate-limit/бан DDoS-Guard по egress-IP
|
||||
платформы после сегодняшних частых запросов. Вход в UI будет 403, пока шлюз не отпустит.
|
||||
SQS API, /health, /, /metrics не затронуты.
|
||||
|
||||
Reference in New Issue
Block a user