Коллектив авторов Florida Atlantic University, 2007
Шаблоны управления доступом
для распределённых систем
Перевод статьи Patterns for Access Control in Distributed Systems
авторов Nelly Delessy, Eduardo B. Fernandez,
Maria M. Larrondo-Petrie, Jie Wu
Распределённые системы порождают новый спектр угроз информационной безопасности. Организации, которым они принадлежат, должны защищать свои информационные активы от атак. Для этого необходимо начинать с высокоуровневых моделей, отражающих политики безопасности учреждения.

Мы представляем шаблоны, основанные на традиционных моделях:
— Во-первых, Policy-Based Access Control (контроль доступа на основе политик), который описывает, как принимать решение о том, уполномочен ли субъект на доступ к объекту в соответствии с политиками, определёнными в централизованном хранилище политик.
— Затем рассматриваются ориентированные на реализацию шаблоны, реализующие модель матрицы доступа (Access Matrix) или модель RBAC:
  • Шаблон ACL (список контроля доступа) позволяет управлять доступом к объектам, явно указывая, какие субъекты могут получить доступ к объекту и каким образом. Обычно каждый объект имеет собственный ACL.
  • Шаблон Capability (возможность/полномочие) позволяет управлять доступом, выдавая субъекту учётные данные или «билет» (ticket), подтверждающий его право на доступ к объекту определённым образом. Такие полномочия выдаются принципалу (например, пользователю или процессу).
1. Введение
Book design is the art of incorporating the content, style, format, design, and sequence of the various components of a book into a coherent whole. In the words of Jan Tschichold, "Methods and rules that cannot be improved upon have been developed over centuries. To produce perfect books, these rules must be revived and applied." The front matter, or preliminaries, is the first section of a book and typically has the fewest pages. While all pages are counted, page numbers are generally not printed, whether the pages are blank or contain content.

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

Для защиты своих активов организация должна определить политики безопасности — это общие руководящие принципы, задающие состояния, в которых система считается защищённой [Sch06]. Реализация таких политик обеспечивается механизмами безопасности. В крупных организациях политики могут формироваться разными участниками, что затрудняет их управление. Кроме того, их необходимо применять к множеству разнородных ресурсов.

Более того, особенность распределённых систем состоит в том, что субъекту не обязательно быть заранее известным системе для того, чтобы запросить доступ к ресурсу. Доверие к субъекту может основываться исключительно на предъявленных им учётных данных (credentials), включая атрибуты. Политики доступа должны учитывать этот аспект.
На Рисунке 1 представлены некоторые шаблоны управления доступом, применяемые в контексте распределённых систем. Диаграмма шаблонов отображает взаимосвязи между шаблонами (представленными прямоугольниками со скруглёнными углами); связи показаны стрелками с подписями. На диаграмме отражены традиционные модели — такие как матрица доступа (Access Matrix) и контроль доступа на основе ролей (RBAC), — а также более современные подходы: контроль доступа на основе атрибутов (ABAC) [Pri04] и контроль доступа на основе политик (Policy-Based Access Control). Последние две модели лучше подходят для распределённых систем. Все модели используют эталонный монитор (Reference Monitor) для принудительного выполнения решений о доступе.

Шаблоны ACL (список контроля доступа) и Capability (полномочие) ориентированы на реализацию — они служат для практической реализации моделей матрицы доступа или RBAC. В частности, для веб-сервисов:
— механизм оценки доступа на основе XACML (eXtensible Access Control Markup Language) реализует шаблоны контроля доступа на основе атрибутов и контроля доступа на основе политик,
— язык политик XACML реализует шаблон контроля доступа на основе политик,
— утверждение авторизации SAML Authorization Assertion представляет собой разновидность полномочия (Capability).