Система управления доступом к ресурсам
Система управления доступом к ресурсам (англ. Resource Access Control Facility, сокращённо RACF) — это реализация интерфейса безопасности SAF (англ. System Authorization Facility), разработанная компанией IBM для мейнфрейм-операционных систем семейства MVS (Multiple Virtual Storage, ядро англ. z/OS), а также — в более ранней версии — для англ. z/VM. Современное название продукта — SecureWay Security Server – RACF. Первая версия была представлена в 1976 году.
Userids
Пользователями системы являются как физические лица, так и технические пользователи (служебные учётные записи), которые проходят аутентификацию с помощью RACF-USERID в различных прикладных онлайн-системах (например, TSO, CICS, IMS), а также серверные процессы (англ. Started Tasks в терминологии MVS), которым администратор RACF также может присвоить отдельный идентификатор пользователя.
В пользовательском профиле RACF, помимо имени пользователя, хранится статистическая и вспомогательная информация:
- дата смены пароля;
- последнее использование идентификатора;
- пароль (в зашифрованном виде) и история смен паролей;
- членство в группах;
- пользовательские атрибуты, такие как REVOKED (признак блокировки учётной записи) и специальные административные права;
- другие характеристики, описывающие и ограничивающие использование подсистем MVS, таких как Unix System Services, CICS, TSO или файловой системы.
Для защиты служебных учётных записей применяются атрибут RESTRICTED, блокирующий доступ к ресурсам без явного разрешения (игнорируя правила универсального доступа), и PROTECTED, который запрещает аутентификацию по паролю и предотвращает интерактивный вход в систему. Для немедленного прерывания работы пользователя применяется механизм изоляции (параметр CONTAIN), который блокирует все вызовы SAF и лишает доступа к системным ресурсам даже в уже активных сессиях.
Система поддерживает многофакторную аутентификацию (MFA) через протокол SAML, RSA SecurID, смарт-карты, цифровые сертификаты и аппаратные ключи[1][2]. Также в RACF реализована поддержка токенов идентификации (Identity Tokens) на базе стандарта JWT. Токены не сохраняются в базовом профиле пользователя — для управления ими и их настройками используются профили в специальном классе ресурсов IDTDATA[3].
Административные полномочия для Userids
В профиле пользователя можно настроить административные полномочия:
- SPECIAL
- Делает пользователя администратором RACF-системы. Такой пользователь может управлять всеми настройками в RACF.
- AUDITOR
- Позволяет пользователю (например, ревизору) управлять механизмами аудита и протоколирования.
- ROAUDIT
- (READ ONLY AUDITOR) даёт пользователю права просмотра параметров, доступных администраторам SPECIAL или AUDITOR, но без возможности изменять настройки аудита; (введено с версии z/OS 2.2.0)
- OPERATIONS
- Предоставляет полные права доступа ко всем файловым ресурсам. Обычно этим правом наделяются сотрудники, отвечающие за управление хранилищем данных. Действия, совершаемые с использованием этого атрибута, могут дополнительно протоколироваться.
Для делегирования административных полномочий без использования глобального атрибута SPECIAL применяются следующие механизмы:
- GROUP-SPECIAL
- Назначение атрибута SPECIAL на уровне конкретной группы. Обеспечивает полный контроль над всеми профилями в области влияния группы и позволяет просматривать системные настройки RACF[4].
- CLAUTH (Class Authority)
- Делегирование привилегий на управление отдельными классами ресурсов. Даёт право создавать и поддерживать профили в указанных классах, а также добавлять новых пользователей при наличии прав на класс USER[4].
- Профили в классе FACILITY
- Использование профилей общих ресурсов для точечного предоставления доступа к системным функциям и продуктам, что позволяет выполнять специфические задачи без выдачи широких привилегий[4].
Аудит (протоколирование) пользователей
Критически важные или обладающие повышенными полномочиями пользователи могут подвергаться аудиту. Для этого в RACF для нужного пользователя устанавливается атрибут UAUDIT, вследствие чего все его действия фиксируются в виде специальных SMF-записей операционной системы. Для последующего анализа этих записей применяются специализированные инструменты. События многофакторной аутентификации (MFA) фиксируются в SMF-записях типа 80 с использованием специфических кодов: 40 (успешная аутентификация), 41 (ошибка аутентификации), 42 (ошибка из-за невозможности принять решение) и 43 (частичный успех). Передача данных аудита в системы обнаружения угроз в реальном времени осуществляется через интерфейс z/OS SMF Real-Time Interface. Для этого подсистема SMF должна функционировать в режиме записи «logstream», что позволяет направлять события в специальные ресурсы оперативной памяти (in-memory resources) для мгновенного доступа.
Ресурсы
В классическом понимании ресурсами выступают файлы, магнитные ленты, терминалы, однако в современном виде понятию «ресурс» в RACF может соответствовать практически любой объект, который установка сочтёт нужным защитить, например, консольные команды, идентификаторы транзакций в онлайн-системах или разрешение на сброс пароля другому пользователю.
Каждый ресурс защищён соответствующим ресурсным профилем. Такой профиль идентифицируется именем класса (например, DATASET) и собственным названием, описывающим защищаемый объект полностью (дискретный профиль) или частично (генерический профиль). Например, генерический профиль DATASET SYS1.** защищает все файлы, чьи имена начинаются с SYS1., если только они не защищены более конкретным профилем.
Профиль может задавать уровень универсального доступа, применяемого ко всем пользователям системы. Для отдельных пользователей или групп в списке доступа могут быть определены другие права.
RACF определяет шесть уровней доступа, которые интерпретируются менеджерами ресурсов z/OS следующим образом:
- NONE — отсутствие доступа;
- EXECUTE — право исполнения программы без возможности копирования, при этом код исключается из дампа памяти;
- READ — чтение файлов, включает EXECUTE;
- UPDATE — запись в файл, включает READ;
- CONTROL — расширенная запись, включает UPDATE;
- ALTER — полный контроль над файлом: создание, удаление, переименование, включает CONTROL.
Изначально RACF использовалась только для контроля доступа к файлам, а поддержка других типов ресурсов появилась позднее, поэтому наименования уровней доступа ориентированы на файловую систему.
Группы RACF
Группы в RACF реализуют развитую концепцию управления доступом:
- С их помощью можно объединять идентификаторы пользователей и делегировать права на определённые объекты не каждому пользователю по отдельности, а всей группе сразу. Пользователь может состоять максимум в 8191 группе[5] и получает совокупность всех прав, предоставленных его группам (если включена опция RACF «LIST OF GROUPS ACCESS CHECKING IS ACTIVE»).
- Группы организованы иерархически: на верхнем уровне располагается группа SYS1. Иерархия позволяет административно управлять системой по организационному принципу. Пользователь с административными правами в группе получает такие же права и для всех её подгрупп.
- Архитектура групп позволяет реализовать ролевую модель доступа (RBAC), при которой группы выступают в качестве ролей[6]..
- Для автоматизации управления правами RACF интегрируется с внешними системами IGA (Identity Governance and Administration) через LDAP или специализированные агенты[7].[8].
Менеджеры ресурсов
Система RACF (точнее, её компонент SAF) работает в пассивном режиме. Пользовательский запрос к ресурсу инициируется через менеджер ресурсов, который формирует название запрашиваемого объекта и обращается к SAF за разрешением на доступ. В ответ SAF/RACF возвращает разрешение («да»), отказ («нет») или неопределённый ответ («не знает» — если ресурс не защищён профилем). Соответствующее подсистема либо разрешает, либо блокирует доступ к ресурсу.
Примерами менеджеров ресурсов являются файловая подсистема операционной системы z/OS (работа с файловыми объектами) и CICS (работа с кодами транзакций). Кроме того, возможно настроить СУБД DB2 таким образом, чтобы права на объекты базы данных управлялись не стандартными средствами SQL, а средствами RACF. Начиная с версии 8 DB2 для z/OS можно реализовать multilevel security (MLS) c разграничением доступа к отдельным строкам таблицы посредством RACF.
В современной архитектуре SAF обеспечивает безопасность API-вызовов и интеграцию с REST-сервисами через шлюзы (например, z/OS Connect). При обработке запросов роли из REST API сопоставляются с профилями SAF в классе EJBROLE, а внешние идентификаторы пользователей транслируются в локальные учётные записи z/OS для безопасного доступа к целевым системам. Для связывания множественных API-вызовов и их валидации без необходимости повторной передачи учётных данных SAF поддерживает работу с Identity Tokens (IDT) на базе стандарта JWT[9].
Интеграция и управление секретами
19 июня 2026 года состоялся релиз программного продукта IBM zSecure Secret Manager[10].