sap資料--sap許可權解剖(二)
直觀的說,許可權就是“某人能幹某事”和“某人不能幹某事”之合。在SAP系統中,用事務碼(也稱交易程式碼、或者TCODE、或者Transaction Code)表示一個使用者能幹的事情。比如MM01這個TCODE是用來維護物料資料的、MIGO是用來收貨的、FS00是用來維護會計科目的等。
用SU01新建一個ID時,預設的許可權是空白,即這個新建的ID不能做任何事情,不能使用任何事務程式碼。這樣只需要為相應的ID賦上相應的TCODE,即可實現“某人能幹某事”了,其補集,則是“某人不能幹的某些事”。
上面這些,僅僅是SAP許可權控制的初級概念,要理解SAP許可權控制的全部,必須還要明白下面的概念。
1、角色(ROLE)、通用角色(Common Role)、本地角色(Local Role)
上面講了,角色,即ROLE,是一堆TCODE的集合,當然還包含有TCODE必備的“許可權物件”、“許可權欄位”、“允許的操作”及“允許的值”等。我們使用PFCG來維護角色。
為了系統的測試與SAP實施專案的階段性需要,進一步將角色分為“通用角色”和“本地角色”。
舉個例子便於理解:通用角色好比“生產訂單制單員”,本地角色對應就是“長城國際組裝一分廠生產訂單制單員”。所以,本地角色較之通用角色的區別就是,在同樣的操作許可權(事務程式碼們)情況下,前者多了具體的限制值。這個限制值可能是組織架構限制,也可能是其他業務的限制。如,一分廠的制單員不能維護二分廠的制單員;一分廠的制單員甲只能維護型別為A的單據,而不能維護型別為B的單據,諸如此類。
具體請看下面的概念。
2、許可權物件(Authorization Object)、許可權欄位(Authorization Field)、允許的操作(Activity)、允許的值(Field Value)
上文粗略說了構成ROLE的是若干TCODE。其實,在ROLE和TCODE之間,還有一箇中間概念“許可權物件”:
角色包含了若干許可權物件,在透明表AGR_1250中有儲存二者之間的關係;
許可權物件包含了若干許可權欄位、允許的操作和允許的值,在透明表AGR_1251中體現了ROLE/Object/Field/Value之間的關係;
有一個特殊的許可權物件用來包含了若干事務碼。這個許可權物件叫“S_TCODE”,該許可權物件的許可權欄位叫“TCD”,該欄位允許的值(Field Value)存放的就是事務程式碼;
有一種特殊的許可權欄位用來表示可以針對該許可權物件做哪些操作,是允許建立、修改、顯示、刪除或者其他呢。該許可權欄位叫“ACTVT”,該欄位允許的值(Field Value)存放的就是允許操作的程式碼,01代表建立、02代表修改、03代表顯示等;
SAP的許可權控制是控制到欄位級的,換句話說,其許可權控制機制可以檢查你是否有許可權維護某張透明表的某一個欄位。
SAP系統自帶了若干許可權物件、預設控制了若干許可權欄位(對應到透明表的某些欄位)。可以用事務碼SU20來檢視系統有哪些許可權欄位,用SU21來檢視系統有哪些預設的許可權物件。
於是我們知道了事務程式碼與許可權物件的區別。從許可權控制的範疇來看,事務程式碼屬於一種特殊的許可權物件;一個事務程式碼在執行過程中,為了判斷某個ID是否有許可權執行此事務程式碼,還可能檢查其他若干普通的許可權物件。使用SU22來檢視某個事務程式碼包含了哪些許可權物件。在透明表USOBX中,存放了事務碼與許可權物件的對應關係。
3、自定義許可權物件
上文所說的系統自帶許可權物件與許可權欄位僅能滿足有限的需要,其許可權稽核的邏輯也是系統硬編碼了的,我們能做的只是是否啟用某項許可權物件的檢查(使用SU22)。如果需要自定義,透過SU20、SU21定義即可。呼叫的時候在程式中加入類似程式碼:
AUTHORITY-CHECK OBJECT 'Z_VKORG' ID 'VKORG' FIELD 'REC_VKORG-VKORG'.
IF SY-SUBRC <> 0.
MESSAGE 'No Authorization!' TYPE 'E'.
ENDIF.
結語:
本文僅對系統本身做了技術性敘述,並未結合業務實際,但是我們有勾勒出了一個大致的許可權矩陣,縱向是操作人(ID),橫向是某些許可權物件,許可權物件再細分成若干事務程式碼、允許動作、許可權欄位及其允許的值等。
而實際業務中是否需要將許可權劃分的如此細緻,完全取決於某領導的喜好、跳不過的律法、和企業內部的規章制度。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30745/viewspace-1043526/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sap資料--sap許可權解剖(一)
- SAP BO: 資料夾的許可權管理
- SAP自定義許可權物件物件
- SAP Basis DEBUG改表資料許可權角色設計
- sap許可權管理技術架構分析架構
- SAP Business Application Studio的許可權控制APP
- SAP PLM文件許可權物件的控制級別物件
- SAP BPS:Web 許可權實現新思路Web
- [SAP BO]BOE的 檔案許可權設定
- 資料許可權
- SAP QM 許可權控制可以到Inspection Type上
- 許可權系統:一文搞懂功能許可權、資料許可權
- 使用註解 @requires 給 SAP CAP CDS 模型新增許可權控制UI模型
- MySQL資料庫許可權體系入門(5)---管理資料庫許可權MySql資料庫
- Oracle許可權(二)許可權相關的動態效能檢視與資料字典檢視Oracle
- SAP 系統中F4在幫助中顯示的物料主資料許可權控制
- 資料分析的許可權控制
- 資料庫的許可權管理資料庫
- 許可權+訂單資料模型模型
- 資料安全之許可權控制
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- SAP BTP Launchpad Service 打不開應用的許可權問題
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- 【專案實踐】一文帶你搞定頁面許可權、按鈕許可權以及資料許可權
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse
- ylbtech-許可權管理-資料庫設計-功能許可權管理技術資料庫
- MySQL資料庫許可權體系入門(4)---管理全域性許可權MySql資料庫
- 查詢沒有許可權但資料字典中顯示有許可權
- 資料許可權技術驗證
- 資料許可權驗證MyBatis版MyBatis
- 往hdfs寫資料無許可權
- 資料庫學習:許可權管理資料庫
- Mysql資料庫許可權問題MySql資料庫
- EBS 臨時資料夾許可權
- 修改檔案、資料夾許可權
- 基於RBAC做資料許可權
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 許可權之選單許可權