RSTs

Eine Tabelle mit Sicherung auf Zeilenebene (row-secure table, RST) ähnelt einer normalen Datenbanktabelle, gibt jedoch basierend auf dem Sicherheitskennsatz des Benutzers unterschiedliche Antworten auf Abfragen zurück. Nur Benutzertabellen können über Sicherung auf Zeilenebene verfügen. Diese wird bei der Erstellung einer Tabelle angegeben.

Zum Erstellen einer RST müssen Sie über die Berechtigung zum Erstellen von Tabellen verfügen. Selbst ein Tabelleneigner verfügt möglicherweise nicht über die Berechtigungen zur Anzeige aller Tabellenzeilen. Verwenden Sie die folgende Syntax, um eine RST zu erstellen:
create table rst ... row security;
Folgendes sind RST-Berechtigungen:
LABEL ACCESS
Ermöglicht die Sichtbarkeit der Kennsatzspalte.
LABEL RESTRICT
Ermöglicht es dem Benutzer, den Kennsatz mit einem restriktiveren Wert zu aktualisieren.
LABEL EXPAND
Ermöglicht es dem Benutzer, den Kennsatz mit einem weniger restriktiven Wert zu aktualisieren.

Die resultierende erstellte Tabelle enthält eine zusätzliche Spalte mit dem Namen '_sec_label' und dem Typ 'varchar', mit einer Zeichenbegrenzung auf 4000 Zeichen und Latin9-Unterstützung. Für den Zugriff auf die Spalte '_sec_label' müssen Sie über die Berechtigung LABEL ACCESS verfügen.

Die folgende Liste enthält zusätzliche RST-Informationen:
  • Benutzer können mit INSERT Informationen einfügen, die sie nicht anzeigen dürfen, wenn sie die LABEL RESTRICT-Berechtigungen haben.
  • UPDATE und DELETE können nur für Zeilen ausgeführt werden, die der Benutzer auswählen kann.
    Wichtig: Wenn RSTs im System vorhanden sind, können Sie Objekte umbenennen und neue Ebenen, Kategorien und Kohorten erstellen, aber Sie können keine Ebenen, Kategorien oder Kohorten löschen und Sie können keinen Ebenenwert ändern.