Teilen über


Feldsicherheitstabellen

Sie verwenden Feldsicherheitstabellen, um Sicherheit auf Feldebene anzuwenden, die den Zugriff auf Felder auf bestimmte Benutzer und Teams einschränkt. Der Umfang der Sicherheit auf Feldebene ist global, was bedeutet, dass sie für alle Datensätze innerhalb der Organisationen gilt, unabhängig von der Hierarchieebene der Unternehmenseinheit, zu der der Datensatz oder Benutzer gehört. Die Feldsicherheit gilt für alle Microsoft Dataverse-Clients, also auch für den Webclient, für Dynamics 365 for Outlook und für Dynamics. Sie gilt für alle Komponenten, also für Webdienste, Berichte, Suche, Offlinekomponenten, gefilterte Ansichten, Überwachung und Duplikaterkennung von Dataverse. Für diese Version kann die Feldsicherheit sowohl für benutzerdefinierten Felder als auch viele vordefinierte (OOB)- Felder angewendet werden.

Wichtig

Profile für Sicherheit auf Feldebene hindern Benutzer daran, Zugriff auf Dataverse-Daten anhand der Profildefinitionen zu erlangen. Wenn die SQL-Server-ACLs falsch konfiguriert sind oder wenn es ein SQL-Einschleusungsproblem gibt, können Unbefugte direkten Zugriff auf Daten in SQL Server erhalten und auf diese Weise die Beschränkungen der Sicherheit auf Feldebene umgehen. Weitere Informationen finden Sie unter Übersicht über Webanwendungs-Sicherheitsbedrohungen.

Einrichten und Verwenden von Feldsicherheit

Um die Feldsicherheit zu verwenden, müssen Sie folgendermaßen vorgehen:

  1. Erzeugen Sie einen Datensatz für ein Feldsicherheitsprofil.

  2. Fügen Sie Benutzer oder Teams zu dem Profil hinzu.

  3. Suchen Sie eine Spalte, die auf Feldebene gesichert werden kann.

  4. Sichern Sie die Spalte, entweder beim Erstellen der Spalte oder durch Aktualisieren der Spaltendefinition.

  5. Veröffentlichen Sie die Anpassungen.

  6. Erstellen Sie einen Datensatz für die Feldberechtigung, der definiert, welchen Zugriff (Erstellen, Aktualisieren, Lesen) das Profil auf die angepasste Spalte hat.

    Beispielcode dazu, wie diese Schritte ausgeführt werden, finden Sie unter Beispiel: Aktivieren der Feldsicherheit für eine Entität.

    Verwenden Sie die folgenden Feldberechtigungsspalten, um festzulegen, ob das angegebene Feldsicherheitsprofil eine Spalte erstellen, lesen oder aktualisieren darf. Sie können den Wert für diese Spalten festlegen oder vergleichen, indem Sie die globale Auswahl field_security_permission_type verwenden:

  • FieldPermission. CanCreate

  • FieldPermission. CanRead

  • FieldPermission. CanUpdate

Wichtig

Wenn Benutzer mit wenigen Rechten Lesezugriff auf die Entität des Feldsicherheitsprofils erhalten, können sie sehen, welche Profile andere Benutzer haben und andere Benutzer mit Zugriff auf sichere Attribute finden, an denen sie interessiert sind. Sie können dann Social Engineering-Techniken verwenden, damit ihnen ein Profil mit Zugriff auf diese sicheren Attribute zugewiesen wird.

Welche Attribute können gesichert werden?

Um zu sehen, welche Spalten gesichert werden können, können Sie die Tabellendefinition nach den folgenden Eigenschaften abfragen:

  • CanBeSecuredForCreate

  • CanBeSecuredForRead

  • CanBeSecuredForUpdate

    Es gibt einige zusätzliche Regeln, die für bestimmte Attributdatentypen gelten:

  • Die booleschen Attribute können zum Erstellungs- und Aktualisierungsvorgänge gesichert werden, aber nicht für Lesen.

  • Optionssatzattribute können für Erstellen, Aktualisieren und Lesen gesichert werden, wenn ein Standardwert nicht angegeben ist.

    Es gibt Tausende von Spalten, die gesichert werden können, daher gibt es zwei einfachere Möglichkeiten, nach diesen Informationen zu suchen. Um die Tabellendefinition für Ihre Organisation anzuzeigen, installieren Sie die Lösung Tabellendefinitions-Browser, die in Tabellendefinition in Ihrer Umgebung durchsuchen beschrieben wird. Sie können auch die Referenzdokumentation für Entitäten in der Tabellen-/Entitätsreferenz durchsuchen.

Gesicherte Felder freigeben

Sie können sichere Felder genau wie Datensätze freigeben. Dazu müssen Sie einen PrincipalObjectAttributeAccess-Datensatz (Feldfreigabe) erstellen, löschen oder aktualisieren, in dem Sie den Benutzer oder das Team, die Entität und Berechtigungen angeben.

In der folgenden Tabelle werden die entsprechenden Methoden zum Sichern eines Felds im Vergleich zum Sichern eines Datensatzes aufgelistet.

Freigeben von Datensätzen Freigegeben des Feldzugriffs
Verwenden Sie GrantAccessRequest-Meldung, um einem Benutzer oder Team Datensatzzugriff zu gewähren. Mithilfe der CreateRequest Nachricht oder der IOrganizationService.Create Methode, um gesicherten Feldzugriff für einen Benutzer oder ein Team zu geben.
Verwenden Sie ModifyAccessRequest-Meldung, um Datensatzzugriff für einen Benutzer oder Team zu aktualisieren. Mithilfe der UpdateRequest Nachricht oder der IOrganizationService.Update Methode, um gesicherten Feldzugriff für einen Benutzer oder ein Team zu aktualisieren.
Verwenden Sie RevokeAccessRequest-Meldung, um Datensatzzugriff für einen Benutzer oder Team zu entfernen. Mithilfe der DeleteRequest Nachricht oder der IOrganizationService.Delete Methode, um gesicherten Feldzugriff für einen Benutzer oder ein Team zu entfernen.

Siehe auch

Sicherheit und Datenzugriff
FieldSecurityProfile-Entität
Entitätsberechtigung-Entität
PrincipalObjectAttributeAccess Entität

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).