SAP权限的设定YOLANDAV李伟ModifyByOlivia内部教材CONFIDENTIAL目录•综述•权限维护的内部规定•权限设定的常规方法•权限检查综述——权限设定的注意事项•权限的设定非常重要,其调试也非常繁琐,需要异常谨慎•原则上权限的设定是不允许在生产机上直接做的,需要在开发机上测试成功之后传到生产机上•权限的变更必须要申请,审批完成之后方可维护•权限维护人员是最终在系统中维护权限的,如果对user的权限设定的不合理,有权退回•权限维护过程中必须对其进行记录综述——sap权限架构Roletemplate-Description-Menu-Authorizations……………Authorizationprofile-Objectclass-Authorizationobject-Authorizations………………..AssigntoBindwithSAPUseraccount-Address-Logondata-Group............综述——sap权限架构•名詞解釋(英譯中﹖)﹕•Useraccount﹕就是我們平常說的“帳號”﹐也稱為“USERID”。•Role﹕同類的USER使用SAP的目的和常用的功能都是類似的﹐例如業務一定需要用到開S/O的權限。當我們把某類USER需要的權限都歸到一個集合中﹐這個集合就是“職能”(Role)。•所謂的“角色”或者“職能”﹐是sap4.0才開始有的概念﹐其實就是對user的需求進行歸類﹐使權限的設定更方便。(面向對象的權限!!)•分為singlerole和compositerole兩種﹐后者其實是前者的集合。综述——sap权限架构•Profile:真正記錄權限的設定的文件﹐從sap4.0開始是與Role綁定在一起的。雖然在sap4.6c還可以單獨存在﹐但按sap的行為推測﹐以后將不能“一個人活着”•TemplateRole:Role的模板﹐一般是singlerole.但這個模板具有一個強大的功能﹐能通過更改模板而更改所有應用(sap稱為Derive“繼承”)此模板的Role(sap稱之為adjust)Role的命名和分类•以“Z+”開頭都是UserRole,直接assign給userid。–Z+module+英文描述•以“sap+”開頭都是systemRole,特殊情况下可参考•系统中几个特殊的角色:–Z_COMMON_FOR_ALL_USERS–Z_SAP_ALL–Z_SAP_ALL_1权限设定的操作•上面說過﹐權限的大架構由UserID,Role,Profile三層組成﹐那么﹐權限的設定自然也會有三層。但由于sap4.6是Profile與Role是捆綁在一起的﹐所以在建立Role的時候﹐Profile是會自動創建的(具體見后文)。而UserID的建立比較簡單。所以﹐我將主要說明Role的部分。USERID的建立——1•TCODE﹕SU01單擊建立圖標2輸入要創建的UserID1USERID的建立——2填好这些栏目在某些用户用SAP系统打印时,需要输出这些信息,比如采购部门USERID的建立——3设定用户组設定初始密碼有效期一般不設定别名一般当公司多了后,要把用户分成不同的用户组USERID的建立——4一般是自己公司设定好的标准菜单输出设备是执行打印功能时,所用的打印机USERID的建立——5所有用户共有USERID的建立——6USERID的建立——7接著按save﹐就把USERID创建好了USERID创建好了下面我們看看如何建Role。Role的建立•新创建建Role主要有三种方式。TCODE﹕PFCG•1.由始至終新建;•2.繼承;•3.復制(COPY)﹔Role的建立—完全新建輸入Rolename注意選第二項Role的建立—完全新建描述一般與Rolename一致記錄此Role的創建者記錄此Role的最后修改者把描述填好后﹐按save然后點擊menu頁簽Role的建立—完全新建建立新目錄修改TEXT項目下移項目上移刪除項目手動增加Tcode從SAPMenu中增加Tcode從其他Role中CopyMenu這些是常用的功能Menu頁簽定義的是USERMENU(個人化菜單)的內容。Role的建立—完全新建請大家按圖所示建立目錄﹐第一層是職能﹐這里是EXCEPTION﹐下面分“標准”(Standark)和“外挂”(AddOn)兩個目錄。讓菜單保持清晰﹐可以令User的個人菜單清楚﹐不混亂。我們MIS檢查權限也比較方便。Role的建立—完全新建Role的建立—完全新建Role的建立—完全新建OBJECT完全沒有給值OBJECT只有部分給值OBJECT已經全部有值請注意﹕綠燈只是表示全部有值而已﹐但不一定就是我們所需要的值這時﹐標准Tcode所需要的Object﹐系統會自動帶出來。Role的建立—完全新建•這個Object是任何權限設定文件中都應該有的﹐這是給予啟動Tcode的權限﹐如果Tcode沒有出現在這個列表中﹐user連這個指令的畫面都無法進入Role的建立—完全新建•對Org.Level都給值之后﹐會發現相當一部分的Objectvalue都已經給值了﹐但還有一些Object是紅燈或者是黃燈﹐這些Object是要單獨給值的。Role的建立—完全新建•按一下標志﹐就可以輸入值﹐按保存•在這里介紹一下的作用﹐點擊它﹐就相當於給這個Object一個“*”(star)﹐“*”的意義是AllAuthorization﹐不卡任何權限。Object給值后﹐就變成綠色﹐不能點擊了。Role的建立—完全新建•如果是外挂的Tcode﹐就只能用“直接添加”的方式加入到菜單中﹐需要注意的是﹐外挂的Tcode的Object不會自動帶出來﹐需要自己手工添加。•按﹐點擊Y-AUTH-PRT前的Role的建立—完全新建•變為后﹐按屏幕上方的﹐插入Object.注意﹕外挂的Tcode﹐除了前面所說的列表中要有外﹐這里框住的地方要給Tcode﹐否則user還是不會有權限Role的建立—完全新建•都給好值后﹐按保存﹐按“勾”。•然后按激活。退出。Role的建立—完全新建•Authorization已經變成綠燈﹐這表示權限的設定已經可用了。•點擊USER,AssignUSERID給這個RoleRole的建立—完全新建點擊USERCOMPARE﹐再點擊Completecompare﹐就完成了COMPARE。至此﹐此權限已經Assign完畢﹐FORTEST這個帳號已經具有VA01和YF30的權限Role的建立—繼承大家注意這個地方﹐建立“繼承”關系就是靠這里了Role的建立—繼承執行菜單Edit中的Copydata,系統會提示這個操作不可反轉。按“勾”繼續,執行完畢后我們會看到﹐許多Object已經變成綠燈了。Role的建立—繼承•當所有權限(其實只是設定Org.level)都設定完畢后﹐按激活設定﹐Assign給USERID,就完成了。Role的建立—復制一開始當然是進入PFCG了﹐先把TemplateRole名輸進去﹐然后按COPY按鈕Role的建立—復制Role的建立—復制紅色框住的都是要填入值的地方﹐最好先填完Org.levelRole的建立—復制•與其它方式建立的Role一樣,當所有權限都設定完畢后﹐按激活設定﹐Assign給USERID﹐一個Role就設定完成了Role的修改•1.Merge•2.新增/刪除TCode•3.從其它Role導入•4.AdjustRole的修改—Merge•紅框框住的兩個Object,是同樣的Object,而且其Value又是第一個包含第二個。Role的修改—Merge•上頁紅框里的兩項被合并了。選擇菜單Utilities里的MergeRole的修改—從其它Role導入•當我們要處理的RoleA與某個RoleB的設定十分相似﹐可以通過Insert功能把RoleB的Object設定導入到RoleA中。請留意﹐實際上是導入Profile哦﹐所以一般還要去看RoleB的ProfileName﹐不是很方便。Role的修改—從其它Role導入•需要注意的是﹕這樣導入進去的Object的設定都跟RoleB的一樣﹐一定要把其中對RoleA不適用的部分更正過來。•對RoleB不熟悉不要亂用這功能哦。•還是那句老話﹕欲速不達﹐不熟的事﹐沒有把握的事一定要謹慎。Role的修改—Adjust•Adjust是專門針對存在繼承關系的母子Role的一項功能。•在《Role的建立》一章﹐我們學習到﹐從子Role可以通過CopyData從母Role得到ObjectValue。•現在﹐我們看看從母Role傳送ObjectValue到子Role的功能Adjust。Role的修改—Adjust•用Display模式進入TemplateRole的Profile﹐選擇菜單上的Generatederivedroles即可。從操作來看﹐十分簡單。•注﹕不要用Change進入TemplateRole﹐否則Adjust會造成TemplateRole本身最后修改日期和最后修改人發生改變﹐對查對權限產生誤會Role的修改—Adjust•簡單比較CopyData和Adjust從子Role發出CopyData僅影響執行此功能的子Role﹐其它繼承同一母Role的子Role不受影響同一Client下所有繼承此母Role的子Role均受影響從母Role發出AdjustRole的傳輸—產生RequestNum•在PFCG的開始畫面﹐可以看到。•由于單個Role的傳送比大批量的傳送從操作上來說要簡單而且類似﹐所以我們重點說大批量傳送的操作。大批量的傳輸單個Role的傳輸Role的傳輸—產生RequestNum如果這個Role第一次傳輸這里一定要打勾﹐否則傳輸到其它client后會沒有Assign到UserID。但如果不是第一次傳輸請不要打勾﹐因為只要打了勾就要到目標的Client端去做一次Compare的動作﹐權限才能激活沒有起用Role的傳輸—產生RequestNum•如果要新建一個Request﹐按•其他的传输操作同程序的传输如果現在已經有一個還沒有Release的可用的RequestNum﹐請在這里輸入﹐然后打勾Role的傳輸—產生RequestNum•單個Role的傳輸RequestNum產生的過程與打批量的相似﹐只是開始不一樣而已。•單個傳輸直接KeyRole名字﹐按按鈕﹐其它操作就一樣了Role的刪除•在PFCG中填好Role的名字﹐按按鈕﹐確認﹐即可把Role及其專屬Profile刪除。Role的刪除•請注意﹕如果需要利用傳輸功能在多個環境中刪除Role﹐一定要按以下順序進行﹕•1.對Role產生傳輸的RequestNum﹔•2.刪除本環境的Role﹔•3.Release;(此時本環境中已經沒有這個Role了)•4.傳輸帳號刪除•帳號(UserID)的刪除操作也十分簡單﹐在SU01中﹐輸入帳號名稱﹐按就可以了帳號刪除•刪除一個帳號后﹐為其專設的Role(即Z或W開頭的)也要刪除(包括測試和正式環境)﹐減少系統無用的資料﹐也減少不必要的查對。•或許有人會認為﹕保留這些Role﹐雖然占用一點硬盤﹐但如果以后這個帳號再次起用﹐不就可以不用重設權限嗎﹖•這個理由咋看起來很有道理。實際上USER一旦決定刪除某個帳號﹐在相當長的時間內都不會再起用(一個帳號的費用不菲﹐決定不會輕易下的)﹐在經過長時間后即使需要再次起用﹐其權限需求也要重新審視﹐與其把其新需求與舊有設定一項一項對比修改﹐還不如重新設定來得方便快捷﹐而且更安全。Debug/查看•有一些工具對權限的問題處理很有幫助•1.SU53•2.SUIM•雖然還有一些其它工具﹐但一般很少用或者不實用﹐這里就不介紹了。Debug/查看—SU53•當一個帳號反映沒有某個應有的權限時﹐我們可以在系統出現沒有權限的信息時﹐馬上輸入“/NSU53”Debug/查看—SU53Debug/查看—SU53•上頁紅色框住的就是沒有權限的地方﹐•而藍色框住的是跟這個帳號已經有