Диагностика интеграции с Яндекс Облаком¶
Эта страница предназначена для ситуаций, когда интеграция уже настроена полностью или частично, но одна из функций не работает.
Главное правило диагностики:
Не повышайте роли и не пересоздавайте всё подряд, пока не определили слой, на котором возникла ошибка.
Интеграция состоит из нескольких независимых частей:
ИИ Студия
↓
NiceSoft Gateway
↓
authorized key
↓
IAM-token
↓
Working Folder / Billing Account / AI Studio Folder
↓
конкретный Yandex Cloud API
Ошибка на одном уровне не означает поломку всех остальных.
Быстрый алгоритм¶
Если нужно начать прямо сейчас:
1. Откройте Интеграция с YC.
2. Проверьте наличие authorized key.
3. Выполните ./nicesoft.sh yc-doctor.
4. Проверьте IAM auth available.
5. Проверьте paired Folder.
6. Определите, какой именно сервис не работает.
7. Проверьте роль именно в нужной области доступа.
8. Повторите один минимальный тест.
9. Зафиксируйте request-id при 4xx/5xx.
1. Сначала определите симптом¶
Не начинайте с логов, пока не можете сформулировать проблему одной строкой.
Хорошие формулировки:
Плохая формулировка:
2. Разделите интеграцию на независимые контуры¶
Проверяйте отдельно:
| Контур | Основной область доступа | Типичная зависимость |
|---|---|---|
| Инфраструктура | рабочий каталог | роль IAM только для чтения |
| Документация | внешний официальный сервис | привязка может не требоваться |
| Поиск Яндекса | отдельный внешний сервис | service permission/configuration |
| FinOps | платёжный аккаунт + область рабочего каталога пользователя | billing.accounts.viewer |
| Yandex AI | каталог AI Studio | ai.languageModels.user |
То, что один контур работает, не доказывает состояние другого.
3. Главный инструмент: yc-doctor¶
На хосте Студии выполните:
Команда должна показать безопасную диагностику без раскрытия закрытый ключ и IAM-token.
Типовые поля:
YC Gateway: <version>
Access mode: locked
Источник учётных данных: authorized_key
IAM auth available: YES/NO
Authorized key file: present / readable
Folder configured: YES/NO
Cloud configured: YES/NO
Дополнительно проверяется доступ к внешний сервис-сервисам Яндекс Облака и состояние привязка.
4. Как читать yc-doctor¶
Источник учётных данных: authorized_key¶
Нормальное состояние для текущего профиля.
Authorized key file: present / readable¶
Файл существует и процесс шлюз способен его прочитать.
Это ещё не доказывает, что ключ действующий.
IAM auth available: YES¶
Шлюз успешно смог получить IAM учётные данные.
Это сильный признак того, что:
- JSON валиден;
- закрытый ключ подходит;
- служебная учётная запись существует;
- ключ не отозван;
- адрес IAM доступен.
Folder configured: NO¶
Учётные данные есть, но рабочая область ещё не выбрана.
Это не ошибка IAM.
5. Состояние: ключ есть, каталог не выбран¶
Пример логического состояния:
Источник учётных данных: authorized_key
IAM auth available: YES
Authorized key file: present / readable
Folder configured: NO
Cloud configured: NO
Это означает:
Исправление¶
Откройте:
Интеграция с YC → Подключение YC.
Введите идентификатор каталога.
идентификатор облака можно оставить пустым, если интерфейс позволяет определить его автоматически.
Нажмите:
Проверить указанные ID и подключить.
После этого повторите:
6. Ключ не загружен¶
Симптом:
или интерфейс сообщает, что учётные данные не настроен.
Проверьте:
- был ли JSON действительно загружен;
- не удалялся ли шлюз state;
- не выполнялось ли восстановление из неполного backup;
- не сменился ли volume/path;
- доступен ли файл процессу.
Не вставляйте закрытый ключ вручную в .env, если штатная процедура Студии использует загрузку JSON авторизованного ключа.
7. JSON не принимается¶
Возможные причины:
- загружен не авторизованный ключ;
- файл повреждён;
- отсутствует закрытый ключ;
- используется неверный формат;
- ключ относится не к служебной учётной записи;
- повреждены переносы PEM;
- файл был вручную отредактирован.
Создайте новый авторизованный ключ штатным способом и скачайте JSON заново.
Не пытайтесь «починить» закрытый ключ текстовым редактором.
8. IAM auth недоступна¶
Симптом:
Проверяйте последовательно.
Шаг 1. Файл ключа¶
Файл присутствует и readable?
Шаг 2. Служебная учётная запись¶
Служебная учётная запись существует?
Не был ли он удалён?
Шаг 3. Объект ключа¶
Не был ли авторизованный ключ удалён в IAM?
Шаг 4. Время сервера¶
JWT чувствителен ко времени.
Проверьте системное время и NTP.
Шаг 5. DNS/HTTPS¶
Host должен иметь исходящий HTTPS-доступ к IAM API Яндекс Облака.
Шаг 6. Proxy/firewall¶
Проверьте корпоративный proxy, firewall и TLS inspection.
9. Ключ удалён в Яндекс Облаке¶
Локальный JSON может продолжать существовать, но соответствующий идентификатор ключа уже отозван.
Симптом:
Создайте новый авторизованный ключ, загрузите его и повторите проверку.
Удаление старого ключа — правильный способ отзыва утекшего учётные данные.
10. идентификатор каталога неверный¶
Симптомы:
- привязка не проходит;
- каталог not found;
- 404;
- permission denied при проверке;
- идентификатор облака не совпадает.
Проверьте идентификатор каталога в консоли Яндекс Облака.
Не используйте:
- имя каталога вместо ID;
- идентификатор облака вместо идентификатор каталога;
- ID из другой организации;
- пробелы/кавычки из скопированного текста.
11. идентификатор облака и идентификатор каталога не совпадают¶
Если вы вручную указали оба значения, возможна ошибка:
Лучший способ диагностики:
- подтвердите идентификатор каталога;
- получите облако из самого каталог;
- не подставляйте идентификатор облака по памяти.
В типовом сценарии облако определяется сервером из проверенного каталог.
12. Привязка прошёл, но ресурсов нет¶
Не делайте сразу вывод, что integration broken.
Возможные причины:
- в подключённый рабочий каталог действительно нет таких ресурсов;
- ресурс находится в другом каталог;
- служебная учётная запись не имеет роли нужного сервиса;
- запрос модели слишком общий;
- выбран не тот сервис Студии;
- фильтр запроса исключил результат;
- внешний сервис API вернул пустой список.
Начните с конкретного запроса:
13. ВМ видны не все¶
Проверьте, не распределена ли инфраструктура по нескольким каталог.
Например:
При привязка только prod-app нормальным результатом может быть отсутствие ресурсов из prod-db.
Студия не должна автоматически расширять область доступа на соседние каталог.
14. Compute работает, VPC не работает¶
Это часто IAM, а не шлюз.
Проверьте роль:
или более широкую разрешённую роль только для чтения на рабочий каталог.
Если используется granular profile, работоспособность Compute не доказывает наличие VPC permissions.
15. VPC работает, Object Storage недоступен¶
Определите, какой уровень нужен.
Для конфигурации:
Для чтения содержимого:
Не выдавайте storage.viewer просто для устранения ошибки, если содержимое бакетов пользователю не должно быть доступно.
16. Ресурс виден в консоли администратора, но не виден Студии¶
Ваша личная учётная запись и служебная учётная запись Студии — разные субъекты IAM.
То, что администратор видит ресурс в браузере, не означает, что его видит служебная учётная запись.
Проверяйте назначения ролей именно для:
17. Роль есть, но всё равно 403¶
Проверьте пять вещей:
Особенно важно: access policy Organization/облако/каталог может блокировать операцию, даже если роль permission существует.
18. Не исправляйте 403 через admin¶
Если 403 исчез после выдачи admin, это не означает, что admin был нужен.
Вы могли просто скрыть:
- неверный область доступа;
- неправильный каталог;
- недостающую сервисная роль;
- access policy;
- ошибку платёжный аккаунт;
- AI Studio роль на другом каталог.
Верните минимальные права и найдите конкретное missing permission.
19. Документация Яндекс Облака не работает¶
Сервис официальной документации логически отделён от вашего рабочего каталога.
Поэтому ситуация:
нормальна.
И наоборот, если инфраструктура работает, а документация нет, это не обязательно IAM служебная учётная запись.
Проверьте:
- сеть;
- доступ шлюз к официальному сервису документации;
- DNS;
- timeout;
- доступность самого внешнего сервиса.
20. Yandex Search не работает¶
Это отдельный внешний контур.
Проверьте:
- включён ли сервис;
- есть ли необходимые cloud permissions/configuration;
- исходящий HTTPS;
- идентификатор запроса ошибки;
- ограничения аккаунта/квоты.
Не путайте его с локальным интернет-поиском Студии через SearXNG.
Это две разные поисковые функции.
21. Billing: 403 PERMISSION_DENIED¶
Самая частая причина — отсутствует:
на нужном платёжный аккаунт.
Проверьте, что роль назначена:
- именно служебная учётная запись Студии;
- именно на платёжный аккаунт;
- именно того облака, расходы которого анализируются.
22. Billing роль назначена на каталог¶
Это типичная ошибка.
Симптом:
Потому что:
и:
решают разные задачи.
23. Billing показывает 0¶
Ноль не всегда ошибка.
Проверьте:
- выбранный период;
- подключённый рабочий каталог;
- есть ли billable usage;
- правильный платёжный аккаунт;
- применённые credits;
- задержку формирования usage;
- валюту/единицу;
- фильтры.
Запросите детализацию по сервисам.
Если все значения сервисов равны нулю, сравните с официальным Billing интерфейс за тот же период и область доступа.
24. cost и expense не совпадают¶
Это нормально.
Упрощённо:
cost = стоимость до credits/discounts
credits = применённые скидки/компенсации
expense = сумма после них
Не диагностируйте разницу как ошибку до проверки этих полей.
25. Сумма в Студии отличается от закрывающих документов¶
Usage API может содержать предварительные данные.
Также проверьте:
- одинаковый ли период;
- timezone;
- тот же платёжный аккаунт;
- тот же каталог filter;
- cost или expense сравнивается;
- credits;
- поздние корректировки.
Для бухгалтерской финализации источником истины являются официальные закрывающие документы Billing, а не прогноз FinOps.
26. Billing показывает старые данные¶
NiceSoft FinOps намеренно использует cache.
Типовые TTL текущего профиля:
Поэтому повторный вопрос через несколько секунд может использовать тот же snapshot.
Это оптимизация, а не обязательно сбой.
27. Когда подозревать cache проблему¶
Подозревайте cache, если:
- официальные данные заметно изменились;
- прошло больше ожидаемого TTL;
- Студия продолжает возвращать старый snapshot;
- timestamp snapshot не обновляется;
- FinOps health показывает ошибку refresh.
Тогда проверьте FinOps service health и шлюз logs.
28. Billing drill-down не показывает ресурс¶
Возможные причины:
- расход агрегирован на уровне SKU без resource ID;
- конкретный сервис не отдаёт ожидаемую ресурсную детализацию;
- выбран короткий период без usage;
- cache ещё не обновлён;
- фильтр подключённого рабочего каталога исключает ресурс;
- resource был удалён, а usage относится к прошлому периоду.
Не заставляйте модель придумывать resource attribution при отсутствии данных.
29. Labels дают странную группировку¶
Labels полезны для cost allocation, но качество результата зависит от дисциплины labels в самой инфраструктуре.
Проверьте:
- одинаково ли написаны ключи;
- нет ли
team,Team,team_nameкак трёх разных схем; - не изменялся ли label в течение периода;
- есть ли label на всех ресурсах.
FinOps не может восстановить отсутствующую метку задним числом.
30. Forecast выглядит слишком высоким или низким¶
Forecast — производный показатель, а не счёт.
Проверьте:
- сколько дней периода уже прошло;
- не было ли одноразового всплеска;
- не запускалась ли нагрузка только на несколько дней;
- есть ли сезонность;
- не применятся ли будущие credits;
- какой snapshot использован.
Для нерегулярных нагрузок линейный прогноз может быть плохо применим.
31. Advisor советует оптимизацию без достаточных данных¶
Правильный FinOps Advisor должен быть evidence-first.
Если причина не подтверждена snapshot, попросите:
Покажи факты, на которых основана рекомендация.
Для каждого вывода укажи service, SKU/resource, период и величину.
Если данных недостаточно — прямо отметь это.
Если доказательств нет, рекомендацию нельзя считать установленным фактом.
32. Yandex AI: 403¶
Это отдельная ветка диагностики.
Проверьте:
на каталог AI Studio.
Не на платёжный аккаунт.
Не обязательно на рабочий каталог.
Не на объект служебной учётной записи как область доступа ресурса.
33. Как узнать каталог AI Studio¶
Откройте:
Модели → Yandex AI.
Студия показывает фактически определённый каталог AI Studio для подключённой служебной учётной записи.
Используйте именно этот ID при проверке роли.
34. Роль выдана на неправильный каталог¶
Очень типичный сценарий:
Working Folder = folder-prod
AI Studio Folder = folder-ai
ai.languageModels.user выдан на folder-prod
Результат:
Исправление:
35. Нажмите «Проверить доступ»¶
После изменения роли не пытайтесь сразу диагностировать сложный чат.
Откройте Модели → Yandex AI и нажмите:
Проверить доступ.
Сначала должна пройти минимальная проверка доступности модельного API.
Только после этого активируйте managed model.
36. Yandex AI доступ есть, но нужная модель отсутствует¶
Студия использует проверенный список и проверяет фактическую доступность модели для каталога.
Возможные причины:
- модель недоступна в текущем регионе/профиле;
- модель изменила lifecycle;
- ваш каталог не имеет доступа;
- модель не входит в текущий curated catalog Студии;
- API Яндекса временно не возвращает её.
Не подставляйте произвольный model ID вручную в шлюз.
37. Yandex AI активирован, но ответ всё ещё local¶
Проверьте:
- действительно ли ADMIN активировал модель;
- завершилась ли операция успешно;
- создаёте ли вы новый чат;
- какой model badge отображается у ответа;
- не было ли возврата к local после административного переключения.
Старый ответ не меняет свою атрибуцию после переключения модели.
38. Local модель сломалась, но Yandex AI не включился автоматически¶
Это правильное поведение.
Студия не должна silently fail over из локального приватного режима во внешний managed поставщик.
Если local недоступен:
- исправьте локальную среду выполнения;
- активируйте другую уже установленную local модель;
- или ADMIN явно выберет Yandex AI.
39. x-data-logging-enabled: false и диагностика¶
Шлюз по текущей политике отключает на стороне сервера данные запроса logging для Yandex AI.
Поэтому при обращении в поддержку может быть меньше содержательных данных для анализа запроса.
Используйте:
x-request-id;x-server-trace-id;- время;
- model ID;
- HTTP status;
- безопасное описание симптома.
Не включайте логирование чувствительного запрос только ради удобства диагностики без отдельного решения организации.
40. Где найти идентификатор запроса¶
При ошибке интерфейс или шлюз может показать диагностический идентификатор запроса.
Сохраните его до повторного запуска, если проблема воспроизводится не всегда.
Для Yandex AI особенно полезны:
Эти значения можно приложить к обращению в поддержку Яндекс Облака.
41. 401 Unauthorized¶
401 обычно указывает на проблему аутентификации, а не нехватку роли.
Проверяйте:
key существует?
key действующий?
JWT сформирован?
IAM token получен?
token не истёк?
запрос содержит нужный Authorization?
Начните с yc-doctor.
Если IAM auth available: NO, сначала исправьте учётные данные chain.
42. 403 Forbidden¶
403 чаще означает:
Проверяйте:
- роль;
- область доступа;
- унаследованные роли;
- access policy;
- NiceSoft user policy;
- подключённый рабочий каталог;
- платёжный аккаунт;
- каталог AI Studio.
43. 404 Not Found¶
Возможные причины:
- неправильный resource ID;
- ресурс удалён;
- адрес сервиса изменился;
- resource находится в другом каталог;
- сервис скрывает недоступный объект как not found.
Сначала подтвердите ID через официальную консоль и проверенный запрос списка.
44. 429 Too Many Requests¶
Это ограничение частоты или квоты.
Не лечите его повышением IAM роль.
Проверьте:
- частоту повторов;
- параллельные задания;
- плановые помощники;
- несколько пользователей;
- API quotas;
- FinOps cache.
Для Billing NiceSoft специально кэширует и ограничивает повторные обращения, чтобы не дергать внешний сервис на каждый вопрос.
45. Timeout¶
Timeout может возникать на любом внешнем этапе.
Проверьте:
Не увеличивайте timeout до бесконечности, пока не поняли причину.
46. DNS¶
На хосте проверьте резолвинг публичных адресов сервисов Яндекса.
Например:
Для AI Studio:
Если DNS не работает на host, application-level исправления не помогут.
47. Исходящий HTTPS¶
Интеграции нужны исходящие HTTPS-соединения к разрешённым сервисам Яндекс Облака.
В изолированной сети проверьте:
- egress firewall;
- proxy;
- DNS;
- TLS CA;
- маршрутизацию.
Не открывайте весь internet egress без необходимости — лучше использовать контролируемую сетевую policy.
48. TLS interception¶
Корпоративный proxy может подменять TLS-сертификаты.
Симптомы:
- certificate verify failed;
- unknown CA;
- HTTPS works in browser, fails in container.
Проверьте CA bundle внутри контейнерного контура.
Не отключайте TLS verification как постоянное решение рабочий-проблемы.
49. Студия работает из браузера, шлюз не выходит наружу¶
Browser connectivity и container egress — разные вещи.
Ваш ноутбук может открыть Яндекс Облако, а сервер Студии — нет.
Проверяйте сеть с хоста/контейнерного контура Студии.
50. Проверка состояния контейнеров¶
На сервере:
Убедитесь, что основные сервисы имеют ожидаемый status.
Особенно важен шлюз Яндекс Облако.
Для его журналов:
Перед передачей логов третьей стороне выполните redaction.
51. Какие строки искать в шлюз logs¶
Полезны:
- HTTP status;
- safe error code;
- внешний сервис service;
- область доступа ресурса;
- идентификатор запроса;
- duration;
- auth mode;
- привязка status.
Не копируйте в тикет целиком строки, если они содержат Authorization или пользовательские данные.
52. интерфейс показывает старое состояние¶
Возможны:
- browser cache;
- старый polling result;
- серверная часть cache;
- незавершённое переключение.
Сначала обновите страницу.
Затем сравните интерфейс с:
Серверная диагностика важнее визуального badge.
53. После ротации ключа всё перестало работать¶
Проверьте последовательность:
новый ключ создан
↓
JSON действительно загружен
↓
IAM auth YES
↓
pairing сохранён/восстановлен
↓
roles принадлежат тому же service account
Если новый ключ создан для другой служебной учётной записи, старые назначения ролей к ней не применяются.
54. Новый ключ создан для другой служебной учётной записи¶
Симптом:
Проверьте service_account_id нового JSON.
Если account другой, нужно назначить ему необходимые роли.
Не копируйте старые роли автоматически без ревизии.
55. Служебная учётная запись удалён¶
Авторизованный ключ для удалённого account больше не должен быть рабочими учётными данными.
Создайте новую служебную учётную запись, назначьте минимальные роли и новый ключ.
Используйте это как повод проверить, почему account был удалён и нет ли других систем, которые от него зависели.
56. Роль назначена недавно¶
IAM изменения могут распространяться не абсолютно мгновенно.
После назначения:
- подождите короткий интервал;
- повторите минимальную проверку;
- не создавайте десять дополнительных роли за минуту.
Иначе будет трудно понять, какое изменение реально помогло.
57. Диагностируйте один слой за раз¶
Плохая процедура:
После неё система, возможно, заработает, но причина останется неизвестной.
Правильная:
58. Минимальные контрольные запросы¶
Используйте простые reproducible запросы.
Infrastructure¶
VPC¶
IAM¶
Billing¶
Docs¶
Yandex AI¶
Используйте кнопку Проверить доступ, а затем короткий новый чат.
59. Не используйте сложный пользовательский запрос как проверка состояния¶
Запрос:
зависит сразу от множества сервисов.
Для диагностики он плох.
Сначала тестируйте атомарные возможности.
60. Проблема возникает только у одного пользователя¶
Если ADMIN работает, а USER нет:
подозревайте policy/RBAC Студии, а не служебная учётная запись IAM.
Проверьте:
- роль пользователя Студии;
- группы;
- разрешённые сервисы;
- пользовательский область доступа;
- Billing ограничения;
- настройки подтверждений.
61. Проблема возникает у всех пользователей¶
Если не работает даже ADMIN:
проверяйте общую инфраструктуру:
- шлюз health;
- авторизованный ключ;
- IAM;
- привязка;
- внешний сервис availability;
- сеть.
62. ADMIN видит больше Billing, чем USER¶
Это может быть ожидаемой политикой.
Обычный USER в текущем профиле принудительно связан с подключённым рабочим каталогом для расчёта использования.
Не считайте различие багом, пока не сверились с корпоративной policy.
63. Запрос требует подтверждения, хотя режим YC только для чтения разрешён¶
Возможные причины:
- выбран неизвестный инструмент;
- операция не классифицирована как системная операция чтения;
- после обновления появился новый метод;
- администратор изменил policy;
- модель выбрала не тот сервис.
Не отключайте подтверждение глобально для всех неизвестных действий.
Сначала проверьте, почему вызов не попал в разрешённую категорию операций только для чтения.
64. Студия отказывается изменять ресурс¶
Это не ошибка.
Например:
должны быть недоступны в профиле только для чтения.
Если ваша бизнес-задача требует изменений, это уже отдельный продуктовый/security сценарий, а не проблема текущей интеграции.
65. Документация говорит одно, API возвращает другое¶
Возможны:
- rollout новой версии;
- региональные различия;
- deprecation;
- permission differences;
- устаревший документ;
- устаревшая документация Студии.
Зафиксируйте:
И не заставляйте модель выбирать «правильную реальность» без доказательств.
66. Модель неправильно объяснила реальный API response¶
Разделяйте:
и:
Если результат операции содержит конкретный status/ID/amount, а текст ответа ему противоречит, доверяйте первичным данным и повторите запрос с просьбой:
67. Ответ утверждает, что ресурс изменён¶
В текущем контуре только для чтения такое утверждение подозрительно.
Проверьте:
- был ли вообще вызов операции;
- какой результат операции вернулся;
- не hallucination ли это;
- состояние ресурса в официальной консоли.
Не считайте текст модели подтверждением выполненной операции.
68. Порядок полной диагностики¶
Если проблема сложная, пройдите весь маршрут.
A. Studio UI открывается?
B. Gateway healthy?
C. Authorized key present?
D. IAM auth YES?
E. Folder paired?
F. Cloud согласован?
G. Минимальный infrastructure read работает?
H. Нужная service role существует?
I. Access policy не блокирует?
J. Billing role настроена отдельно?
K. AI Studio role настроена отдельно?
L. Network/DNS/TLS работают?
M. Есть request-id ошибки?
Не переходите к следующему уровню, пока предыдущий не подтверждён.
69. Безопасный пакет для обращения в поддержку¶
Подготовьте:
Версия ИИ Студии:
Дата/время и timezone:
Роль пользователя: USER/ADMIN
Симптом:
Сервис: Infrastructure/Billing/Docs/Yandex AI/другое
HTTP status:
Safe error code:
Working Folder ID:
Cloud ID:
Billing Account ID: <если релевантно>
AI Studio Folder ID: <если релевантно>
Service Account ID:
yc-doctor output:
x-request-id:
x-server-trace-id:
Последнее изменение конфигурации:
Не прикладывайте JSON авторизованного ключа.
70. Что обязательно удалить из диагностического пакета¶
Перед отправкой проверьте отсутствие:
private_key
IAM token
Authorization header
Gateway secret
пароли
секреты Lockbox
закрытые сертификаты
полные пользовательские документы
персональные данные без необходимости
71. Когда проблема требует обращения в Яндекс Облако¶
Это вероятно, если:
- IAM и область доступа проверены;
- запрос воспроизводится вне Студии с той же служебной учётной записью;
- внешний сервис возвращает стабильный 5xx;
- модель отсутствует при корректных правах;
- API ведёт себя не по актуальной документации;
- есть
x-request-id/x-server-trace-idдля воспроизведения.
Приложите идентификаторы запросов и минимальный безопасный сценарий.
72. Когда проблема вероятнее в Студии¶
Это вероятно, если:
- официальный API работает тем же учётные данные;
yc-doctorIAM показывает OK;- проблема возникает только через конкретный сервис Студии;
- USER/ADMIN ведут себя неожиданно относительно policy;
- область доступа подставляется неверно;
- интерфейс показывает несогласованное состояние;
- шлюз возвращает внутреннюю ошибку до запроса к внешнему сервису.
73. Когда проблема вероятнее в конфигурации заказчика¶
Это вероятно, если:
- служебная учётная запись не имеет нужной роли;
- роль назначена не на тот resource;
- облако/каталог перепутаны;
- access policy блокирует действие;
- firewall запрещает egress;
- корпоративный proxy ломает TLS;
- служебная учётная запись или ключ удалены;
- платёжный аккаунт не связан с нужным облаком.
74. После исправления обязательно сделайте regression check¶
Не останавливайтесь на тесте:
Теперь работает.
Проверьте, что исправление не расширило права.
После изменения IAM:
[ ] нужный запрос чтения работает
[ ] соседняя запрещённая область доступа не открылась
[ ] изменяющая операция всё ещё запрещена
[ ] Billing не стал account-wide для USER
[ ] Object Storage content не открылся случайно
[ ] Yandex AI boundary не изменилась
75. Контрольный сценарий полной интеграции¶
После первоначальной настройки или крупного обновления выполните:
1. Учётные данные¶
Ожидается IAM OK.
2. Привязка¶
рабочий каталог и облако определены.
3. Compute¶
Запросите список ВМ.
4. VPC¶
Запросите сети и подсети.
5. IAM¶
Запросите безопасный список назначения ролей.
6. Negative test¶
Попросите остановить VM — ожидается отказ.
7. Documentation¶
Найдите официальную страницу по роли.
8. Billing¶
Если включён — получите overview.
9. Yandex AI¶
Если включён — выполните Проверить доступ и короткий тестовый запрос.
10. Attribution¶
Проверьте фактическую модель ответа.
76. Матрица симптомов¶
| Симптом | Вероятный слой | Первое действие |
|---|---|---|
| Ключ отсутствует | учётные данные | проверить загрузку JSON |
| IAM NO | authentication | ключ/служебная учётная запись/сеть/время |
| IAM YES, каталог NO | привязка | подключить каталог |
| Infrastructure 403 | IAM/область доступа | проверить роль на рабочий каталог |
| Только VPC 403 | сервисная роль | проверить vpc.viewer |
| Billing 403 | Billing IAM | billing.accounts.viewer на платёжный аккаунт |
| Billing 0 | period/область доступа/data | сверить период и каталог |
| Billing stale | cache | проверить snapshot timestamp/TTL |
| AI 403 | AI IAM | ai.languageModels.user на каталог AI Studio |
| AI model missing | availability/catalog | выполнить probe |
| Docs unavailable | external service/network | проверить egress/DNS |
| USER fail, ADMIN OK | Studio RBAC | проверить user policy |
| Все fail | шлюз/учётные данные/network | yc-doctor, health |
| 429 | quota/rate | снизить частоту, проверить квоты |
| TLS error | proxy/CA | проверить trust store |
77. Что не делать¶
Не используйте следующие «универсальные исправления»:
выдать admin
выдать editor
отключить TLS verification
разрешить весь интернет
положить IAM token в браузер
скопировать private key в чат
отключить server-side policy
разрешить все неизвестные операции
Если проблема исчезла после такого изменения, вы, вероятно, обменяли диагностическую проблему на security-проблему.
78. После решения задокументируйте причину¶
Внутренняя запись должна содержать:
Симптом
Корневая причина
Как диагностировали
Какое минимальное изменение внесли
Какие права изменились
Какие negative tests выполнены
Нужно ли обновить документацию
Так следующая аналогичная проблема решится намного быстрее.
Официальная документация¶
Для проверки поведения Яндекс Облака используйте актуальные официальные источники:
- Как работает управление доступом
- Просмотр назначенных ролей
- Управление авторизованными ключами
- Управление доступом Billing
- Справочник ролей
- Диагностические заголовки Yandex AI Studio
Если проблема остаётся¶
Соберите безопасный диагностический пакет из раздела выше и передайте администратору ИИ Студии. Не отправляйте ключи, токены и приватные данные даже если вас просят «просто для проверки».