Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции объединенные.doc
Скачиваний:
27
Добавлен:
08.11.2019
Размер:
5.25 Mб
Скачать

4.3. Ограничения

Модель КДОР 2 внедряет понятие ограничивающих условий, как это показано на рисунке 1 (b). Несмотря на то, что мы назвали свои модели КДОР 1 и КДОР 2, в этом не заложено какой-либо обязательной прогрессии. Можно первоначально внедрить как ограничивающие условия, так и иерархии ролей. Это показывается неотождествляемым отношением между КДОР 1 и КДОР 2 на рисунке 1 (а).

Ограничивающие условия являются важным аспектом КДОР и очень часто считается, что они являются основной функцией КДОР. Часто приводят пример разъединенных ролей, например, менеджера по закупкам и менеджера по счетам кредиторов. В большинстве организаций (исключая самые малые) одному человеку не разрешается занимать обе роли, так как это может дать повод к мошенничеству. Это — широко известный и зарекомендовавший себя принцип, называемый разделение обязанностей.

Ограничения являются мощным механизмом определения организационной стратегии на высоком уровне. При объявлении каких-либо ролей взаимоисключающими отпадает необходимость заботиться о назначении отдельных пользователей на эти роли. Эти функции могут быть впоследствии переданы и децентрализованы без боязни подвергнуть опасности цели общей стратегии безопасности организации. Если управление КДОР сосредоточено полностью в руках одного работника службы безопасности, ограничительные условия являются чрезвычайно полезными; однако, тот же эффект может быть достигнут благоразумными действиями офицера безопасности. Однако, если управление КДОР децентрализовано (как это будет описано ниже), ограничения становятся механизмом, с помощью которого старшие офицеры безопасности могут ограничивать возможности пользователей, имеющих административные привилегии. Это позволяет главному офицеру безопасности определить широкий спектр того, что является допустимым, и сделать этот список обязательным для других офицеров безопасности и пользователей, участвующих в управлении КДОР.

По отношению к КДОР 0 ограничительные условия могут применяться в отношениях UA и PA и функциях пользователя и роли в различных сеансах. Ограничения являются предикатами, которые при применении в данных отношениях и функциях, возвращают значение «возможно» / «невозможно». Ограничения можно также рассматривать как предложения в каком-то определенном формальном языке. По интуиции, ограничительные условия лучше рассмтаривать согласно их типу и природе. Мы обсуждаем ограничения неформально, а не в их формальном понимании. Поэтому мы приходим к следующему определению.

Определение 3

КДОР 2 не отличается от КДОР 0, кроме как в требовании о наличии совокупности ограничений, определяющих возможность использования тех или иных значений и различных компонентов КДОР 0. Разрешены для использования только приемлемые значения. Требования функционирования обычно предусматривают наличие упрощенных ограничительных условий, которые можно эффективно проверить и использовать. В КДОР упрощенные ограничения можно использовать. Перейдем к обсуждению некоторых ограничительных условий, которые, на наш взгляд, стоит внедрить. Большинство, если не все, ограничения, используемые в отношении разделения пользователей, имеют аналоги, используемые в отношении распределения разрешений. В связи с этим, мы рассматриваем ограничения параллельно по этим двум компонентам.

Наиболее часто упоминающееся ограничительное условия в контексте КДОР — это взаимоисключающие роли. Один и тот же пользователь может быть закреплен только за одной ролью в множестве взаимоисключающих ролей. Это поддерживает разделение обязанностей. Требования данного ограничения практически не нужно обосновывать. Двойное ограничение на распределение разрешений практически не встречается в источниках. На самом деле, ограничение взаимоисключения на распределение разрешений может усилить разделение обязанностей. Данное двойное ограничение требует, чтобы одно разрешение могло быть закреплено не более, чем за одной ролью в множестве взаимоисключающих ролей.

Рассмотрим пример двух взаимоисключающих ролей — бухгалтера и менеджера по закупкам. Взаимоисключение по принципам UA означает, что один человек не может быть членом обеих ролей. Взаимоисключение по принципам PA уточняет, что одно и то же разрешение не может быть закреплено за обеими ролями. Например, разрешение выписывать чеки не должно распространяться на обе роли. Обычно подобное разрешение выдается роли бухгалтера. Ограничение взаимоисключения РА предотвращает злоумышленное закрепление данной роли за ролью менеджера по закупкам. То есть, ограничения исключения по РА являются полезным инструментом ограничения распределения важных разрешений. Например, не важно, кто получит право подписи для определенного счета — роль А или В, более важно требование того, чтобы обе роли не получили данное разрешение.

Если обобщить, то членство пользователей в различных комбинациях ролей может быть как приемлемым, так и неприемлемым. Поэтому, может быть приемлемым для одного пользователя быть членом ролей программиста и испытателя в разных проектах, но неприемлемым в одном проекте. То же самое можно сказать и о распределении разрешений. Другим примером ограничения на закрепление пользователей может быть ограничение максимального количества членов определенной роли. Например, в роли руководителя управления может находиться только один человек. Точно так же можно ограничить число ролей для одного пользователя. Мы называем подобные ограничительные условия кардинальными. Соответственно, количество ролей, за которыми закрепляется разрешение, может иметь кардинальные ограничения для контроля распределения важных разрешений. Следует отметить, что минимальные кардинальные ограничения может быть трудно исполнить. Например, если существует минимальное количество исполнителей роли, что будет делать система, если один из них исчезнет? Как система узнает об этом?

Понятие предварительных ролей основано на компетентности и соответствии, то есть пользователь может исполнять роль А только, если он уже является членом роли В. Например, только те пользователи, которые уже являются членами роли проектирования, могут быть допущены к роли испытателя внутри данного проекта. В данном примере предварительная роль является второстепенной по отношению к новой принимаемой роли. Предварительные условия между несравнимыми ролями практически не встречаются. Двойное ограничение на распределение разрешений обычно используется по отношению ко второй половине цепочки ролей в отношении РА. Представляется целесообразным требовать закрепления разрешения р за ролью только в том случае, если роль уже имеет разрешение q. Например, во многих системах разрешение на чтение файла требует наличия разрешения на чтение директории, в которой расположен этот файл. Закрепления первого разрешения без второго недостаточно.

Ограничения на закрепление пользователей эффективны, только если поддерживается должная внешняя дисциплина в закреплении идентификаторов пользователей за людьми. Если за одним и тем же человеком закреплены два или более идентификатора, происходит поломка контроля разделения и кардинальности. Между идентификаторами пользователей и людьми должны быть установлены отношения один-к-одному. Подобный аргумент работает и при ограничении разрешений. Если одна и та же операция санкционируется двумя различными разрешениями, система КДОР не может эффективно использовать ограничения кардинальности и разделения.

Ограничительные условия могут применяться по отношению к сеансам, а также к функциям пользователя и роли, связанным с сеансом. Вполне возможно, что пользователь является членом двух ролей, главное — то, что он не может активировать обе роли одновременно. Другие ограничения сеансов могут ограничивать количество сеансов, которые пользователь может активировать одновременно. Соответственно, можно ограничить и количество сеансов, за которыми закреплено разрешение.

Иерархия ролей может также рассматриваться как ограничительное условие. Ограничение заключается в том, что разрешение, выданное второстепенной роли, должно быть выдано всем главенствующим ролям. Или наоборот, ограничение может заключаться в том, что пользователь, закрепленный за главенствующей ролью, должен также быть закреплен за всеми второстепенными ролями. В некотором смысле, КДОР 1 является ненужным и поглощенным КДОР 2. Тем не менее, мы считаем целесообразным признать существование иерархии ролей как таковой. Она может быть понижена до ограничительных условий только путем ввода ненужности распределения разрешений или распределения пользователей. Предпочтительным является поддерживать иерархии напрямую, а не косвенно, путем ненужного распределения.