Концепции безопасности

SAP Постоянные данные ABAP Концепции безопасности

LUW базы данных и методы связывания, используемые с SAP LUW, обеспечивают согласованность данных в конце транзакции. Наряду с объектами блокировки, используемыми на уровне приложения, SAP неявно устанавливает блокировки базы данных при использовании операторов Open SQL SELECT, INSERT, UPDATE, MODIFY или DELETE. Эти концепции блокировки дополнительно обеспечивают согласованность данных.

Безопасность данных — еще один важный компонент, который следует учитывать. Обеспечение того, чтобы только авторизованные пользователи имели доступ к данным, жизненно важно для бизнеса. Например, вы бы не хотели, чтобы сотрудник видел компенсационные выплаты или личные данные других сотрудников. Операторы Open SQL сами по себе не выполняют никаких проверок авторизации при выполнении; авторизация пользователя должна быть проверена на уровне приложения перед предоставлением доступа к данным.

Для облегчения авторизации пользователя в прикладных программах мы можем использовать объекты авторизации. Объект авторизации может иметь до десяти полей авторизации. Мы используем эти поля авторизации, чтобы проверить, есть ли у пользователя авторизация для определенного действия в системе. Например, ниже показан объект авторизации S_CARRID с парой полей авторизации, а именно CARRID и ACTVT. Поле CARRID предполагает код авиакомпании, авторизация для которой должна быть проверена для пользователя.




Поля ACTVT предполагают действие, которое следует проверить, например, изменение или отображение. Нажав кнопку «Допустимые операции», вы увидите доступные действия, которые можно проверить. Это позволяет вам проверять различные действия на основе действий пользователя в приложении. Например, вы можете предоставить доступ к отображению определенному пользователю, но не изменять доступ.

Мы можем использовать объект авторизации S_CARRID, чтобы проверить, есть ли у пользователя полномочия на "Добавить или создать" Эту проверку можно выполнить перед созданием новых записей с помощью инструкции INSERT.

Точно так же мы можем проверить, есть ли у пользователя разрешение на просмотр, прежде чем выполнять оператор SELECT для выбора данных.

Объект авторизации вызывается в прикладной программе с помощью оператора AUTHORITY-CHECK OBJECT. Кнопку "Образец" в редакторе ABAP можно использовать для вставки необходимого синтаксиса. Ниже показан пример кода для проверки наличия у пользователя прав на отображение для конкретной авиакомпании.
PARAMETERS p_carrid TYPE spfli-carrid.

AT SELECTION-SCREEN.
  AUTHORITY-CHECK OBJECT 'S_CARRID'
  ID 'CARRID' FIELD p_carrid
  ID 'ACTVT'  FIELD '03'.
  IF sy-subrc IS NOT INITIAL.
    MESSAGE 'Нет авторизации для авиакомпании' TYPE 'E'.
  ENDIF.
Объекты авторизации создаются администраторами SAP Basis, а профиль авторизации сохраняется в основной записи пользователя. Оператор AUTHORITY-CHECK проверяет профиль пользователя, чтобы определить, есть ли у него необходимые полномочия. Всегда рекомендуется выполнять проверку авторизации в начале программы.

Комментарии