Security и policies
Authentication, authorization, scopes, throttling и обязательные gateway policies.
Security и policies
Security настраивается на уровне API и отдельных operations. Конкретная схема зависит от типа Consumer, окружения и чувствительности операции.
Authentication и authorization
Проектные материалы рассматривают Basic Authentication, API keys, OAuth 2.0 и внешний Key Manager. До утверждения единой целевой схемы API обязан явно документировать применяемый механизм.
Basic Auth требует scopes
В WSO2 успешная Basic-аутентификация может обходить обычную application subscription validation. Защищённые resources должны иметь корректно связанные scopes и roles; одной возможности login недостаточно для авторизации бизнес-операции.
Scopes
- Определите бизнес-разрешения (
payments:read,payments:write). - Свяжите scope с разрешёнными roles.
- Привяжите scope к конкретным resources.
- Проверьте позитивный и негативный сценарии.
- Убедитесь, что Consumer не получает лишние operations через общий Product.
Gateway policies
Минимальный набор:
- определение доверенного
X-Consumer-ID; - приём или генерация
X-External-Request-ID; - приём или генерация валидного
traceparent; - проверка
Idempotency-Key, если он обязателен контрактом; - schema и threat protection для payload;
- rate limiting и burst control;
- безопасное логирование без credentials и чувствительных данных.
Иерархия ограничений
Policies могут применяться глобально, на уровне API, operation, subscription и application. Более локальное правило не должно случайно ослаблять обязательный глобальный security baseline.
TLS и mTLS
Для API укажите:
- server-side TLS requirements;
- нужен ли client certificate;
- допустимые CA и certificate format;
- процесс ротации;
- поведение при истёкшем или отозванном сертификате.
Если mTLS не требуется, это фиксируется явно: Server-side TLS only.
Security tests
- отсутствующие и неверные credentials;
- истёкший или отозванный token/key;
- пользователь без требуемого scope;
- доступ к незаявленному resource;
- malformed payload и oversized request;
- rate limit exceeded;
- повтор idempotent request;
- отсутствие чувствительных данных в logs и errors.