MWS Cloud (ex-MTS Cloud)
Интеграция через MWS Cloud Platform IAM (ES256 JWT).
Обзор
MWS Cloud Platform (ранее MTS Cloud / CloudMTS) — собственная облачная
платформа МТС, работающая на api.mwsapis.ru.
Коннектор использует IAM-авторизацию с JWT-токенами (ES256)
через сервисный аккаунт или долгоживущий IAM-токен.
Что поддерживается
| Возможность | Статус | Описание |
|---|---|---|
| Кластеры | ✓ | MWS Managed Kubernetes — обнаружение и аудит кластеров |
| Инвентори | ✓ | Виртуальные машины, диски, сети, подсети, внешние IP |
| Биллинг | частично | Best-effort — Billing API MWS пока в стадии развития |
| Kubeconfig | ✓ | Через API или fallback (ручная вставка) |
Необходимые права
Для подключения необходим сервисный аккаунт с ролью
viewer (или admin) на проекте MWS Cloud.
Также необходимо включить сервисы compute, vpc и mk8s
для проекта.
В MWS Cloud сервисы (compute, vpc, mk8s) нужно явно активировать для проекта. Это можно сделать через консоль или API Resource Manager.
Пошаговая инструкция
1. Создайте сервисный аккаунт
Перейдите в консоль MWS Cloud (mws.ru) → IAM → Сервисные аккаунты → +Создать.
Назначьте роль viewer или admin на ваш проект.
2. Создайте авторизованный ключ
На странице сервисного аккаунта перейдите на вкладку Ключи доступа → +Создать → Авторизованный ключ.
Скачайте JSON-файл ключа. Он содержит:
{
"keyId": "projects/.../serviceAccounts/.../authorizedKeys/...",
"privateKey": "base64-encoded ECDSA P-256 private key",
"publicKey": "base64-encoded public key",
"algorithm": "ES256"
}
3. Активируйте сервисы
Убедитесь, что для проекта включены сервисы compute,
vpc и mk8s. Это можно проверить в консоли
или через API Resource Manager.
4. Добавьте коннектор в Oopps.ai
Перейдите в Oopps.ai → Коннекторы → Добавить коннектор → MWS Cloud.
Выберите способ авторизации SA Key (JSON), вставьте содержимое скачанного JSON-файла ключа, укажите имя проекта и нажмите "Проверить подключение".
Поля формы
| Поле | Обязательное | Описание |
|---|---|---|
auth_method |
Да | Способ авторизации: sa_key (рекомендуется) или iam_token |
project |
Да | Имя проекта в MWS Cloud (текстовый идентификатор, не UUID) |
sa_key_json |
Да* | JSON авторизованного ключа сервисного аккаунта (при auth_method=sa_key) |
iam_token |
Да* | Долгоживущий IAM-токен (при auth_method=iam_token) |
api_base_url |
Нет | Базовый URL service discovery. По умолчанию https://api.mwsapis.ru |
kubeconfig_raw |
Нет | Kubeconfig YAML для fallback |
kubeconfig_by_cluster |
Нет | JSON-карта {"cluster_name": "kubeconfig_yaml"} |
Возможные проблемы
| Симптом | Причина | Решение |
|---|---|---|
Ошибка UNAUTHENTICATED |
Неверный SA Key или истёк IAM-токен | Проверьте JSON ключа или обновите IAM-токен |
PERMISSION_DENIED: project not exists |
Сервис не активирован для проекта | Включите compute/vpc/mk8s через консоль или API Resource Manager |
PERMISSION_DENIED: Not authorized |
У SA нет нужной роли | Назначьте роль viewer или admin на проект |
| Биллинг пуст | Billing API MWS пока в стадии развития | Это ожидаемое поведение, данные появятся по мере развития API |
| Нет кластеров | Нет Managed Kubernetes в проекте | Создайте кластер MK8S в консоли MWS Cloud |
Ограничения
- Billing API в стадии развития. MWS Cloud пока не предоставляет публичный Billing API с гранулярными данными. Поддержка будет расширяться.
- Коннектор работает с MWS Managed Kubernetes. Self-managed кластеры не обнаруживаются автоматически.
- Сервисы нужно активировать явно для каждого проекта (compute, vpc, mk8s) — иначе API вернёт 403.
- При использовании IAM-токена (а не SA Key) токен имеет ограниченный срок действия и требует ручного обновления.
Рекомендуется использовать SA Key (JSON) вместо IAM-токена — Oopps.ai автоматически обновляет access token при каждом запросе.