Feldsicherheitsentitäten
Sie verwenden Feldsicherheitsentitäten, um Sicherheit auf Feldebene anzuwenden, was den Feldzugriff auf angegebene Benutzer und Teams beschrä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 Dynamics 365 Customer Engagement (on-premises)-Clients, also auch für den Webclient, für Microsoft Dynamics 365 for Outlook und für Dynamics 365 für Smartphones. Es gilt für alle Komponenten, wie die Dynamics 365 Customer Engagement Webdienste, Berichte, Suche, Offline, gefilterte Ansichten, Auditing und Duplikaterkennung. Für diese Version kann die Feldsicherheit sowohl für benutzerdefinierten Felder als auch viele vordefinierte (OOB)- Felder angewendet werden.
Weitere Informationen, wie gesicherte Felder das Verhalten von Methoden ändern, siehe Wie Feldsicherheit verwendet werden kann, um Zugriff auf Feldwerte in Dynamics 365 Customer Engagement (on-premises)Dynamics 365 zu steuern.
Wichtig
Profile für Sicherheit auf Feldebene hindern Benutzer daran, Zugriff auf Dynamics 365 Customer Engagement (on-premises)-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:
Erstellen Sie einen Feldsicherheitsprofil-Datensatz.
Fügen Sie dem Profil Benutzer oder Teams hinzu.
Ein Attribut suchen, das auf Feldebene gesichert werden kann
Sichern Sie das Attribut, wenn Sie das Attribut erstellen, oder durch Aktualisieren der Attributmetadaten.
Veröffentlichen Sie die Attributanpassungen.
Erstellen Sie einen Feldberechtigungsdatensatz, der definiert, welchen Zugriff (Erstellen, Aktualisieren, Lesen) das Profil für das benutzerdefinierte Attribut erhält.
Beispielcode dazu, wie diese Schritte ausgeführt werden, finden Sie unter Beispiel: Aktivieren der Feldsicherheit für eine Entität.
Verwenden Sie die folgenden Feldberechtigungsattribute, um festzulegen, dass das angegebene Feldsicherheitsprofil ein Attribut erstellen, lesen oder aktualisieren kann. Sie können den Wert für diese Attribute vergleichen oder festlegen, indem Sie den globalen Optionssatz
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 festzustellen, welche Attribute gesichert werden können, können Sie für die folgenden Entitätsmetadaten Eigenschaften abfragen:
-
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 tausenden von Attributen, die gesichert werden können, daher gibt es zwei einfachere Möglichkeiten, nach diesen Informationen zu suchen. Zum Anzeigen der Entitätsmetadaten für Ihre Organisation installieren Sie die Metadatenbrowserlösung, die in Durchsuchen der Metadaten für Ihre Organisation beschrieben ist. Sie können die Referenzdokumentation für Entitäten auch in der 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. | Verwenden Sie die Nachricht CreateRequest oder die Methode IOrganizationService.Create, um einem Benutzer oder einem Team einen gesicherten Feldzugriff zu gewähren. |
Verwenden Sie ModifyAccessRequest-Meldung, um Datensatzzugriff für einen Benutzer oder Team zu aktualisieren. | Verwenden Sie die Nachricht UpdateRequest oder die Methode IOrganizationService.Update, um den 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. | Verwenden Sie die Nachricht DeleteRequest oder die Methode IOrganizationService.Delete, um den gesicherten Feldzugriff für einen Benutzer oder ein Team zu entfernen. |
Siehe auch
Das Sicherheitsmodell von Dynamics 365 Customer Engagement (on-premises)
Verwaltungs- und Sicherheitsentitäten
FieldSecurityProfile-Entität
Entitätsberechtigung-Entität
PrincipalObjectAttributeAccess-Entität
Datenverschlüsselung auf Feldebene
Beispiel: Abrufen von Feldberechtigungen
Beispiel: Feldsicherheit für eine Entität aktivieren
Beispiel: Abrufen von Feldfreigabedatensätzen