Архитектура безопасности облака должна дать заказчику ясный ответ: можно ли передать в эксплуатацию новый аккаунт AWS, подписку Azure или проект Google Cloud и действительно ли в нём работают заявленные ограничения. На схеме могут быть правильные папки, организационные группы (OU), политики и централизованные журналы, но она не отвечает на главные вопросы: какие ограничения реально действуют на дочерний ресурс, какие идентичности находятся вне их действия, что произойдёт со старыми ресурсами, кто утверждает исключение и как откатить опасное изменение плоскости управления.
Вымышленный сценарий — Northstar Retail. Компания переносит платёжную систему в мультиоблачную landing zone. Платформенная команда утверждает, что каждый дочерний объект наследует корпоративную базовую конфигурацию. Владелец платежей видит одно исключение Azure, нагрузку AWS с service-linked role и проект Google, перенесённый из старой папки. До появления продуктивных данных ответственная команда должна принять или отклонить среду. Фраза «политика назначена» не является критерием приёмки: нужны доказательства итогового состояния и ответственный за каждый пробел в защите.
Сначала определите решение о приёмке
Landing zone — управляемая основа для облачных аккаунтов, подписок и проектов. Она задаёт иерархию, способы входа пользователей и сервисов, сетевые шаблоны, места отправки журналов, развёртывание политик, владельцев и жизненный цикл. Поэтому её архитектуру безопасности следует описывать решениями и правилами, которые должны выполняться всегда, а не перечнем функций провайдера.
Сформулируйте короткое условие приёмки для каждого класса нагрузки. Например: продуктивный контур принимается, только если дочерний объект находится под нужным родителем, эффективные ограничения соответствуют утверждённой базе, телеметрия поступает в центральное хранилище, локальные администраторы не могут отключить защищённые меры безопасности, исключения имеют владельца и срок, а безвредные контрольные операции подтверждают ожидаемые разрешение и запрет. Отдельно запишите, что намеренно не входит в заявление, например управляемая провайдером идентичность, которую выбранная организационная политика не ограничивает.
Такой подход устраняет две ошибки. Длинный список мер защиты может скрывать отсутствующую административную границу. А зелёная панель соответствия требованиям может смешивать предотвращение, обнаружение и ресурсы, ещё ожидающие исправления. Решение о приёмке заставляет объяснить, что предотвращено, что только замечено и какая операционная работа не завершена.
Проверьте действующие политики по матрице приёмки
Единица анализа — нагрузка, вся цепочка её предков и связанные уровни идентичности. Список политик только на дочернем объекте пропускает наследование; корпоративный шаблон без дочернего состояния пропускает переопределения и исключения. Комплект доказательств должен закрывать каждую строку таблицы для типичного рабочего окружения и каждого существенно отличающегося способа онбординга.
Листайте таблицу по горизонтали
| Вопрос приёмки | Минимальное доказательство | Когда отклонять или принимать с условием |
|---|---|---|
| Объект находится в правильной иерархии? | ID, цепочка родителей, класс нагрузки, владелец и время сбора | Объект размещён неверно, осиротел или проходит через неуправляемую зону |
| Какая политика эффективна? | Машиночитаемое вычисленное состояние, исходные назначения и версии | Есть только скриншот или базовый шаблон |
| Что находится вне организационного ограничения? | Документированные исключения по субъекту, ресурсу, действию или сервису | Исключение обнаруживается лишь при тесте или не имеет компенсирующего контроля |
| Соответствуют ли требованиям новые и старые ресурсы? | Инвентаризация по дате создания, соответствию требованиям и результату исправления | Превентивное правило выдают за доказательство исправления старых ресурсов |
| Можно ли безопасно откатить изменение? | Контрольная операция, этап внедрения, команда или редакция отката, владелец и условие остановки | Откат зависит от заблокированной идентичности или неизвестного ручного шага |
| Воспроизводима ли приёмка? | Запрос или экспорт, время, неизменяемая ссылка и критерий прохождения проверки | Результат нельзя получить снова после изменения иерархии |
Организационное ограничение задаёт потолок полномочий или требования к конфигурации, но само по себе не выдаёт нагрузке доступ. Рабочие права IAM, ресурсные политики, сеть, шифрование, настройки сервиса и авторизация приложения остаются отдельными слоями. Матрица должна называть слой, доказывающий каждое утверждение.
AWS: проследите всю цепочку SCP и укажите исключения
В AWS Organizations политика управления сервисами (SCP) ограничивает максимальные полномочия IAM-пользователей и ролей в аккаунтах — участниках организации. SCP не выдаёт разрешения. В модели разрешительного списка действие должно оставаться разрешённым на уровне корня организации, каждого OU по пути и самого аккаунта; явный запрет (deny) на любом уровне имеет приоритет. При этом для выполнения действия всё равно нужно разрешение в соответствующей IAM- или ресурсной политике.
Для приёмки нужны путь аккаунта в организации, идентификатор каждого применимого SCP, контролируемая редакция или хеш текста, состояние назначения и небольшой набор тестов. Одна контрольная операция должна успешно выполниться с намеренно узким IAM-разрешением. Другая безвредная операция должна быть запрещена нужным SCP. Сохраните субъект, аккаунт, API, результат, код и причину отказа, а также событие плоскости управления. Сам отказ недостаточен: его могли вызвать отсутствующее IAM-разрешение или ошибочный запрос. Нужны положительный контроль и доказательство, что решение принял именно ожидаемый SCP.
В заключении нужно сохранить границы применимости AWS. SCP не ограничивает пользователей и роли управляющего аккаунта (management account), не действует на роли, связанные с сервисами (service-linked roles), и напрямую не ограничивает внешнего субъекта, который получает доступ к ресурсу аккаунта-участника через ресурсную политику. Это входные данные архитектуры. Не размещайте нагрузки в управляющем аккаунте, минимизируйте доступ к нему, отдельно анализируйте поведение ролей, связанных с сервисами, и внешний ресурсный доступ.
AWS рекомендует проверять эффект SCP до широкого назначения: использовать тестовый OU и перемещать аккаунты контролируемыми группами. План отката обязан сохранять цепочку разрешений. Ошибочное удаление или замена разрешающей политики способно заблокировать действия ниже. Журнал изменений должен фиксировать прежние назначения и текст, контрольный аккаунт, оператора восстановления и подтверждение, что новая политика не отрезала ему путь.
Azure: разделяйте оценку, применение и исправление
Эффекты Azure Policy имеют разный операционный смысл. Deny может заблокировать подходящий запрос создания или обновления, а существующий подходящий ресурс будет отмечен как не соответствующий требованиям. Audit записывает результат, не запрещая запрос. Modify способен менять поддерживаемые поля при создании или обновлении, однако цикл оценки не переписывает старый ресурс. DeployIfNotExists и modify могут привести существующие ресурсы к требуемому состоянию через отдельно запущенные задачи исправления.
Поэтому подписка с набором запрещающих политик на уровне группы управления может защищать от будущего запрещённого развёртывания и одновременно содержать старую запрещённую конфигурацию. Запрашивайте область назначения, параметры, исключения, режим принудительного применения, снимок соответствия требованиям и сверенную с ним инвентаризацию. Для modify и DeployIfNotExists нужны статус задачи исправления и точный перечень ошибок. Статус «не соответствует» доказывает обнаружение, но не исправление.
У исправления есть собственная граница привилегий. Управляемая идентичность назначения выполняет развёртывание или изменение; для этого ей необходимо отдельно предоставить права, требуемые определением политики. Рассматривайте эти права как полномочия плоскости управления: сужайте область, называйте тех, кто может менять определение и назначение, и проверяйте, не оставит ли откат лишний доступ. Слишком широкая роль исправления способна разрушить тщательно ограниченную модель администрирования нагрузки.
Azure поддерживает отдельные объекты policy exemption. Обоснованное исключение фиксирует назначение, затронутые определения, категорию, область, автора запроса, утверждающего, тикет, срок и компенсирующую меру. Селекторы ресурсов позволяют постепенно расширять охват. Безопасное развёртывание включает поэтапные назначения, первоначальный режим без принудительного применения, автоматические проверки, контроль состояния сервисов и расширение по уровням. Заказчику нужен этот путь изменения, а не только финальный JSON.
Google Cloud: вычисляйте наследование с учётом типа ограничения
Google Cloud Organization Policy ограничивает конфигурацию ресурсов, а IAM определяет, кто вправе действовать. Organization policy не выдаёт владельцу проекта доступ, а выданные через IAM права не доказывают допустимость конфигурации. Для приёмки проверяются оба уровня.
Нельзя считать, что ограничение родителя всегда накапливается вниз. Эффективное поведение зависит от типа ограничения и дочерней политики. Устаревшие списковые правила могут объединяться с родителем, когда наследование включено; при согласовании deny имеет приоритет. Булевы правила не объединяются: дочернее значение становится эффективным на дочернем объекте. Управляемые ограничения (managed constraints), унаследованные от родителя, применяются в заданном родителем виде либо заменяются дочерней политикой; как устаревшие списковые правила они не сливаются. Переопределение проекта способно существенно изменить результат.
Для критичного ограничения зафиксируйте тип, родительскую и дочернюю политики, настройку наследования или переопределение, условия и теги, эффективный результат и контрольную операцию. Пробный режим (dry run) полезен до применения, но приёмка должна отличать такое наблюдение от активной политики. Распространение изменений занимает время, поэтому существенны время доказательства и первая разрешённая или отклонённая операция после него.
Изменения Organization Policy обычно не исправляют ранее созданные ресурсы автоматически. Старый ресурс может оставаться в нарушающем состоянии, пока команда не исправит его; исключение — ограничения, для которых действие на существующие ресурсы документировано отдельно. Комплект онбординга объединяет эффективную политику с запросом инвентаризации старых ресурсов. Для пользовательского ограничения (custom constraint) проверяйте поддерживаемые сервис, тип ресурса, метод и поля: существование определения не означает охват каждой операции, на которую рассчитывает архитектура.
Выдавайте новое окружение после проверки условий
Фабрика аккаунтов или выдача подписок полезна, только если превращает запрос в предсказуемое состояние. Условия перехода между этапами должны быть понятны проверяющему, а причины остановки — инженеру.
- Запроссвязать класс нагрузки, данные, регион, владельца и потребность в исключениях
- Размещениесоздать или переместить объект под утверждённого родителя и проверить всю иерархию
- Эффективное состояниевыгрузить организационные ограничения, границы IAM, журналы и нерешённые старые ресурсы
- Контрольвыполнить безвредные разрешённые и запрещённые операции и связать их с событиями плоскости управления
- Приёмкаподписать комплект доказательств, зафиксировать сроки действия исключений и назначить владельцев отклонений и отката
Неудачный онбординг должен оставлять объект в специально спроектированном ограниченном состоянии без продуктивных идентичностей и данных. Это не магическая метка провайдера: нужны конкретные родитель, политики, сеть и разрешённые операции. Нельзя временно помещать объект под родителя со слабыми ограничениями и надеяться на последующий перенос. Если сервис требует исключения, оформите его до выдачи, проверьте компенсирующий контроль и задайте дату удаления или продления.
Доказательства привязываются к неизменяемым ID и редакциям. Фраза «продуктивная подписка соответствует требованиям» без ID подписки, редакции назначения, времени оценки и числа нерешённых объектов не поддерживает решение. Если провайдер не даёт единого экспорта эффективной политики, сохраните входные данные и процедуру вычисления, чтобы независимый специалист воспроизвёл результат.
Ведите старые ресурсы и исключения как разные очереди
У превентивной политики, исправления старых ресурсов и исключения разные условия завершения. Реестр предотвращения отвечает, блокируются или преобразуются ли новые и изменяемые ресурсы. Реестр исправления содержит старые ресурсы, владельца, действие, ошибку и ретест. Реестр исключений описывает сознательное отступление, решение о риске, компенсирующий контроль, область и срок.
Не закрывайте проблему старого ресурса из-за появления правильного правила в базовых настройках. Закрытие требует удаления, изменения, изоляции или явного принятия ресурса и соответствующего доказательства. Не называйте каждый ресурс, не соответствующий требованиям, исключением: это может быть ошибка развёртывания, ожидание окна или неприменимый запрос политики. Их смешение уничтожает ответственность.
Для срока исключения нужно исполнимое последствие: запрет нового развёртывания, удаление доступа, тикет, перевод дочернего объекта в ограниченное состояние или эскалация на продление. Само истечение срока не исправляет старый ресурс. Проверяйте механизм до продуктивного онбординга. Аварийный доступ должен иметь отдельного владельца и журнал, а не скрываться в вечном исключении.
Назначьте владельцев плоскости управления и проверьте откат
Владелец нагрузки редко владеет организационной политикой. Рабочая модель называет автора базовых правил, оператора развёртывания, утверждающего исключения и ответственного за реагирование на инциденты в рабочей системе. При соответствующем масштабе разделите предложение политики, утверждение, развёртывание и выдачу исключения.
Каждое существенное изменение организационного ограничения должно содержать контролируемую разницу редакций, затронутую иерархию, ожидаемые новые нарушения, пилотную группу, время распространения, проверки состояния и соответствия требованиям, условие остановки и способ отката. Тестируйте откат столь же серьёзно, как внедрение. Подтвердите, что учётные данные, аварийный доступ, репозиторий политик и система развёртывания для возврата прежнего состояния останутся доступны после применения новой политики.
Мониторинг должен видеть отклонения в обе стороны: исчезновение ограничения и появление непроверенного запрета. Полезны события изменения политики и иерархии, перемещения дочернего объекта, создания или продления исключения, выдачи роли для исправления, смены места отправки журналов и провала контрольной операции. Связывайте их с журналом изменений, чтобы отличать разрешённое внедрение от несанкционированной активности.
Что включить в задание подрядчику
Полезный комплект поставщика включает карту иерархии и владельцев; отдельную для каждого провайдера матрицу эффективных политик; выборочные доказательства для аккаунтов, подписок и проектов; сверку старых ресурсов; реестры исключений и исправлений; пути привилегий плоскости управления; результаты внедрения и отката; решения о приёмке с допущениями. Каждая находка должна указывать неподтверждённое требование безопасности, затронутые объекты, воспроизводимый запрос или безвредную операцию, ответственного и критерий ретеста.
Спросите исполнителя, как он выбирает выборку большой среды, восстанавливает эффективную политику, обрабатывает исключения провайдера, разделяет предотвращение и исправление и проверяет откат без нарушения продуктивной среды. Объём нельзя оценивать только числом аккаунтов. Трудоёмкость задают разные варианты иерархии и политик, классы исключений, инвентаризация старых ресурсов, идентичности плоскости управления, контрольные операции и ретесты.
Руководство по мультиоблачной оценке безопасности помогает сформировать общие требования к доказательствам между провайдерами, а аудит безопасности гибридного облака рассматривает идентичность, сеть, агенты и доказательства между локальной инфраструктурой и облаком. Здесь же границы проверки следует удерживать на организационных ограничениях и приёмке дочерних объектов.
Независимая проверка полезна перед крупной миграцией, после перестройки иерархии или когда несколько команд не могут собрать единый подтверждённый комплект. В письменных согласованных границах аудит облачной безопасности Pentest.red может проверить действующие меры защиты и согласованные выгрузки без права изменения. Выбранные безвредные контрольные операции требуют отдельно согласованных полномочий сверх такого доступа; отчёт затем фиксирует воспроизводимые пробелы в защите, владельцев и критерии ретеста. Проверка не гарантирует безопасность всех будущих изменений, и зрелая платформа может выполнить приёмку сама. Планировщик объёма работ помогает зафиксировать объекты, идентичности, исключения, тесты и условия остановки, а пример отчёта показывает разделение доказательства, влияния и исправления.
PENTEST.RED
Обсудить объём и стоимость пентеста
Сначала согласуем системы, доступы, ограничения и ожидаемый результат.
Статья подготовлена на основе глубокого исследования и прошла редакционную переработку.