如何快速用 SOQL 撈出哪些 Profile / Permission Set 有權限對某特定 Object 做 Create/Read/Update/Delete

案例情境

想找出哪些 Profile / Permission Set 有權限在 TSN__c 這個 object create record.


操作步驟

步驟一

SELECT Parent.label, PermissionsCreate,SobjectType 

FROM ObjectPermissions 

WHERE SobjectType = 'TSN__c' AND PermissionsCreate = true

order by Parent.label


補充說明: ParentId這一欄存的為 0PS 開頭的 Id,可以代表對應的 Profile 或 Permission Set。

若對應的是 Permission Set,則SELECT Parent.Label 可以直接顯示出該 Permission Set 的名稱。

若對應的是 Profile,則 Parent.Label 欄位會顯示出該 Profile 的 Id (00e開頭的Id)。


步驟二

拿著步驟一得到的 Profile Id,再去進行二次 Query:
SELECT Id, Name 
FROM Profile 
WHERE Id IN ('00e0B000000FXXXXXX', '00e0B000000FYYYYYY', '00e4T000000MZZZZZZ')


步驟三 (optional)

若需要進一步查看這些 Profile / Permission 下有哪些個體 User,則可再 query User object 或 PermissionSetAssignment object。

留言

這個網誌中的熱門文章

ISC2 CC (Certified in Cybersecurity Certification) 考試心得

Salesforce證照考試心得 (Administrator and Advanced Administrator)