Skip to main content

Что такое иерархия ролей?

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

Представьте, как снежный ком катится по склону. По мере продвижения он накапливает все новые и новые размеры, не теряя при этом своего первоначального содержания. К тому времени, когда он достигает нижней части холма или более высокого уровня базы данных, он расширяется далеко за пределы своего первоначального размера. Это основная концепция иерархии ролей.

Например, рассмотрим иерархию ролей базы данных сотрудников. Самым элементарным уровнем базы данных будет таблица «Сотрудники», которая, естественно, содержит все записи о каждом человеке, работающем в компании, поскольку все они являются сотрудниками. Над «Сотрудниками» может быть таблица «Менеджеры», которая может добавлять дополнительные атрибуты, такие как списки сотрудников, которые контролирует каждый менеджер. Однако таблица менеджеров, естественно, будет более эксклюзивной; поскольку каждый менеджер является работником, но не каждый работник является менеджером. Таблица иерархии ролей будет продолжать «накапливаться» в форме пирамиды, возможно, добавляя таблицу для менеджеров филиалов, корпоративных менеджеров, вице-президентов и так далее.

С точки зрения безопасности, вершиной иерархии будет неограниченный системный администратор, который может выполнять любые изменения или изменения в компьютерной системе. Принимая во внимание, что самым низким уровнем будет простой пользователь, который может иметь доступ только к небольшому количеству программ без каких-либо существенных изменений. В обоих случаях - либо в базе данных, либо в ситуации безопасности - схема иерархии ролей обеспечивает эффективное «кровотечение», позволяя пользователям системы переходить из одной позиции в другую в довольно линейном формате.

Недостатком этого является сложная организация, в которой атрибуты одного объекта не обязательно плавно переходят в другой. Рассмотрим случай, когда сотрудники назначаются на руководящую должность после выполнения роли программиста или сотрудника отдела кадров. Предположим, что правила компании запрещают людям работать как программистом, так и сотрудниками отдела кадров. Теперь, согласно структуре иерархии ролей, все в таблице «Менеджеры» должны наследовать как атрибуты программиста, так и атрибуты кого-то, работающего в сфере управления персоналом. Это приводит к потере пространства и пустых атрибутов в базе данных, поскольку ни один менеджер не будет обладать как атрибутами программиста, так и кого-либо из сотрудников.