專案中,我們可能會遇見以下的場景。
1. HR 經理針對申請者和工作相關的表的app會經常需要修改佈局檢視需要的頁面的欄位;
2. 開發者將record type對應的picklist values等進行調整,或者是針對新建的表需要維護一個新的tab,需要讓管理員去進行上線後的manual action;
3. 某次上線需要建立一個普通的user並且assign給指定的permission set去進行資料的維護等操作。
生產的管理員每天有特別多的事情需要處理,特別是針對上線的節點,如果針對許可權管理比較嚴的公司可能只有管理員有system administrator許可權,其他的開發只能將上線的component list整理成change set打包上生產,然後將需要做的上線後的手動處理弄在文件中由管理員進行處理。針對管理員是國內的還好,如果針對global的專案管理員在國外涉及到時差或者節假日,萬一開發人員沒有將manual action整理完全後續操作很不方便。而且針對某個人或者某幾個人要求管理員頻繁更改pagelayout,溝通成本以及執行起來總是會不方便影響效率。如何解決上述類似的問題呢,Salesforce提供了Delegated Administrator功能去幫助管理員減輕負擔以及幫助業務/技術人員更好的操作。
一. Delegated Administrator
1 適用場景和限制
上述只是引出了Delegated Administrator適用的一小部分場景,其實Delegated Administrator作用遠遠比這個強大,可以用於以下:
- 針對某些指定的角色或者這些角色的下屬角色去建立或者編輯使用者資訊,針對這些使用者,可以進行:重置密碼,設定quota,建立預設的Opportunity team,建立personal group;
- 針對鎖住的賬號進行解鎖;
- 給使用者分配指定的Profile;
- 在對Delegated Administrator授權的Permission Set的group中允許新增或者移除使用者;
- 在對Delegated Administrator授權的Public Group允許管理group member;
- 對管理員授權過可以login as的User,Delegated Administrator同樣也可以對這些user進行login as操作;
- 管理自定義物件,並且可以定製化自定義物件的功能,比如更改page layout,更改 欄位的picklist values,對物件建立tab等;
- 當同一個user在不同的Delegated Adminstrator Group中, 這個user可以將不同的Group中的許可權分配給其他的Delegated Adminstrator Group的Delegated Administrator。
通過上述功能可以看出Delegated Administrator功能還是挺強大的,但是畢竟Delegated Administrator不是真的system adminstrator,還是有很多限制條件的:
- 想要成為一個 Delegated Adminstartor 必須要擁有 ‘View Setup and Configuration’ 的許可權;
- 不是所有的Profile都可以進行分配,當Profile或者Permission Set中包含了‘Modify All Data’許可權時, Delegated Administrator無法對他們進行選擇;
- 不能修改Permission Set的配置項,只是可以選擇他作為user的可分配的permission set選項;
- 需要擁有自定義物件的訪問許可權才能對這些物件公式中的merge field進行訪問,針對標準物件沒有管理的許可權。
2. 操作
我們進入Set Up後搜尋delegated admin便可以新建一個Group去管理Delegated Group。我們在salesforce中經常會用到public groups,那public groups和Delegated Group 是否會有什麼關係或者有什麼聯絡?答案是沒有關係的。Delegated Administrator維護的user用來授予這些使用者相同的管理許可權主要用來進行授權admin管理,public group通常用於進行sharing操作的,無論是sharing rule還是 manual share record。public groups可以新增user/ role /group等作為group內的成員,delegated admin只能新增user。
1) 建立 Delegated Group:我們這裡建立一個Group 名字是 Test Delegation Group.
2)建立好以後我們可以看到有幾個section,針對section區域做不同的配置項。
- Delegated Administrators: 維護的user用於成為此Delegated Group的Delegated Admin;
- User Administration: 這裡用來選擇Role,上文也提到了Delegation Admin可以建立User,那針對User的Role的選擇取決於我們在這裡選擇的Role,這裡選擇的Role以及下屬的Role可以用來作為選擇項(需要注意的是,Delegation Admin只能選擇Role作為建立的User的Role,不能修改系統中的Role的內容);
- Assignable Profiles:當我們建立User的時候,Profile是必填項。Delegation Admin選擇的Profile取決於我們在這裡配置的Profile,其他的Profile是沒法看到和選擇的(這裡需要注意的是,如果Profile擁有了 Modify All Permission,則無法將此Profile放在這裡,這裡也只是選擇已有的Profile,無法新建和編輯已有的Profile);
- Assignable Permission Sets:設定可以assign給user的 permission set,同上面的Profile配置項相同,Delegated Admin只能操作哪些Permission Set可以給user assign,但是沒法修改Permission Set的內容;
- Assignable Public Groups:設定可以assign給user的public group;
- Custom Object Administration:設定Delegated Admin針對自定義表的配置許可權,除了針對Profile中對自定義表的Permission無法修改以外,其他大部分針對自定義表的許可權,此功能均可以配置修改(需要注意的是,這裡只能選擇自定義的表,標準的object是沒有許可權進行 Delegated的)。
通過以上的section我們便可以配置完一個Delegated Group以及assign指定的user作為此group的Delegated Admin了。
3. 驗證
1)上圖中我們將2FA User(Standard Platform User)設定成為Delegated Admin,當我們login as他的賬戶建立User,我們可以看到它可以建立的賬號的Role進行了限制
2) 當我們找到object時,發現我們針對自定義的object只有Goods有編輯許可權,其他的均為只讀。
二. Set Up Audit Trail
我們可能針對不同的功能設定了不同的Delegated Group以及在Group中設定了不同的Delegated Admin,如果有Delegated Admin針對需求的配置錯誤或者System Administrator想要監控Delegated Admin的操作,這個時候我們可以通過 Set Up Audit Trail進行檢視。點選Set Up,輸入 View Setup Audit Trail即可看到針對最新setup的改動的監聽資料。當然不是所有的setup change都會被記錄,salesforce的audit trail支援詳情可以參看:https://help.salesforce.com/articleView?err=1&id=admin_monitorsetup.htm&type=5
總結: 針對某些場景,使用 Delegated Admin可以更好的節約System Administrator時間,也可以更高效的完成某些工作。篇中有錯誤地方歡迎指出,有不懂的歡迎留言。