如何快速用 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。
留言
張貼留言