yandexyandex
Калькулятор ценEvolution Free TierТарифыАкцииДокументацияО насПартнерство с Cloud.ruБезопасностьТехническая поддержкаИнвесторамОбучение и сертификацияМероприятияБлогКарьера в Cloud.ruКейсыEvolutionAdvancedEvolution StackОблако VMwareВ чем отличия платформ?ВойтиЗарегистрироватьсяГига-помощникРешенияРазработка и тестирование в облакеИнфраструктура для 1С в облакеIT‑инфраструктура в облакеОблако для КИИОблако для мобильных и веб‑приложений3D-моделирование и рендерингEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Evolution Bare MetalEvolution MigrationEvolution SSH KeysEvolution VPNEvolution DNSEvolution VPCEvolution Load BalancerEvolution Disaster RecoveryEvolution Agent BackupEvolution DiskEvolution Container AppsEvolution Container SecurityEvolution Artifact RegistryEvolution Managed KafkaEvolution Managed RedisEvolution Managed ClickHouseEvolution Managed OpenSearchEvolution API GatewayEvolution RepoEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkEvolution Managed MetastoreEvolution AI AgentsEvolution ML InferenceEvolution Foundation ModelsEvolution Managed RAGEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSАренда GPUDirect ConnectCDNCloud AdvisorCross-platform connectionAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLAdvanced Image Management ServiceAdvanced Auto ScalingAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОДVMware: резервное копирование виртуальных машинУдаленные рабочие столы (VDI)VMware: виртуальный ЦОД с GPUVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Связаться с нами

Защита эндпоинтов базовой аутентификацией со списками разрешенных и заблокированных пользователей

Обеспечить разграничение прав доступа к служебным интерфейсам управления и партнерским API, размещенным в публичной облачной инфраструктуре

Образование

 

Задача

Необходимо исключить неавторизованные сетевые запросы на внешнем периметре шлюза, а также реализовать селективный доступ на базе стандартного протокола HTTP Basic Authentication с поддержкой списков разрешенных учетных записей (allowlist) и оперативной блокировки скомпрометированных пользователей (denylist)

Решение

Пользовательские запросы поступают на Evolution API Gateway и содержат авторизационный заголовок Authorization: Basic <credentials>. Шлюз осуществляет синтаксическую валидацию данных и проверяет наличие учетной записи в корпоративной базе шлюза.

Инфографика
Подключенные сервисы:

Бизнес-цель

Обеспечить разграничение прав доступа к служебным интерфейсам управления и партнерским API, размещенным в публичной облачной инфраструктуре. Необходимо исключить неавторизованные сетевые запросы на внешнем периметре шлюза, а также реализовать селективный доступ на базе стандартного протокола HTTP Basic Authentication с поддержкой списков разрешенных учетных записей (allowlist) и оперативной блокировки скомпрометированных пользователей (denylist).

Архитектура решения

Пользовательские запросы поступают на Evolution API Gateway и содержат авторизационный заголовок Authorization: Basic <credentials>. Шлюз осуществляет синтаксическую валидацию данных и проверяет наличие учетной записи в корпоративной базе шлюза. Запросы без заголовка отклоняются с кодом 401 Unauthorized. При успешной проверке пароля проверяется членство в списках: учетные записи из черного списка блокируются со статусом 403 Forbidden, а запросы пользователей из белого списка пропускаются к целевому приложению.

Идентификатор пользователя
Наличие в реестре
Статус в политике списков
Результат шлюза
Анонимный запрос
Нет
Не применимо
401 Unauthorized [cite: 2]
audit_operator
Да (валидный пароль)
Включен в Denylist
403 Forbidden [cite: 7]
fintech_client
Да (валидный пароль)
Включен в Allowlist
200 OK (передача бэкенду)

Необходимые ресурсы

  • Развернутое приложение в Container Apps, выполняющее роль защищаемого сервиса.

  • Сервис Evolution API Gateway.

  • Утилита curl с поддержкой передачи авторизационных параметров.

Пошаговое выполнение

Шаг 1. Развертывание защищаемого сервиса в Container Apps

1. Создайте контейнерное приложение с названием finance-service.

2. Настройте выдачу ответа по пути /transactions:

3. Включите публичный эндпоинт и сохраните предоставленный URL сервиса.

Шаг 2. Конфигурирование базовой аутентификации и списков доступа на шлюзе

1. В консоли API Gateway создайте шлюз gw-security-demo с шаблоном Обратный прокси.

2. Создайте целевой бэкенд, указав адрес контейнера finance-service.

3. Создайте правило маршрутизации:

  • Путь: /transactions.

  • HTTP-метод: GET.

  • Целевой узел: finance-service.

4. В блоке Политики безопасности (Security Policies) активируйте модуль Basic Auth7:

  • Создайте пользователя №1: Логин fintech_client, Пароль SecretPass#2024!.

  • Создайте пользователя №2: Логин audit_operator, Пароль AuditKey#2024!.

5. Настройте правила списков пользователей (User Access Lists):

  • Включите ограничение пользователей по спискам.

  • Добавьте учетную запись audit_operator в Черный список (Denylist).

  • Добавьте учетную запись fintech_client в Белый список (Allowlist).

6. Опубликуйте обновленные правила.

Проверка корректности работы

1. Попытка неавторизованного обращения к API без предоставления учетных данных:

Ответ подтверждает блокировку на сетевом периметре:

2. Обращение от имени пользователя, внесенного в черный список:

Ответ шлюза:

3. Выполнение запроса доверенным пользователем из белого списка:

Ответ подтверждает беспрепятственный пропуск трафика к бэкенду:

Использование механизма базовой аутентификации на шлюзе полностью избавляет код микросервиса от необходимости разбора заголовков и хранения статических учетных записей.

P.S. Механизм Basic Auth со списками доступа является идеальным решением для изоляции внутренних контуров и технического периметра. Для высоконагруженных промышленных API этот же шлюзовой узел позволяет бесшовно перейти на бессерверную валидацию токенов Cloud IAM или авторизацию через корпоративный IdP компании (Keycloak/SSO) без переписывания бэкенд-сервисов.

Подключенные сервисы:
15 октября 2026