Berechtigungs-IDs in verschiedenen Kontexten
Eine Berechtigungs-ID dient zwei Zwecken: Identifikation und Berechtigungsprüfung. Zum Beispiel wird die Sitzungsberechtigungs-ID für die einleitende Berechtigungsprüfung verwendet.
Wenn auf die Verwendung einer Berechtigungs-ID in einem bestimmten Kontext Bezug genommen wird, ist der Verweis auf die Berechtigung dazu geeignet, den Kontext zu identifizieren, wie im folgenden Abschnitt gezeigt.
- Kontextbezogener Verweis auf die Berechtigungs-ID
- Definition
- Systemberechtigungs-ID
- Die Berechtigungs-ID, die für jede einleitende Berechtigungsprüfung verwendet wird, zum Beispiel zum Überprüfen des Zugriffsrechts CONNECT bei der CONNECT-Verarbeitung. Im Rahmen des Authentifizierungsprozesses während der CONNECT-Verarbeitung wird eine mit den Db2® -Namensanforderungen kompatible Berechtigungs-ID erstellt, die die externe Benutzer-ID im Db2 -Datenbanksystem darstellt. Die Systemberechtigungs-ID stellt den Benutzer dar, der die Verbindung hergestellt hat. Mithilfe des Sonderregisters SYSTEM_USER können Sie den aktuellen Wert der Systemberechtigungs-ID ermitteln. Die Systemberechtigungs-ID kann für eine Verbindung nicht geändert werden.
- Sitzungsberechtigungs-ID
- Die Berechtigungs-ID, die für jede Sitzungsberechtigungsprüfung nach den einleitenden Überprüfungen der CONNECT-Verarbeitung verwendet wird. Der Standardwert der Sitzungsberechtigungs-ID ist der Wert der Systemberechtigungs-ID. Mithilfe des Sonderregisters SESSION_USER können Sie den aktuellen Wert der Sitzungsberechtigungs-ID feststellen. Das Sonderregister USER ist ein Synonym für das Sonderregister SESSION_USER. Die Sitzungsberechtigungs-ID kann mithilfe der Anweisung SET SESSION AUTHORIZATION geändert werden.
- Paketberechtigungs-ID
- Die Berechtigungs-ID, die zum Binden (BIND) eines Pakets an die Datenbank verwendet wird. Die Berechtigungs-ID ergibt sich aus dem Wert für die Option OWNER berechtigungs-id des Befehls BIND. Die Paketberechtigungs-ID wird manchmal als Paketbinder oder Paketeigner bezeichnet.
- Routineneignerberechtigungs-ID
- Die Berechtigungs-ID, die in den Systemkatalogen als Eigner der SQL-Routine eingetragen ist, die aufgerufen wurde.
- Routinenaufruferberechtigungs-ID
- Die Berechtigungs-ID, die die Anweisungsberechtigungs-ID für die Anweisung ist, die eine SQL-Routine aufgerufen hat.
- Anweisungsberechtigungs-ID
- Die Berechtigungs-ID, die einer bestimmten SQL-Anweisung zugeordnet ist und die für alle
Berechtigungsanforderungen sowie zur Bestimmung des Objekteigentumsrechts (sofern zutreffend)
zu verwenden ist. Ihr Wert leitet sich abhängig vom Typ der SQL-Anweisung aus der entsprechenden
Quellenberechtigungs-ID ab:
- Statisches SQL
Die Paketberechtigungs-ID wird verwendet.
- Dynamisches SQL (aus Nichtroutinenkontext)Die Tabelle zeigt, welche Berechtigungs-ID in den einzelnen Fällen verwendet wird:
Wert der Option DYNAMICRULES zum Ausführen des Pakets Verwendete Berechtigungs-ID Ausführen Sitzungsberechtigungs-ID BIND Paketberechtigungs-ID DEFINERUN, INVOKERUN Sitzungsberechtigungs-ID DEFINEBIND, INVOKEBIND Paketberechtigungs-ID - Dynamisches SQL (aus Routinenkontext)Die Tabelle zeigt, welche Berechtigungs-ID in den einzelnen Fällen verwendet wird:
Wert der Option DYNAMICRULES zum Ausführen des Pakets Verwendete Berechtigungs-ID DEFINERUN, DEFINEBIND Routineneignerberechtigungs-ID INVOKERUN, INVOKEBIND Routinenaufruferberechtigungs-ID
- Statisches SQL