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