Работа посвящена программной реализации атрибутного управления доступом (ABAC) в различных компьютерных системах (КС). Предлагается следующее расширение метода управления доступом из XACML: 1) для описания и задания политики атрибутного управления доступом используется созданный специали-зированный язык (Domain Specific Language (DSL)) ALFAScript, основанный на языке ALFA; 2) политика на языке ALFAScript компилируется в код на языке программирования Lua; 3) при поступлении запроса субъекта на доступ к сущно-сти строится соответствующий контекст (в терминах XACML), для которого про-исходит запуск кода на Lua в среде выполнения (runtime) механизма управления доступом КС; 4) результатом выполнения Lua-кода является решение о возможно-сти предоставления субъекту доступа к сущности. Модель взаимодействия, набор программных компонент, структур данных и инструментов, позволяющих раз-работчику самостоятельно реализовать ABAC с использованием данного метода независимо от целевой КС, предметной области, элементов управления доступом, их состава и структуры и составляют фрэймворк ABAC Engine. Новизна пред-лагаемого подхода заключается в использовании языка Lua для интерпретации политики управления доступом в среде этой КС. Использование предложенного метода упрощает и ускоряет реализацию атрибутного управления доступом.Ключевые слова: управление доступом, ABAC, XACML, ALFA, Lua.Управление доступом является одним из основных механизмов безопасности ком-пьютерных систем. Механизмы управления доступом реализуются не только в опера-ционных системах (ОС) и системах управления базами данных (СУБД), но и в веб-приложениях, межсетевых экранах прикладного уровня, ERP-системах, прикладном программном обеспечении и т. п. При этом на практике часто возникает ситуация, когда разработчик, реализовав корректный механизм управления доступом на одном языке программирования, вынужден разрабатывать тот же самый механизм на другом языке программирования. Данная задача возникает, например, в случае прототипиро-вания программного продукта на языке Python с последующим его переписыванием на языке C++ или в случае, когда механизм управления доступом был реализован для защиты СУБД, а затем его необходимо адаптировать для защиты веб-приложе-ний [1,2].С точки зрения программной разработки хотелось бы иметь средство, удовлетво-ряющее следующим требованиям: 1) политика безопасности управления доступом в КС должна описываться на DSL-языке, позволяющем использовать типовые элементы управления доступом (на-пример, роли, привилегии, права и т. д.); 2) политика и механизм управления доступом не должны быть привязаны к пред-метной области конкретной защищаемой КС (например, к веб-приложению, СУБД, ОС); 3) реализация механизма управления доступом не должна быть жёстко привязана к среде выполнения и языку программирования. Принципы атрибутного управления доступом [3] наиболее близко соответствуют данным требованиям. Во-первых, атрибутное управление доступом отличается от дру-