Безопасность в грид-системах — это состояние защищённости информационной среды систем, использующихся для грид-вычислений, а также комплекс мероприятий, направленных на обеспечение этого состояния.
Пример использования грид-систем
Пусть есть ученый, которого попросили проверить чью-то новые полученные данные. Он начинает необходимые вычисления на удаленном сервере С. Начав исполняться, процесс на сервере С понимает, что ему необходима симуляция. Для этого он обращается к посреднику (на сервере D). Тот инициирует вычисления на серверах E и G, которые для получения необходимых параметров обращаются к серверу F.
Данный пример иллюстрирует следующие важные характеристики грид-систем.
Множество пользователей, как и набор ресурсов может быть большим и динамически меняться. Участники научного сообщества могут быть из разных организаций и меняться довольно часто, ресурсы могут изменять свои свойства. Вычисления могут охватывать разное число ресурсов в течение своего исполнения. Процессы исполнения могут общаться друг с другом, используя множество различных механизмов. Ресурсы могут потребовать разные механизмы аутентификации и авторизации и разных политик. Так в примере показаны следующие политики контроля доступа: Kerberos(сервер С), SSL(сервер D), обычные пароли. Также один и тот же пользователь может быть представлен на разных серверах разными именами, правами и учетными данными.
Требования к безопасности в грид
Таким образом можно выставить следующие требования к системе безопасности в грид-системах:
Аутентификация - предоставление интерфейсов для вставки разных механизмов аутентификации и возможности обнаружения механизма аутентификации.
Авторизация - предоставление возможности контролировать доступ, основываясь на правилах авторизации.
Делегирование - предоставление возможности передачи прав от пользователя сервису
Приватность - предоставление и пользователю, и обладателю сервиса возможности контролировать правила использования ресурсов.
Целостность данных - гарантия того, что неавторизированные изменения данных будут обнаружены на стороне сервиса.
Управляемость - предоставление удобного инструмента управления политиками на разных ресурсах, разрешения конфликтов.
Встраивание в существующие системы и технологии - добавление инфраструктурного взаимодействия в существующие разноплановые технологии.
Правила взаимодействия компонент грид-системы с точки зрения безопасности
Грид-система состоит из "областей доверия". Этим утверждается, что система безопасности не требует установления политики внутри области, а контролирует взаимодействие между областями и проецирует это взаимодействие на внутреннюю политику.
Операции внутри одной "области доверия" подчиняются только внутренней политике безопасности. Никаких дополнительных операций от системы безопасности не требуется. Внутренняя политика может быть реализована множеством методов, таких как firewalls, Kerberos, SSH.
Существуют и глобальные, и локальные субъекты (пользователи и ресурсы). Для каждой "области доверия" соответствие глобальных субъектов на ее локальные. Каждый пользователь имеет два имени: глобальное и возможно локальное. Существование глобальных субъектов позволяет локальной политике реализовывать одноразовую аутентификацию пользователей.
Операции между субъектами, расположенными в разных "областях доверия" должны требовать взаимную аутентификацию.
Все решения по предоставлению доступа выполняются локально на основе локального субъекта. Все решения по контролю доступа принимаются политикой, утвержденной местными системными администраторами.
Программа или процесс, исполняемые от имени пользователя, могут получить подмножество прав пользователя. Это необходимо для поддержки длительно исполняющихся программ без взаимодействия с пользователем.
Процессы, исполняющиеся от имени одного субъекта внутри одной "области доверия", могут иметь один набор "учетных данных".