Microsoft Dataverse 中的基於過濾器的安全(預覽版)

[本文章是發行前版本文件,且隨時可能變更。]

基於所有權的安全透過記錄所有權、團隊、業務單位及組織層級權限授予存取權限。 以篩選條件為基礎的安全性機制,允許存取符合篩選條件的記錄資料。 例如,您可以授權存取包含 Redmond、 Seattle 或 Bellevue 的城市欄位紀錄。

你可以在以下情況下使用基於過濾器的安全:

  • 已篩選的記錄擁有權資料表。
  • 使用者或團隊記錄所有權表。
  • 組織記錄擁有權資料表。

了解基於過濾器的安全運作方式

配置基於過濾器的安全,包含兩個主要元件:

  • 記錄過濾器: 使用 FetchXML 來識別符合存取資格的紀錄。
  • 實體記錄篩選器: 將記錄過濾器與 Dataverse 資料表關聯。

當你將篩選器與資料表關聯時,Dataverse 會建立篩選權限。 透過安全角色來分配這些權限。 當使用者存取資料時,Dataverse 會根據使用者的安全角色與團隊成員資格評估篩選條件。 匹配過濾器可賦予相應的資料存取操作。

對於篩選過的紀錄所有權資料表,過濾權限決定了記錄存取權。 針對使用者或團隊以及組織記錄擁有權資料表,過濾權限會額外加到透過現有安全性模型授與的存取權限之上。

以篩選器為基礎的安全元件

Component Description
記錄篩選器 儲存 FetchXML 濾鏡定義。
實體記錄過濾器 將記錄過濾器與 Dataverse 資料表關聯。
過濾特權 授予特定資料存取操作的篩選存取權限。
資訊安全角色 為使用者和團隊分配篩選權限。

Dataverse 結合了使用者安全角色與團隊成員的所有授權篩選條件。 符合任何授權過濾器的紀錄會獲得相應的存取權限。

比較所有權模型

基於過濾器的安全性支援所有 Dataverse 擁有權類型。

能力 用戶或團隊擁有 組織所擁有 過濾式所有權
支援記錄擁有者 Yes No No
支援分配 Yes No No
支援分享 Yes No No
支援業務單位階層存取 Yes No No
使用基於所有權的權限 Yes No No
支援全組織的存取 透過角色特權 Yes 透過「所有記錄」篩選器權限
支援基於過濾器的安全 Yes Yes Yes
僅使用過濾器來判斷存取權限 No No Yes
支援記錄重新指派 Yes No No
典型使用案例 帳戶、案例、機會與營運業務資料 共享參考與配置資料 基於屬性的存取控制、基於權限的存取、地理分段與資料分類

選擇擁有權模式

當記錄有自然擁有者且業務流程需要指派、分享、管理者可見性或業務單位階層存取時,使用使用者或團隊紀錄所有權表。

當使用者在組織內廣泛共享紀錄且不需要所有權時,可以使用組織紀錄所有權表。

當業務屬性必須決定存取權而非所有權時,請使用過濾紀錄所有權表。 此模型適用於基於屬性的存取控制(ABAC)、基於權利的安全、法規邊界及基於敏感性的授權。

Note

你可以對使用者或團隊、組織的紀錄擁有權以及篩選式紀錄所有權資料表套用基於過濾器的安全性。 只有經過篩選的紀錄所有權資料表,才完全依賴篩選權限來存取紀錄。

基於篩選的安全性與已篩選的所有權資料表

過濾紀錄擁有權是一種 Dataverse 的所有權模型,完全透過過濾權限決定存取權。

經過篩選的擁有權資料表不會使用記錄擁有者。

篩選過的所有權表具有以下特性:

  • 不要包含唱片擁有者。
  • 無法指派給使用者或團隊。
  • 無法與使用者或團隊共享。
  • 不要使用基於擁有權的安全權限。
  • 僅使用過濾權限來決定存取權限。

Note

當你建立篩選紀錄所有權表時,Dataverse 會建立一個全域的「 所有紀錄 」過濾權限,並將其授予系統管理員安全角色。

建立篩選過的紀錄所有權表

當你建立 Dataverse 表格時,選擇 「篩選」 作為所有權類型。 如需相關指示,請參閱 已篩選記錄的所有權。

建立表格後:

  1. 建立一個或多個 記錄過濾器。
  2. 建立 實體記錄篩選器 ,將篩選器與資料表關聯。
  3. 透過 安全角色賦予產生的過濾權限。
  4. 將安全角色指派給使用者或團隊。

對使用者或團隊的紀錄所有權表套用基於過濾器的安全性

你也可以對現有的使用者或團隊記錄所有權資料表套用基於過濾器的安全性。

過濾權限可新增對現有所有權基礎安全模型的存取權限:

  • 使用者仍擁有記錄。
  • 你可以繼續指派和分享紀錄。
  • 業務單位階層存取權保持不變。
  • 過濾權限則提供額外的列級存取權限。

例如,銷售人員可以存取其擁有的商機。 篩選器可以讓銷售人員在特定區域內獲得更多機會。

以下篩選器可授予特定區域內活躍帳戶的存取權限:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="false">
  <entity name="account">
    <attribute name="entityimage_url" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="address1_city" />
    <attribute name="primarycontactid" />
    <attribute name="telephone1" />
    <attribute name="accountid" />
    <attribute name="new_owningbuname" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="territoryid"
        operator="eq"
        value="a440958c-f6bc-f111-aaad-000d3a84e349" />
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
  </entity>
</fetch>

以下範例使用 link-entity 讓業務人員能存取其代班同事所擁有的活躍帳戶:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="true">
  <entity name="account">
    <attribute name="entityimage" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="parentaccountid" />
    <attribute name="ownerid" />
    <attribute name="telephone1" />
    <attribute name="emailaddress1" />
    <attribute name="accountid" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
    <link-entity
      name="crcd8_buddyrm"
      alias="buddy"
      link-type="inner"
      from="crcd8_rm"
      to="ownerid">
      <filter type="and">
        <condition
          attribute="crcd8_buddyrmname"
          operator="eq-userid" />
        <condition
          attribute="statecode"
          operator="eq"
          value="0" />
      </filter>
    </link-entity>
  </entity>
</fetch>

有效存取

對於使用者或團隊的紀錄所有權資料表,過濾權限可為所有權安全性提供列層級存取。 它們不會取代或減少透過擁有權、共享或安全角色權限所授予的存取權限。

對於篩選過的所有權資料表,過濾權限決定了記錄存取權。 對於組織紀錄所有權資料表,過濾權限會加到由安全角色權限授予的存取權限上。

這種加法模型讓你能在保留現有存取規則的同時,引入基於屬性的存取。

欲了解更多所有權安全相關資訊,請參閱 「所有權與紀錄存取」。

對組織紀錄所有權資料表套用基於過濾器的安全性

你也可以對組織紀錄所有權資料表套用基於過濾器的安全性。

組織紀錄擁有權資料表的標準權限可存取資料表中所有紀錄。 篩選權限提供了另一種授予對匹配紀錄存取權限的方式。 他們不會減少資安職位已經賦予的更廣泛存取權限。

常見情況包括:

  • 依地區劃分的存取權限。
  • 以部門為基礎的存取權限。
  • 資料分類控制。
  • 共用參考資料,且可見性受範圍限制。

例如,授權使用者存取區域欄位與特定區域相符的紀錄。 確保他們其他的安全角色權限不會讓他對同一資料表有更廣泛的存取權限。

過濾權限在保留組織紀錄所有權資料模型的同時,提供細緻的授權。

欲了解更多關於組織紀錄所有權表的資訊,請參閱 「所有權與紀錄存取」。

過濾器權限

當你透過實體記錄篩選器將記錄過濾器與資料表關聯時,Dataverse 會建立篩選權限。 透過安全角色來分配這些權限。

過濾權限支援以下資料存取操作:

  • Create.
  • 讀取。
  • 寫作。
  • 刪除。
  • 附加。
  • 附錄。

每個權限都對應到特定的過濾器和特定的表格。

以下範例展示了多個城市過濾器的權限:

Filter 權限
城市 = 雷德蒙德 參閱
城市 = 雷德蒙德 書寫
城市 = 雷德蒙德 Delete
城市 = 西雅圖 參閱
城市 = 貝爾維尤 參閱

建立多個過濾器,並根據需要為每個安全角色分配不同權限。

在安全性角色中授與篩選權限

透過 Dataverse 安全角色管理過濾權限。

若要授予已篩選的存取權限:

  1. 開設一個資安職缺。
  2. 選取目標資料表。
  3. 選擇篩選權限。
  4. 將此權限授予該角色。
  5. 將角色指派給使用者或團隊。

使用者可從其分配的安全角色及團隊成員身份獲得所有過濾權限。

如需詳細資訊,請參閱資訊安全角色和權限。

範例

假設一個客戶資料表包含一個城市欄位。

建立三個記錄過濾器:

  • 城市 = 雷德蒙德。
  • 城市 = 西雅圖。
  • 城市 = 貝爾維尤。

透過實體記錄篩選器,將每個記錄篩選器與客戶資料表建立關聯。

建立三個安全角色:

Role 過濾特權
雷德蒙德·薩爾斯 讀取城市 = Redmond 的客戶資料
西雅圖業務 讀取 City = Seattle 的客戶
貝爾維尤拍賣會 閱讀《顧客在哪裡城市=貝爾維尤》。

每個角色都會授權存取符合其篩選條件的客戶紀錄。 使用者可能透過其他角色、團隊成員、所有權或共享,擁有更廣泛的存取權。

Summary

篩選式安全性會根據資料值授予資料列層級的存取權限。 使用記錄過濾器、實體記錄過濾器、過濾器權限及安全角色,在 Dataverse 中實作基於屬性的存取控制。

在使用者或團隊中加入基於過濾器的安全機制,以及組織記錄所有權表,以提供更多透過篩選條件存取的資料。 選擇符合您企業需求的擁有模式。 請記得,只有經過篩選的所有權資料表才會將篩選器作為唯一的紀錄存取來源。

下一步