Я пытаюсь отозвать доступ пользователя (будь то пользователь testUser или db2instance) к получению информации метаданных базы данных с использованием схемы Sysibm.Если я выполню следующий запрос
SELECT NAME, COLTYPE, LENGTH FROM SYSIBM.SYSCOLUMNS WHERE TBNAME = 'tableName';
, я получу информацию о таблице, которую я передал в запросе.Что можно сделать, чтобы ограничить этот доступ для пользователя?
Я запустил
REVOKE ALL ON TABLE SYSIBM.SYSCOLUMNS FROM user;
и получил следующую ошибку:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: An attempt to revoke a privilege, security label, exemption, or role from "USER" was denied because "USER" does not hold this privilege, security label, exemption, or role.. SQLCODE=-556, SQLSTATE=42504
Даже с пользователем db2instance,Я получаю то же сообщение об ошибке.Тем не менее, оператор выбора дает мне правильный результат, хотя.
Я считаю, что Sysibm - это место, где хранится вся информация, связанная с базой данных.Я хочу ограничить доступ к этому, чтобы пользователь не мог получить метаданные о моей базе данных.