IBM Db2 für die Berechtigungen von „ z/OS “ konfigurieren
In dieser Anleitung wird beschrieben, wie Sie einer Anwendungs-Benutzer-ID oder einem Dienstkonto die erforderlichen Berechtigungen für „ IBM® Db2® “ für „ z/OS “ erteilen.
Vorbereitende Schritte
- IBM Db2 für die Administratorrechte in „ z/OS “.
- Die von der Anwendung verwendete Benutzer-ID oder das von der Anwendung verwendete Dienstkonto.
- Der Schemaname, der die Anwendungstabellen enthält.
Vorgehensweise
- Geben Sie die Benutzer-ID oder das Dienstkonto von „ IBM Db2 “ an, dem Sie Berechtigungen erteilen. Zum Beispiel: Anwendungs-Benutzer-ID (
APPUSER) oder Dienstkonto (SVCACCT). - Erteilen Sie Berechtigungen auf Tabellenebene entsprechend den von der Anwendung ausgeführten Vorgängen.
-- For tables requiring read access GRANT SELECT ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>; -- For tables requiring create (insert) access GRANT INSERT ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>; -- For tables requiring update access GRANT UPDATE ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>; -- For tables requiring delete access GRANT DELETE ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>;Beispiel: Vollständigen Zugriff zum Erstellen, Abrufen, Aktualisieren und Löschen einer Tabelle gewährenGRANT SELECT, INSERT, UPDATE, DELETE ON MYSCHEMA.EMPLOYEES TO APPUSER; - Erteilen Sie
SELECTBerechtigungen für die erforderlichen Systemkatalogtabellen unter Db2, um die Metadatenermittlung zu ermöglichen.GRANT SELECT ON SYSIBM.SYSTABLES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSTABAUTH TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSCOLUMNS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSINDEXES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSKEYS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSFOREIGNKEYS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSRELS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSKEYCOLUSE TO <USER_ID>; - Überprüfen Sie durch Abfrage des Systemkatalogs, ob die Berechtigungen erfolgreich erteilt wurden.
-- Verify table-level privileges SELECT * FROM SYSIBM.SYSTABAUTH WHERE GRANTEE = '<USER_ID>' AND GRANTEETYPE = ' '; -- Verify system catalog access SELECT * FROM SYSIBM.SYSTABAUTH WHERE GRANTEE = '<USER_ID>' AND TCREATOR = 'SYSIBM';
Berechtigungsvorlagen nach Anwendungsfall
- Vorlage 1: Lesezugriff
-- Application tables GRANT SELECT ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>; -- System catalog tables (required for discovery) GRANT SELECT ON SYSIBM.SYSTABLES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSTABAUTH TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSCOLUMNS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSINDEXES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSKEYS TO <USER_ID>; `` - Vorlage 2: Vollständiger Zugriff zum Erstellen, Abrufen, Aktualisieren und Löschen
-- Application tables GRANT SELECT, INSERT, UPDATE, DELETE ON <SCHEMA>.<TABLE_NAME> TO <USER_ID>; -- System catalog tables (required for discovery) GRANT SELECT ON SYSIBM.SYSTABLES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSTABAUTH TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSCOLUMNS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSINDEXES TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSKEYS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSFOREIGNKEYS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSRELS TO <USER_ID>; GRANT SELECT ON SYSIBM.SYSKEYCOLUSE TO <USER_ID>; `` - Vorlage 3: Berechtigungen auf Schemaebene
-- Grant permissions on all tables in a schema GRANT SELECT ON SCHEMA <SCHEMA_NAME>.* TO <USER_ID>; GRANT INSERT ON SCHEMA <SCHEMA_NAME>.* TO <USER_ID>; GRANT UPDATE ON SCHEMA <SCHEMA_NAME>.* TO <USER_ID>; GRANT DELETE ON SCHEMA <SCHEMA_NAME>.* TO <USER_ID>; ``
Fehlerbehebung
In diesem Abschnitt werden häufige Probleme und deren Lösungen im Zusammenhang mit dem Zugriff auf Tabellen und der Ermittlung von Metadaten in „ Db2 for z/OS “ beschrieben.
- Thema:“Table not found”Fehler
Lösung: Überprüfen Sie, ob der Benutzer über
SELECTdie entsprechenden Berechtigungen für die angegebene Tabelle verfügt und ob der Schemaname korrekt ist. - Thema:"Discovery returns no tables:
Lösung: Überprüfen Sie, ob der Benutzer über
SELECTdie Berechtigung fürSYSIBM.SYSTABLESundSYSIBM.SYSTABAUTHverfügt. - Thema:"Column metadata not available":
Lösung: Erteilen Sie
SELECTdie Berechtigung fürSYSIBM.SYSCOLUMNS. - Thema:"Primary key information missing"
Lösung: Erteilen Sie
SELECTdie Berechtigung fürSYSIBM.SYSINDEXESundSYSIBM.SYSKEYS.