Введение
Вне зависимости от поставщика программного обеспечения концепция ролей и полномочий регламентирует доступ группам пользователей к всевозможным бизнес-объектам и соответствующим документам информационной системы. Часто порядок разграничения доступа называют SOD (segregation of duties). SOD – это превентивный контроль, чтобы не допустить концентрацию важных прав доступа в одних руках. Высококритичные операции должны быть разделены в программе на несколько этапов, каждый из которых выполняется разными людьми, что позволяет предотвратить мошенничество, а заодно и обезопасить сам процесс от ошибок.
Система SAP ERP позволяет строить подобные ограничения, имея в арсенале набор всевозможных технических средств: от объектов авторизации до композитных бизнес-ролей. Более того, среда ABAP позволяют гибко кодировать и модифицировать логику проверки полномочий. Давайте попытаемся раскрыть тематику ролей и полномочий для системы SAP ERP, что позволит обеспечить всесторонний взгляд на различные опции технической реализации.
Концептуальное представление логики ведения ролей и полномочий приведено в работе [1], интерпретируем его в терминах SAP. В ERP-системе готовится PFCG-роли, объединение которых будет порождать композитную или бизнес-роль. Именно бизнес-роль в дальнейшем присваивается конечному пользователю. Способ настройки PFCG и композитных ролей задаст концепцию авторизации. Для рассмотрения концепции следует проанализировать содержимое технических ролей.
Роль в системе SAP ERP представляет собой следующую тройку:
- определенный объект полномочий, включающий параметры организационного уровня и разрешенные операции над объектом данных;
- техническая роль PFCG, включающая коды транзакций SAP, а также объекты полномочий c указанными значениями параметров организационных уровней и операций, допустимых над объектами. Кроме того, в роли доступно указание кодов транзакций, которые будут отображаться в области SAP Easy Access для быстрого запуска программ;
- ABAP-код в транзакции, проверяющий объект полномочий и в зависимости от значения параметров выполняющий ту или иную бизнес логику. Одна транзакция в SAP может включать в себя проверку одного или нескольких объектов полномочий.
1. Настройка PFCG-ролей
Для настройки PFCG-роли функциональный консультант должен определить все объекты полномочий, относящиеся к требуемой транзакции, для чего можно воспользоваться SU21 или SU22. Далее создать техническую роль, внося в нее найденные объекты полномочий и указывая для них конкретные значения параметров. На финальном шаге осуществляется присвоение созданной роли пользователю SAP, например, через транзакцию SU02. Тогда в момент запуска пользователем той или иной транзакции, ABAP-логика выявит все подлежащие проверке объекты полномочий, далее проверит значения параметров этих объектов у пользователя, что доступно за счет присвоения пользователю PFCG-роли, и, наконец, выполнит бизнес-логику.
С точки зрения ведения PFCG-ролей следует выделить также ряд технических особенностей. Во-первых, в роли присутствуют объекты полномочий, включающие как оргуровни, так и без них. Во-вторых, несколько ролей можно объединить в одну композитную для удобства. В-третьих, возможно создавать наследуемые PFCG-роли, которые копируют значения объектов полномочий из исходной роли и заменяют лишь те из них, которые вручную определит функциональный консультант.
Введя все необходимые технические детали, зададим концепцию ролей и полномочий в SAP ERP и рассмотрим ее вариации. В первую очередь давайте опишем матрицу ролей и полномочий. Матрица представляет собой электронную таблицу, например, MS Excel, объединяющую в себе все данные, необходимые для технической настройки PFCG-ролей:
- объекты полномочий с указанными значениями параметров, объединенные в одиночные/наследуемые роли;
- одиночные/наследуемые роли, соединенные в композитную роль SAP, непосредственно присваиваемую пользователю. Обычно композитные роли называют бизнес-ролями, например, закупщик, складской сотрудник, бухгалтер и др.;
- а также для целей удобства перечень доступных транзакций в разрезе бизнес-ролей.
Тогда для рассмотрения доступны два типовых подхода к организации ролей в SAP ERP:
- ведение наследуемых ролей, уточняющих оргуровни;
- отдельно созданные роли с/без оргуровней.
Вне зависимости от выбираемого подхода обычно дополнительно создают новую PFCG-роль только для ведения меню транзакций в секции SAP Easy Access.
Полный текст статьи: https://corpinfosys.ru/archive/2022/issue-20/207-2022-20-segregationofduties