Steuern des Zugriffs auf Datensätze
Lernziele
- Auflisten der vier Möglichkeiten, den Zugriff auf Datensätze zu steuern
- Beschreiben einer Situation für die Verwendung jeder der vier Sicherheitssteuerungen auf Datensatzebene
- Erläutern der Interaktion zwischen den unterschiedlichen Datensatzsteuerungen
- Festlegen organisationsweiter Freigabestandardeinstellungen zum Steuern des Datensatzzugriffs
Sicherheit auf der Datensatzebene
- Sollen die Benutzer offenen Zugriff auf alle Datensätze haben oder nur auf eine Teilmenge davon?
- Wenn nur auf eine Teilmenge, welche Regeln sollen festlegen, ob der Benutzer Zugriff hat?
Für unsere Personalbeschaffungs-Beispielanwendung nehmen wir an, Sie erstellen ein neues Profil namens "Recruiter", damit Sie Personalbeschaffungsmitarbeitern die für sie nötigen Berechtigungen auf Objektebene geben können. Wenn Sie die Fähigkeit zum Löschen von Objekten, die mit der Personalbeschaffung zu tun haben, einschränken, sind Personalbeschaffungsmitarbeiter nicht in der Lage, diese Objekte zu löschen. Wenn Sie jedoch Personalbeschaffungsmitarbeitern die Berechtigung zum Erstellen, Lesen oder Bearbeiten von Objekten im Zusammenhang mit der Personalbeschaffung gewähren, bedeutet dies nicht notwendigerweise, dass die Personalbeschaffungsmitarbeiter jeden Objektdatensatz im Personalbeschaffungsobjekt lesen oder bearbeiten dürfen. Dies ist die Folge zweier wichtiger Konzepte:
- Die Berechtigungen für einen Datensatz werden stets gemäß einer Kombination aus Berechtigungen auf der Objekt-, Feld-, und Datensatzebene ausgewertet.
- Wenn die Berechtigungen auf der Objektebene mit denen auf der Datensatzebene in Konflikt stehen, haben die strengeren Einstellungen Vorrang.
- Organisationsweite Standardeinstellungen legen den Standardzugriff fest, den Benutzer auf die Datensätze anderer Benutzer haben.
- Mit Rollenhierarchien können Sie sicherstellen, dass ein Vorgesetzter immer Zugriff auf dieselben Datensätze hat wie die ihm unterstellten Personen. Jede Rolle in der Hierarchie stellt eine Datenzugriffsebene dar, die ein Benutzer oder eine Benutzergruppe benötigt.
- Freigaberegeln sind automatische Ausnahmen von den organisationsweiten Standardeinstellungen für bestimmte Benutzergruppen, um ihnen Zugriff auf Datensätze zu gewähren, deren Inhaber sie nicht sind oder die sie normalerweise nicht sehen können.
- Durch die manuelle Freigabe können Datensatzinhaber Benutzern, die keinen anderweitigen Zugriff auf den Datensatz haben, Lese- und Bearbeitungsberechtigungen erteilen.
- Die Basisberechtigungen eines Benutzers für ein Objekt werden durch sein Profil bestimmt.
- Wurden dem Benutzer Berechtigungssätze zugewiesen, bestimmen diese zusammen mit dem Profil ebenfalls die Basisberechtigungen.
- Der Zugriff eines Benutzers auf Datensätze, deren Inhaber er nicht ist, wird in erster Linie von den organisationsweiten Standardeinstellungen gesteuert.
- Gewähren die organisationsweiten Standardeinstellungen weniger Zugriff als Öffentlicher Lese-/Schreibzugriff, können Sie über die Rollenhierarchie den Zugriff für bestimmte Rollen ausweiten.
- Mit Freigaberegeln können Sie den Zugriff auf weitere Benutzergruppen ausweiten.
- Jeder Datensatzinhaber kann über die Schaltfläche "Freigabe" des Datensatzes einzelne Datensätze manuell für andere Benutzer freigeben.
Sie haben jetzt gelernt, wie Sie Zugriffsberechtigungen mit Profilen und Berechtigungssätzen auf Objekt- und Datensatzebene konfigurieren. Im Folgenden sehen wir uns die verschiedenen Sicherheitssteuerungen auf Datensatzebene im Detail an.
Organisationsweite Freigabe
- Für welche Benutzer dieses Objekts gelten die strengsten Einschränkungen?
- Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht sehen können soll?
- Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht bearbeiten können soll?
Anhand der Antworten legen Sie das Freigabemodell für das betreffende Objekt auf eine der folgenden Einstellungen fest:
PrivatNur der Inhaber und Benutzer über dieser Rolle in der Hierarchie können diese Datensätze anzeigen, bearbeiten und in Berichten verwenden.
Öffentlicher Lesezugriff
Alle Benutzer können Datensätze anzeigen und in Berichten verwenden, doch nur der Inhaber und Benutzer über dieser Rolle in der Hierarchie können diese Datensätze bearbeiten.
Öffentlicher Lese-/Schreibzugriff
Alle Benutzer können alle Datensätze anzeigen, bearbeiten und in Berichten verwenden.
Gesteuert durch übergeordnetes Objekt
Ein Benutzer kann einen Datensatz anzeigen, bearbeiten oder löschen, wenn er dieselbe Aktion auf das Objekt anwenden kann, zu dem er gehört.
Wenn die organisationsweite Freigabeeinstellung für ein Objekt Privat oder Öffentlicher Lesezugriff lautet, kann ein Administrator den Benutzern weiteren Zugriff auf Datensätze gewähren, indem er eine Rollenhierarchie einrichtet oder Freigaberegeln definiert. Freigaberegeln können nur zur Gewährung von weitergehendem Zugriff verwendet werden. Sie können damit den Zugriff auf Datensätze nicht weiter einschränken als ursprünglich durch organisationsweite Freigabestandardwerte angegeben wurde.
Beantworten Sie nun zur Übung die obige Liste der Fragen für das Objekt "Position" in der Personalbeschaffungsanwendung:
Für welche Benutzer dieses Objekts gelten die strengsten Einschränkungen?Mitglieder des Profils "Standardmitarbeiter". Diese Personen dürfen lediglich Stellen anzeigen.
Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht sehen können soll?
Nein. Zwar sind die Werte für Mindest- und Höchstgehalt für Standardmitarbeiter ausgeblendet, sie dürfen jedoch alle Stellendatensätze anzeigen.
Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht bearbeiten können soll?
Ja. Standardmitarbeiter dürfen keine Stellendatensätze bearbeiten.
Da wir Frage 3 mit "Ja" beantwortet haben, sollte das Freigabemodell für das Objekt "Position" auf "Öffentlicher Lesezugriff" gesetzt werden. Wenn Sie diese Schritte für die anderen Personalbeschaffungsobjekte wiederholen, können Sie ganz leicht die für sie geeigneten organisationsweiten Standardeinstellungen feststellen. Das Profil "Standard Employee" ist für jedes Objekt derjenige Benutzer mit den strengsten Einschränkungen und es gibt Bewerber-, Stellenbewerbungs- und Review-Datensätze, die bestimmte Mitarbeiter nicht anzeigen können. Folglich sollte das Freigabemodell für die Objekte "Bewerber", "Stellenbewerbung" und "Review" jeweils auf Privat gesetzt sein.
Festlegen der organisationsweiten Freigabestandardeinstellungen
- Geben Sie unter "Setup" im Feld "Schnellsuche" Freigabeeinstellungen ein und wählen Sie dann Freigabeeinstellungen aus.
- Klicken Sie im Bereich "Organisationsweite Standardeinstellungen" auf Bearbeiten. Bitte beachten Sie, dass für manche Standardobjekte andere organisationsweite Standardeinstellungen verwendet werden. Zu den organisationsweiten Standardeinstellungen für benutzerdefinierte Objekte gehören "Privat", "Öffentlicher Lesezugriff" und "Öffentlicher Lese-/Schreibzugriff".
- Wählen Sie für sämtliche Objekte den gewünschten internen und externen Standardzugriff.
- Um den automatischen Zugriff mithilfe Ihrer Hierarchien zu deaktivieren, deaktivieren Sie Zugriff mithilfe von Hierarchien gewähren für alle benutzerdefinierten Objekte, die nicht über den Standardzugriff "Gesteuert durch übergeordnetes Element" verfügen.
Selbst wenn Zugriff mithilfe von Hierarchien gewähren deaktiviert ist, können einige Benutzer trotzdem auf Datensätze zugreifen, deren Inhaber sie nicht sind. Dazu zählen Benutzer mit den Objektberechtigungen "Alle anzeigen" sowie "Alle ändern" und den Systemberechtigungen "Alle Daten anzeigen" sowie "Alle Daten modifizieren".
Weitere Infos
Bei von Apex verwalteten Freigaben können Entwickler mit benutzerdefinierten Objekten verknüpfte Datensätze programmgesteuert freigeben. Wenn Sie ein benutzerdefiniertes Objekt mithilfe der von Apex verwalteten Freigabe freigeben, können nur Benutzer mit der Berechtigung "Alle Daten modifizieren" die Freigabe in den Datensätzen des benutzerdefinierten Objekts hinzufügen oder ändern. Der Freigabezugriff bleibt erhalten, selbst wenn sich der Datensatzbesitzer ändert. Weitere Informationen finden Sie unter Apex-Freigabe.