Durchsetzen von Feldebenensicherheitsberechtigungen für SOQL-Abfragen (Beta)

Mit der Klausel WITH SECURITY_ENFORCED können Sie die Überprüfung von Sicherheitsberechtigungen auf Feld- und Objektebene für SOQL SELECT-Abfragen aktivieren, einschließlich Unterabfragen und objektübergreifender Beziehungen. Zwar waren diese Überprüfungen auch schon in früheren Versionen möglich, mit dieser Klausel werden jedoch die Umständlichkeit und die technische Komplexität in Abfragevorgängen erheblich reduziert. Diese Funktion ist für Apex-Entwickler mit minimaler Entwicklungserfahrung im Hinblick auf Sicherheitsaspekte gedacht sowie für Anwendungen, bei denen eine Graceful Degradation im Hinblick auf Berechtigungsfehler nicht erforderlich ist.
Hinweis

Hinweis

Als Beta-Funktion stellt SELECT WITH SECURITY_ENFORCED eine Vorschau dar und zählt nicht zu den "Services" in Ihrem Rahmen-Abonnementvertrag mit Salesforce. Die Verwendung dieser Funktion liegt in Ihrem eigenen Ermessen. Treffen Sie Ihre Kaufentscheidungen nur auf der Grundlage allgemein verfügbarer Produkte und Funktionen. Salesforce kann nicht garantieren, dass diese Funktion in einem bestimmten Zeitrahmen oder überhaupt allgemein verfügbar wird, da sie jederzeit wieder eingestellt werden kann. Diese Funktion dient nur zu Evaluierungszwecken und nicht für die Verwendung in der Produktion. Die Funktion wird im aktuellen Zustand angeboten, beinhaltet keinen Support und Salesforce übernimmt keine Haftung für Schäden, die durch diese oder in Verbindung mit dieser Funktion entstehen. Alle Einschränkungen, der Vorbehalt von Rechten durch Salesforce, Verpflichtungen in Bezug auf die Services sowie die Bedingungen für zugehörige Anwendungen und Inhalte, die nicht von SFDC stammen, gelten gleichermaßen für Ihre Verwendung dieser Funktion.

Wo: Diese Änderung gilt für Lightning Experience und Salesforce Classic in der Enterprise, Performance, Unlimited und Developer Edition.

Wie: Wenn Felder oder Objekte, die in der SELECT-Klausel unter Verwendung von WITH SECURITY_ENFORCED referenziert werden, für den Benutzer nicht zugänglich sind, wird eine Ausnahme ausgegeben und es werden keine Daten zurückgegeben.

Hinweis

Hinweis

Die Klausel WITH SECURITY_ENFORCED ist nur in Apex verfügbar. Die Verwendung von WITH SECURITY_ENFORCED in Apex-Klassen oder -Auslösern mit einer API-Version vor 45.0 wird nicht empfohlen.

Beispiel

Wenn die Feldebenensicherheit für das Feld LastName oder Description ausgeblendet ist, gibt die Abfrage eine Ausnahme aus, in der die unzureichenden Berechtigungen angegeben sind.
SELECT Id, (SELECT LastName FROM Contacts), 
   (SELECT Description FROM Opportunities)
   FROM Account WITH SECURITY_ENFORCED

Beispiel

Wenn die Feldebenensicherheit für das Feld Website ausgeblendet ist, gibt die Abfrage eine Ausnahme aus, in der die unzureichenden Berechtigungen angegeben sind.
SELECT Id, Parent.Name, Parent.Website FROM Account WITH SECURITY_ENFORCED