28
№28
1. Распределение ответственности (англ. separation of duties). Этот принцип означает, что в системе (пространстве) не должно быть субъекта, который мог бы самостоятельно от начала до конца выполнить операцию, которая может нанести ущерб безопасности. Например, если пользователь А выполняет некую транзакцию, имеющую существенное значение для системы, то она должна вступить в силу только после того, как пользователь Б проверит и подтвердит ее корректность. Таким образом, ни А, ни Б не могут по отдельности произвести данную транзакцию, один может только формировать данные для нее, другой — только авторизовать ее (то есть в данном случае отправить на выполнение), — без этих двух процедур транзакция не будет иметь результата.
Если конкретная операция в системе построена таким образом, что она не может быть разделена между двумя пользователями, значит, при ее критической важности, она должна быть выполнена одним пользователем только в присутствии другого. Это может быть достигнуто, например, разделением пароля на аутентификацию пользователя, от имени которого запускается функция, на две (или более) части. Иногда можно встретить другое определение такого принципа — "в четыре глаза" (англ. four eyes).
Если же объективно ряд значимых операций должен выполняться только одним человеком, то результаты его действий должны регистрироваться в журналах, к которым он не имеет доступа на корректировку. Эти журналы должны регулярно анализироваться другим человеком.
Набор прав и обязанностей, который можно применить к тому или иному сотруднику в зависимости от его функций, называется ролью. Цель политики ролей на предприятии — унифицировать и упростить делегирование прав сотрудникам. После разработки подобной схемы исчезает необходимость составлять ради каждого вновь прибывшего работника набор его прав и обязанностей и настраивать сотни учетных записей. Достаточно указать принадлежность сотрудника той или иной роли, и, возможно, произвести минимальное редактирование профиля.