有各種不同的方法可以取得 Dataverse 中特定記錄的存取權限。 若要能對資料表執行特定動作 (建立、讀取、寫入、刪除、附加、附加至、指派、共用),需要執行兩個主要檢查:權限檢查和存取檢查。
權限檢查
權限檢查是必須通過的第一道障礙,才能針對資料表的記錄執行特定動作。 權限檢查會驗證使用者是否具有該資料表所需的權限。 每個資料表 (不論是現成或自訂) 都有不同的權限,來提供與該類型記錄的互動功能。
例如,帳戶權限為:
| 權限 | 描述: |
|---|---|
| 建立 | 建立新記錄所需。 可以建立的記錄會取決於資訊安全角色中所定義之權限存取等級。 |
| 讀取 | 開啟記錄來檢視內容所需。 而可以讀取的記錄是取決於資訊安全角色中所定義權限的存取等級。 |
| 寫入 | 變更記錄所需。 而可以變更的記錄是取決於資訊安全角色中所定義權限的存取等級。 |
| 刪除 | 永久移除記錄所需。 而可以刪除的記錄是取決於資訊安全角色中所定義權限的存取等級。 |
| 附加 | 建立目前記錄與另一項記錄的關聯所需。 例如,若使用者擁有附註的 [附加] 權限,即可將附註附加至商機。 可以附加的記錄是取決於資訊安全角色中所定義使用權限的存取等級。 在多對多關聯中,您必須擁有要關聯或解除關聯的兩個資料表的附加權限。 |
| 附加至 | 建立某個記錄與目前記錄的關聯所需。 例如,如果使用者擁有商機的 [附加至] 權限,則使用者可以將附註新增至商機。 可以附加的記錄是取決於資訊安全角色中所定義使用權限的存取等級。 |
| 指派 | 將記錄擁有權提供給另一位使用者所需。 而可以指派的記錄是取決於資訊安全角色中所定義使用權限的存取等級。 |
| 共用 | 在保留您自己存取權的前提下,將記錄存取權提供給另一位使用者時所需。 而可以共用的記錄是取決於資訊安全角色中所定義權限的存取等級。 |
為了對記錄執行動作,使用者必須擁有透過角色直接指派所需的權限,或者必須是權限已指派的資訊安全角色團隊成員。 如果沒有,則使用者會收到拒絕存取錯誤,指出他們不擁有執行動作的必要許可權。
例如,在使用者想要建立帳戶記錄的案例中,使用者必須要有透過指派給他們的資訊安全角色或指派給他們所屬團隊的方式擁有建立權限。
Note
當建立或編輯資訊安全角色時,會授與該角色預定的存取等級。 權限檢查中不會考慮存取層級,而是在權限檢查通過時在存取檢查中完成。
存取權檢查
唯有通過權限檢查才會進行存取權檢查。 存取檢查會驗證使用者是否具有執行其嘗試執行動作所需的權限。
有四種不同的方式讓使用者在特殊記錄中具有執行動作的存取權。 這些包括:
- 擁有權
- 角色存取
- 共用存取
- 階層存取
重要
所有這些都會在存取檢查期間進行檢查,因此使用者可能有權以多種方式對記錄執行所需的動作。
擁有權
使用者對特殊記錄會有存取權,因為他們擁有問題記錄或屬於擁有該記錄的團隊。 在這兩種案例中,不論該記錄屬於哪個業務單位,任何存取權等級都能有存取權。 基於已經通過權限檢查,這代表使用者有適當的存取權執行此動作。
Note
如果使用者屬於擁有該記錄的團隊,則使用者也可以存取該記錄。
角色存取
使用者因為持有資訊安全角色,因此會有存取權對某筆記錄執行動作。 在此案例中,角色的權限存取等級已納入考慮範圍。 有四個主要情境對應於非使用者的不同存取層級,這些情境在擁有權情況中已涵蓋。
| 該記錄屬於使用者或使用者所屬的團隊 | 在這種情況下,用戶必須擁有或屬於具有至少分配有使用者級存取權限的色的團隊。 *請參閱以下附註。 |
| 此記錄屬於和使用者相同的業務單位 | 在這種情況下,用戶必須擁有或屬於具有至少分配有業務單位級存取權限的團隊。 |
| 記錄屬於使用者所屬的團隊相同業務單位 | 在這種情況下,用戶必須擁有或屬於具有至少分配有業務單位級存取權限的團隊。 |
| 該記錄屬於使用者業務單位的子系業務單位 | 在這種情況下,用戶必須擁有或屬於具有至少分配有上層:下層業務單位存取權限的團隊。 |
| 記錄屬於使用者業務單位子系的業務單位,或是該使用者所屬之團隊業務單位的子系中 | 在這種情況下,用戶必須擁有或屬於具有至少分配有上層:下層業務單位存取權限的團隊。 |
| 該記錄屬於非使用者業務單位的子系業務單位 | 在這種情況下,用戶必須擁有或屬於具有至少分配有組織級存取權限的團隊。 |
Note
*對於指派給具有基本層級存取權使用者權限團隊的角色,該角色的繼承組態也會成為重頭戲。 如果團隊已將成員權限繼承設定為僅限團隊權限,則使用者將只能為團隊擁有的記錄使用該權限。 如需詳細資訊,請前往 安全性角色和權限。
共用存取
另一個在未指派明確角色情況下存取記錄的方式是透過共用存取。 當具有適當共用權利的使用者記錄與使用者、團隊或組織共用時,便會取得共用存取權。 使用者可使用五種方式共用對記錄的存取。
| 已直接與使用者共用該記錄 | 如果某筆記錄與使用者共用,進而執行特定動作,則使用者會有存取權執行該動作,前提是使用者已通過權限檢查。 |
| 已直接與使用者共用相關記錄 | 當 A 記錄與 B 記錄相關時會發生下列案例。如果使用者已共用存取權對 A 記錄執行特定動作,只要使用者通過權根檢查,他就能繼承存取權,在 B 記錄上執行相同動作。 |
| 該記錄已與使用者所屬的團隊共用 | 如果某筆記錄與團隊共用,進而執行一組動作,則屬於該團隊的使用者們會有存取權執行那些動作,前提是他們已通過權限檢查。 |
| 相關記錄已與使用者所屬的團隊共用 | 當記錄 A 與記錄 B 相關時,就會發生下列案例。如果將記錄 A 與團隊共用以執行一組動作,而且記錄 A 與記錄 B 相關,則屬於該團隊的使用者會有存取權在 A 記錄和 B 記錄中執行那些動作,前提是他們通過權限檢查。 |
| 該記錄已和整個組織共用 | 如果某筆記錄與組織共用,進而執行一組動作,則屬於該組織的所有使用者們將能執行那些動作,前提是他們通過權限檢查。 |
階層存取
只有在該組織和該資料表中啟用階層安全性管理,且使用者是經理,才會進行階層存取。
在此案例中,如果符合下列兩項條件,使用者會有對該記錄的存取權:
- 經理可以直接指派資訊安全角色或透過具有層級業務單位或父代:子系業務單位的團隊指派。
- 加上下列任何一項:
- 記錄所有人是直屬下屬。
- 直屬下屬是所有人團隊的成員。
- 該記錄已共用並與直屬下屬執行所需動作。
- 該記錄已共用並與直屬下屬所屬的團隊執行所需動作。
記錄存取檢查
對於每個顯示在網頁用戶端中的記錄,使用者都可以透過命令列中的檢查存取選項,查看他們獲授與記錄存取權限的情形。 使用者還可以查看有權存取該記錄的其他使用者及其各自的存取層級。
有兩個環境資料庫設定可設定來使用誰可以存取功能。 安裝 OrganizationSettingsEditor 工具,並將以下內容設為 true:
- IsAccessCheckerAllUsersEnabled:這可讓系統管理員查看誰擁有列的存取權。
- IsAccessCheckerNonAdminAllUsersEnabled:這可讓系統管理員、記錄擁有者以及有權限的使用者查看存取權。