Filterbasierte Sicherheit in Microsoft Dataverse (Vorschau)

[Dieser Artikel ist eine Vorabdokumentation und kann geändert werden.]

Eigentumsbasierte Sicherheit gewährt Zugriff durch den Besitz von Datensätzen, Teams, Geschäftseinheiten und Berechtigungen auf Organisationsebene. Filterbasierte Sicherheit gewährt Zugriff über Datensatzdaten, die Filterkriterien erfüllen. Sie können z. B. Zugriff auf Datensätze gewähren, deren Spalte "Stadt" "Redmond", "Seattle" oder "Bellevue" enthält.

Sie können die filterbasierte Sicherheit mit Folgendem verwenden:

  • Gefilterte Datensatzbesitztabellen.
  • Eigentümertabellen für Benutzer- oder Teamdatensätze.
  • Tabellen zur Datensatzinhaberschaft von Organisationen

Grundlegendes zur Funktionsweise der filterbasierten Sicherheit

Konfigurieren der filterbasierten Sicherheit mit zwei primären Komponenten:

  • Datensatzfilter: Verwendet FetchXML, um Datensätze zu identifizieren, die für den Zugriff berechtigt sind.
  • Entity Record Filter: Ordnet einen Datensatzfilter einer Dataverse-Tabelle zu.

Wenn Sie einem Filter eine Tabelle zuordnen, erstellt Dataverse Filterberechtigungen. Weisen Sie diese Berechtigungen über Sicherheitsrollen zu. Wenn ein Benutzer auf Daten zugreift, wertet Dataverse die Filter aus den Sicherheitsrollen und Teammitgliedschaften des Benutzers aus. Ein übereinstimmenden Filter gewährt den entsprechenden Datenzugriffsvorgang.

Bei gefilterten Datensatzbesitztabellen bestimmen Filterberechtigungen den Datensatzzugriff. Bei Datensatzbesitztabellen für Benutzer oder Teams sowie Organisationen ergänzen Filterberechtigungen den Zugriff, der über das vorhandene Sicherheitsmodell gewährt wird.

Filterbasierte Sicherheitskomponenten

Component Description
Datensatzfilter Speichert die FetchXML-Filterdefinition.
Entitätsdatensatzfilter Ordnet einen Datensatzfilter einer Dataverse-Tabelle zu.
Filterberechtigungen Gewährt gefilterten Zugriff für einen bestimmten Datenzugriffsvorgang.
Sicherheitsrolle Weist Benutzern und Teams Filterberechtigungen zu.

Dataverse kombiniert alle autorisierten Filter aus den Sicherheitsrollen und Teammitgliedschaften des Benutzers. Ein Datensatz, der einem autorisierten Filter entspricht, erhält den entsprechenden Zugriff.

Vergleichen von Besitzermodellen

Filterbasierte Sicherheit unterstützt alle Dataverse-Besitzertypen.

Fähigkeit Benutzer- oder Teambesitz Im Besitz der Organisation Gefilterter Besitz
Unterstützt einen Datensatzinhaber Ja Nein Nein
Unterstützt Zuordnung Ja Nein Nein
Unterstützt die Freigabe Ja Nein Nein
Unterstützt den Zugriff auf die Geschäftseinheitshierarchie Ja Nein Nein
Verwendet besitzerbasierte Berechtigungen Ja Nein Nein
Unterstützt den organisationsweiten Zugriff Durch Rollenprivilegien Ja Über die Berechtigung "Alle Datensätze filtern"
Unterstützt filterbasierte Sicherheit Ja Ja Ja
Verwendet nur Filter, um den Zugriff zu bestimmen Nein Nein Ja
Unterstützt die Neuzuweisung von Datensätzen. Ja Nein Nein
Typische Anwendungsfälle Kundenkonten, Fälle, Vertriebschancen und operative Geschäftsdaten Freigegebene Referenz- und Konfigurationsdaten Attributbasierte Zugriffssteuerung, berechtigungsbasierter Zugriff, geografische Segmentierung und Datenklassifizierung

Auswählen eines Besitzmodells

Verwenden Sie Benutzer- oder Teamdatensatz-Besitzertabellen, wenn Datensätze über einen natürlichen Besitzer und Geschäftsprozesse verfügen, die Zuweisung, Freigabe, Managersichtbarkeit oder Hierarchiezugriff auf Geschäftseinheiten erfordern.

Verwenden Sie Tabellen mit Datensatzbesitz auf Organisationsebene, wenn Benutzer Datensätze organisationsweit freigeben und keine Besitzzuweisung benötigen.

Verwenden Sie gefilterte Datensatzbesitztabellen, wenn Geschäftsattribute den Zugriff anstelle des Besitzes bestimmen müssen. Dieses Modell eignet sich gut für die attributbasierte Zugriffssteuerung (ABAC), die berechtigungsbasierte Sicherheit, regulatorische Grenzen und die vertraulichkeitsbasierte Autorisierung.

Note

Sie können filterbasierte Sicherheit auf Benutzer oder Teams, den Datensatzbesitz der Organisation und gefilterte Tabellen zum Datensatzbesitz anwenden. Nur gefilterte Datensatzbesitztabellen basieren ausschließlich auf Filterberechtigungen für den Datensatzzugriff.

Filterbasierte Sicherheit mit gefilterten Besitzertabellen

Gefilterter Datensatzbesitz ist ein Besitzermodell in Dataverse, das den Zugriff vollständig über Filterberechtigungen regelt.

Gefilterte Eigentümertabellen verwenden keine Eigentümer von Datensätzen.

Gefilterte Besitzertabellen weisen die folgenden Merkmale auf:

  • Keine Datensatzbesitzer enthalten.
  • Kann Benutzern oder Teams nicht zugewiesen werden.
  • Kann nicht für Benutzer oder Teams freigegeben werden.
  • Verwenden Sie keine besitzbasierten Sicherheitsberechtigungen.
  • Legen Sie den Zugriff nur mithilfe von Filterrechten fest.

Note

Wenn Sie eine gefilterte Datensatzbesitztabelle erstellen, erstellt Dataverse ein globales " Alle Datensätze "-Filterberechtigungen und gewährt sie der Sicherheitsrolle "Systemadministrator".

Erstellen einer gefilterten Datensatzbesitztabelle

Wenn Sie eine Dataverse-Tabelle erstellen, wählen Sie "Gefiltert" als Besitzertyp aus. Anweisungen finden Sie unter Gefilterter Datensatzbesitz.

Nachdem Sie die Tabelle erstellt haben:

  1. Erstellen Sie einen oder mehrere Datensatzfilter.
  2. Erstellen Sie Entitätsdatensatzfilter , um die Filter der Tabelle zuzuordnen.
  3. Erteilen Sie dem generierten Filter Berechtigungen über Sicherheitsrollen.
  4. Weisen Sie Benutzern oder Teams die Sicherheitsrollen zu.

Filterbasierte Sicherheit auf Besitztabellen für Benutzer- oder Teamdatensätze anwenden

Sie können auch filterbasierte Sicherheit auf vorhandene Benutzer- oder Teamdatensatz-Besitztabellen anwenden.

Filterberechtigungen fügen Zugriff auf das vorhandene besitzbasierte Sicherheitsmodell hinzu:

  • Benutzer besitzen weiterhin Datensätze.
  • Sie können Datensätze weiterhin zuweisen und freigeben.
  • Der Zugriff auf die Geschäftseinheitshierarchie bleibt unverändert.
  • Filterberechtigungen gewähren zusätzlichen Zugriff auf Zeilenebene.

Beispielsweise kann ein Vertriebsmitarbeiter auf möglichkeiten zugreifen, die er besitzt. Ein Filter kann dem Vertriebsmitarbeiter Zugriff auf zusätzliche Verkaufschancen in einem bestimmten Gebiet gewähren.

Der folgende Filter gewährt Zugriff auf aktive Konten in einem bestimmten Gebiet:

<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>

Im folgenden Beispiel wird ein link-entity verwendet, um einem Vertriebsmitarbeiter Zugriff auf aktive Konten zu gewähren, die einem Kollegen gehören, für den er die Vertretung übernimmt:

<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>

Effektiver Zugriff

Für Tabellen mit Besitz durch Benutzer oder Teams ergänzen Filterberechtigungen die besitzbasierte Sicherheit um Zugriff auf Zeilenebene. Sie ersetzen den Zugriff, der durch Besitz, Freigabe oder Berechtigungen von Sicherheitsrollen gewährt wird, nicht und schränken ihn auch nicht ein.

Für gefilterte Besitzertabellen bestimmen Filterberechtigungen den Datensatzzugriff. Für Tabellen mit Besitzrechten an Organisationsdatensätzen kommen Filterberechtigungen zu dem durch Sicherheitsrollenberechtigungen gewährten Zugriff hinzu.

Mit diesem additiven Modell können Sie den attributbasierten Zugriff einführen und gleichzeitig vorhandene Zugriffsregeln beibehalten.

Weitere Informationen zur Besitzsicherheit finden Sie unter Besitz und Zugriff auf Datensätze.

Anwenden filterbasierter Sicherheit auf Datensatzbesitztabellen in der Organisation

Sie können filterbasierte Sicherheit auch auf Besitzertabellen für Organisationsdatensätze anwenden.

Standardberechtigungen für eine Datensatzbesitzertabelle einer Organisation gewähren Zugriff auf alle Datensätze in der Tabelle. Filterberechtigungen bieten eine weitere Möglichkeit zum Gewähren des Zugriffs auf übereinstimmende Datensätze. Sie reduzieren nicht den umfassenderen Zugriff, den eine Sicherheitsrolle bereits gewährt.

Zu den gängigen Szenarien gehören:

  • Gebietsbezogener Zugang.
  • Abteilungsbasierter Zugriff.
  • Steuerelemente für die Datenklassifizierung.
  • Gemeinsame Referenzdaten mit eingeschränkter Sichtbarkeit.

Gewähren Sie benutzern beispielsweise Zugriff auf Datensätze, deren Spalte "Gebiet" einer bestimmten Region entspricht. Stellen Sie sicher, dass ihre anderen Sicherheitsrollenberechtigungen nicht umfassenderen Zugriff auf dieselbe Tabelle gewähren.

Filterberechtigungen fügen eine feingranulare Autorisierung hinzu und bewahren dabei das Datenmodell für die Datensatzinhaberschaft in der Organisation.

Weitere Informationen zu Datensatzbesitztabellen der Organisation finden Sie unter Besitz und Zugriff auf Datensätze.

Filterberechtigungen

Wenn Sie einen Datensatzfilter einer Tabelle über einen Entity Record Filter zuordnen, erstellt Dataverse Filterberechtigungen. Weisen Sie diese Berechtigungen über Sicherheitsrollen zu.

Filterberechtigungen unterstützen diese Datenzugriffsvorgänge:

  • Create.
  • Lesen.
  • Schreiben.
  • Delete
  • Anfügen.
  • Anfügen an.

Jede Berechtigung ist einem bestimmten Filter und einer bestimmten Tabelle zugeordnet.

Das folgende Beispiel zeigt Berechtigungen für mehrere Stadtfilter:

Filter Berechtigung
City = Redmond Lesen Sie
City = Redmond Schreiben
City = Redmond Delete
Stadt = Seattle Lesen Sie
Stadt = Bellevue Lesen Sie

Erstellen Sie mehrere Filter, und weisen Sie jeder Sicherheitsrolle nach Bedarf unterschiedliche Berechtigungen zu.

Gewähren Sie Filterberechtigungen in Sicherheitsrollen

Verwalten Sie Filterberechtigungen über Dataverse-Sicherheitsrollen.

So gewähren Sie gefilterten Zugriff:

  1. Öffnen Sie eine Sicherheitsrolle.
  2. Wählen Sie die Zieltabelle aus.
  3. Wählen Sie die Filterberechtigung aus.
  4. Gewähren Sie der Rolle das Privileg.
  5. Weisen Sie die Rolle Benutzern oder Teams zu.

Benutzer erhalten alle Filterberechtigungen aus ihren zugewiesenen Sicherheitsrollen und Teammitgliedschaften.

Ausführlichere Informationen finden Sie unter Sicherheitsrollen und Berechtigungen.

Beispiel

Angenommen, eine Tabelle "Kunde" enthält eine Spalte "Ort".

Erstellen sie drei Datensatzfilter:

  • City = Redmond.
  • City = Seattle.
  • City = Bellevue.

Ordnen Sie jeden Datensatzfilter der Kundentabelle mithilfe von Entitätsdatensatzfiltern zu.

Erstellen sie drei Sicherheitsrollen:

Rolle Filterberechtigungen
Redmond-Vertrieb Kunde lesen, bei dem Stadt = Redmond
Vertrieb Seattle Kunde lesen, wobei City = Seattle
Bellevue Sales Kunde mit City = Bellevue lesen

Jede Rolle gewährt Zugriff auf Kundendatensätze, die ihrem Filter entsprechen. Benutzer haben möglicherweise einen umfassenderen Zugriff über andere Rollen, Teammitgliedschaften, Besitz oder Freigabe.

Zusammenfassung

Filterbasierte Sicherheit gewährt zugriff auf Zeilenebene basierend auf Datenwerten. Verwenden Sie Datensatzfilter, Entitätsdatensatzfilter, Filterberechtigungen und Sicherheitsrollen, um attributbasierte Zugriffssteuerung in Dataverse zu implementieren.

Fügen Sie filterbasierte Sicherheit mit Tabellen für Benutzer- oder Teambesitz sowie für den Besitz von Organisationsdatensätzen hinzu, um über Filterbedingungen einen erweiterten Datenzugriff bereitzustellen. Wählen Sie das Besitzmodell aus, das Ihren Geschäftlichen Anforderungen entspricht. Denken Sie daran, dass nur gefilterte Besitzertabellen Filter als exklusive Quelle des Datensatzzugriffs verwenden.

Nächste Schritte