Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Chaos Studio позволяет повысить устойчивость служб, систематически внедряя ошибки в ресурсы Azure. Введение отказов является мощным способом повышения устойчивости службы, но оно также может быть опасным. Создание сбоев в вашем приложении может иметь более серьезные последствия, чем изначально предполагалось, и создать возможности для вредоносных субъектов проникнуть в ваши приложения.
Chaos Studio имеет надежную модель разрешений, которая предотвращает случайный запуск сбоев или действия злоумышленника. Из этой статьи вы узнаете, как защитить ресурсы, предназначенные для внедрения ошибок с помощью Chaos Studio.
Как ограничить возможность внедрения ошибок в Chaos Studio?
Chaos Studio имеет три уровня безопасности, которые помогут вам контролировать, как и когда внедрение ошибок может произойти в ресурсе:
Во-первых, эксперимент хаоса — это ресурс Azure, развернутый в регионе, группе ресурсов и подписке. У пользователей должны быть соответствующие разрешения Azure Resource Manager для создания, обновления, запуска, отмены, удаления или просмотра эксперимента.
Каждое разрешение является операцией Resource Manager, которая может быть детально назначена на удостоверение. Оно также может быть назначено в составе роли с универсальными разрешениями. Например, роль участника в Azure имеет разрешения
*/write
в назначенной области, включая разрешениеMicrosoft.Chaos/experiments/write
.При попытке контролировать возможность внедрения ошибок в ресурс, наиболее важной операцией является ограничение
Microsoft.Chaos/experiments/start/action
. Эта операция запускает эксперимент хаоса, который вводит ошибки.Во-вторых, в эксперименте хаоса есть назначаемое системой управляемое удостоверение или назначаемое пользователем управляемое удостоверение, которое выполняет сбои в ресурсе. Если вы решили использовать управляемое удостоверение, назначаемое системой для эксперимента, удостоверение создается во время создания эксперимента в клиенте Microsoft Entra. Управляемые идентификаторы, назначаемые пользователем, могут использоваться в любом количестве экспериментов.
При создании эксперимента хаоса на портале Azure можно включить автоматическое назначение ролей с помощью встроенных ролей Azure или настраиваемой роли в выборе управляемого удостоверения, назначаемого системой или назначаемого пользователем. Включение этой функции позволяет Chaos Studio создавать и назначать встроенные роли Azure или настраиваемую роль, содержащую любые необходимые возможности действий эксперимента для идентификации эксперимента, которых еще нет в вашем выборе идентификационной информации. Если эксперимент хаоса использует управляемое удостоверение, назначаемое пользователем, все пользовательские роли, назначенные удостоверению эксперимента, будут сохраняться после удаления эксперимента.
Если вы решили предоставить разрешения эксперимента вручную, необходимо предоставить удостоверению соответствующие разрешения для всех целевых ресурсов. Если удостоверение эксперимента не обладает соответствующими правами к ресурсу, оно не может создать сбой в этом ресурсе.
В-третьих, каждый ресурс должен быть подключен к Chaos Studio в качестве целевого объекта с соответствующими возможностями. Если цель или возможность осуществления сбоя не существует, эксперимент проваливается, не затрагивая ресурс.
Управляемое удостоверение, назначаемое пользователем
Эксперимент хаоса может использовать управляемое удостоверение , назначаемое пользователем, для получения достаточных разрешений для внедрения ошибок в целевых ресурсах эксперимента. Кроме того, управляемые удостоверения, назначаемые пользователем, могут использоваться во множестве экспериментов в Chaos Studio. Чтобы использовать эту функцию, необходимо:
- Сначала создайте управляемую идентификацию, присвоенную пользователем, в службе управляемых удостоверений. Вы можете назначить управляемое удостоверение, назначаемое пользователем, необходимые разрешения для выполнения экспериментов хаоса на этом этапе.
- Во-вторых, при создании эксперимента хаоса на портале Azure выберите управляемое удостоверение, выбранное пользователем, из вашей подписки. Вы можете включить автоматическое назначение ролей с помощью встроенных ролей Azure или настраиваемой роли на этом шаге. Включение этой функции предоставит вашему выбору удостоверений все необходимые разрешения, которые могут понадобиться в зависимости от ошибок, содержащихся в вашем эксперименте.
- В-третьих, после добавления всех ошибок в эксперимент хаоса проверьте, содержит ли конфигурация удостоверения все необходимые действия для успешного выполнения эксперимента хаоса. Если это не так, обратитесь к системному администратору для получения доступа или измените выбор сбоев в вашем эксперименте.
Проверка подлинности агента
При запуске отказов на основе агента необходимо установить агент Chaos Studio на виртуальной машине или групповом наборе виртуальных машин. Агент использует управляемое удостоверение , назначаемое пользователем, для проверки подлинности в Chaos Studio и профиля агента для установления связи с определенным ресурсом виртуальной машины.
При подключении масштабируемого набора виртуальной машины или виртуальной машины для сбоев на основе агента сначала создается целевой объект агента. Целевой объект агента должен иметь ссылку на управляемое удостоверение, назначаемое пользователем, которое используется для проверки подлинности. Целевой объект агента содержит идентификатор профиля агента, который предоставляется в качестве конфигурации при установке агента. Профили агентов уникальны для каждого целевого объекта, а целевые объекты уникальны для каждого ресурса.
Операции и роли Azure Resource Manager
В Студии Chaos Studio выполняются следующие операции:
Операция | Описание |
---|---|
Microsoft.Chaos/targets/[Read,Write,Delete] | Получение, создание, обновление или удаление целевого объекта. |
Microsoft.Chaos/targets/capabilities/[Read,Write,Delete] | Получение, создание, обновление или удаление возможности. |
Microsoft.Chaos/locations/targetTypes/Read | Получите все целевые типы. |
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read | Получение всех типов возможностей. |
Microsoft.Chaos/experiments/[Read,Write,Delete] | Получение, создание, обновление или удаление эксперимента хаоса. |
Microsoft.Chaos/эксперименты/старт/действие | Запустите эксперимент хаоса. |
Microsoft.Chaos/experiments/cancel/action | Остановите эксперимент хаоса. |
Microsoft.Chaos/эксперименты/исполнения/Чтение | Получите статус выполнения для запуска эксперимента хаоса. |
Microsoft.Chaos/experiments/executions/getExecutionDetails/action | Получите сведения о выполнении (состояние и ошибки для каждого действия) для выполнения эксперимента хаоса. |
Чтобы назначить эти разрешения детально, можно создать пользовательскую роль. Вы также можете использовать следующие встроенные роли Azure для управления доступом к Chaos Studio:
- Контрибьютор эксперимента Chaos Studio: может создавать, запускать и просматривать сведения о экспериментах, подключать целевые объекты и управлять возможностями.
- Оператор Chaos Studio: может запускать и просматривать сведения об экспериментах, но не может создавать эксперименты или управлять целями и возможностями.
- Chaos Studio Reader: может просматривать целевые объекты, возможности, эксперименты и сведения о эксперименте.
- Участник целевого объекта Chaos Studio: может подключить целевые объекты и управлять ими, но не может создавать, запускать или просматривать сведения о экспериментах.
Дополнительные сведения об этих встроенных ролях для операций Chaos Studio см. в разделе RBAC DevOps Role.
Безопасность сети
Все взаимодействия пользователей с Chaos Studio происходят через Azure Resource Manager. Если пользователь запускает эксперимент, эксперимент может взаимодействовать с конечными точками, отличными от Resource Manager, в зависимости от сбоя:
- Прямые сбои службы: Большинство прямых сбоев службы выполняются с помощью Azure Resource Manager и не требуют каких-либо сетевых конечных точек, входящих в разрешенный список.
- Сбои сетки хаоса akS с прямым доступом к службе: для Служба Azure Kubernetes, использующих Сетку хаоса, требуются доступ к серверу API Kubernetes кластера AKS. Несколько методов, чтобы добавить необходимые IP-адреса, включены в статью Авторизация IP-адресов Chaos Studio в кластере AKS.
-
Ошибки агента: Чтобы использовать ошибки агента, необходимо, чтобы агент имел доступ к службе агента Chaos Studio. Для успешного подключения виртуальной машины или масштабируемого набора виртуальных машин должен быть исходящий доступ к конечной точке службы агента. Конечная точка
https://acs-prod-<region>.chaosagent.trafficmanager.net
службы агента. Вы должны заменить заполнитель<region>
на название региона, где развернута ваша виртуальная машина. Примером являетсяhttps://acs-prod-eastus.chaosagent.trafficmanager.net
виртуальная машина в восточной части США. - Частные сети на основе агентов: Агент Chaos Studio теперь поддерживает частные сети. См . частные сети для агента Chaos.
Служебные теги
Тег службы — это группа префиксов IP-адресов, которым можно назначать правила для входящих и исходящих подключений для групп безопасности сети. Он автоматически обрабатывает обновления группы префиксов IP-адресов без каких-либо действий. Так как теги служб в основном позволяют фильтровать IP-адреса, теги служб недостаточно для защиты трафика.
Теги служб можно использовать для явного разрешения входящего трафика из Chaos Studio без необходимости знать IP-адреса платформы. Сервисный тег Chaos Studio — ChaosStudio
.
Ограничение тегов службы заключается в том, что они могут использоваться только с приложениями с общедоступным IP-адресом. Если ресурс имеет только частный IP-адрес, теги служб не могут маршрутизировать трафик к нему.
Случаи использования
Chaos Studio использует теги службы для нескольких вариантов использования.
- Чтобы использовать ошибки на основе агента, агент Chaos Studio, работающий на клиентских виртуальных машинах, должен взаимодействовать с серверной службой Chaos Studio. Тег службы позволяет клиентам создавать список разрешенного трафика из виртуальной машины в службу Chaos Studio.
- Чтобы использовать определенные неполадки, требующие обмена данными за пределами
management.azure.com
пространства имен, такие как неполадки Chaos Mesh для службы Azure Kubernetes Service, трафик направляется из службы Chaos Studio к клиентскому ресурсу. Тег службы позволяет клиентам разрешать список трафика из службы Chaos Studio в целевой ресурс. - Клиенты могут использовать другие теги служб в рамках ошибки правил группы безопасности сети, чтобы повлиять на трафик из определенных служб Azure.
Указав ChaosStudio
тег службы в правилах безопасности, трафик можно разрешить или запретить для службы Chaos Studio без необходимости указывать отдельные IP-адреса.
Вопросы безопасности
При оценке и использовании тегов служб важно отметить, что они не предоставляют детализированный контроль над отдельными IP-адресами и не должны полагаться в качестве единственного метода для защиты сети. Они не являются заменой соответствующих мер безопасности сети.
Шифрование данных
Chaos Studio шифрует все данные по умолчанию. Chaos Studio принимает только входные данные для системных свойств, таких как идентификаторы объектов управляемых удостоверений, имена экспериментов, шагов/ветвей и параметры сбоя. Примером является диапазон сетевых портов для блокировки при сбое подключения к сети.
Эти свойства не должны использоваться для хранения конфиденциальных данных, таких как сведения об оплате или пароли. Дополнительные сведения о защите данных в Студии Chaos Studio см. в статье о защите данных клиентов Azure.
Сервис "Контроль доступа клиентов"
Блокировка позволяет вам утвердить или отклонить запрос инженера Майкрософт на доступ к данным эксперимента во время запроса на поддержку.
Блокировка может быть включена для сведений о эксперименте хаоса, а разрешение на доступ к данным предоставляется клиенту на уровне подписки, если блокировка включена.
Узнайте больше о Customer Lockbox для Microsoft Azure.
Следующие шаги
Теперь, когда вы понимаете, как защитить эксперимент хаоса, вы готовы: