В окнах IBM DB2 v.9, когда кто-то подключается к базе данных пользователем Server \ Administrator База данных DB2 будет автоматически принимать и предоставлять все разрешения этому пользователю? Но в некоторых случаях среде Администратор сервера не должен видеть все данные в базе данных. Итак, как предотвратить использование Администратором подключения к базе данных?Как отменить разрешение пользователя Windows Administrator из DB2?
ответ
По умолчанию базы данных DB2 создаются с полномочиями CONNECT
. Если вы хотите ограничить некоторые пользователь от подключения, что вам нужно сделать
GRANT CONNECT ON DATABASE TO <user1>, <user2>, ...
Затем отменить CONNECT полномочие от ОБЩЕСТВЕННЫХ
REVOKE CONNECT ON DATABASE FROM PUBLIC
Умм ... Много раз я пытаюсь отменить с помощью этой команды, но когда я подключаюсь к базе данных с помощью учетной записи администратора, DB2 автоматически выдаст разрешение администратору.
Я попробую еще раз, чтобы убедиться.
Я не думаю, что это возможно при нормальных обстоятельствах просто потому, что Администратор находится в группе sysadm
.
Варианты я могу думать (но не пробовал) включают в себя:
- Установка группы SYSADM к чему-то еще ("обновление db2 DBM CFG с использованием sysadm_group бла"). Проверяйте документы для оговорок и gotchas, когда делаете это, так как я уверен, что есть некоторые.
- Остановить использование аутентификации ОС. Используйте другой плагин безопасности (только 8.2 и выше). Это переместило бы аутентификацию и, следовательно, группы, в новое место (скажем, сервер LDAP). Затем вы просто не добавляете администратора в новое место и, особенно, не добавляете администратор в группу sysadm.
В 9,5 лет и старше это было бы невозможно, поскольку учетная запись, под которой работает ваш экземпляр, является SYSADM. Также администратор может сбросить, по крайней мере, локальные пароли учетных записей и получить к ним доступ, что делает невозможным изменение учетной записи владельца экземпляра.
Однако на 9.7 и далее владелец экземпляра больше не будет иметь доступа к данным. Один из вариантов - до 9.7. Кроме того, вы можете настроить учетную запись AD для соединений, используемых вашими приложениями. Локальный администратор необязательно может изменять эти учетные данные.
Тем не менее, Администратор в конечном счете имеет доступ к файлам базы данных (обычно незашифрованным). В основном вы можете улучшить административный аспект безопасности.
В Windows администратор конфигурации базы данных SYSADM_GROUP
, имеющий SYSADM
полномочия на уровне экземпляра. Когда SYSADM_GROUP
пуст (как по умолчанию используется в Windows), DB2 по умолчанию использует группу «Администраторы» на локальном компьютере.
Чтобы исправить это, вы можете создать новую группу в Windows, а затем изменить значение SYSADM_GROUP
, чтобы использовать эту новую группу. Убедитесь, что идентификатор, который работает в DB2, принадлежит этой новой группе. После внесения этого изменения члены группы «Администраторы» больше не будут обладать полномочиями SYSADM
.
Как заявляет Кевин Бек, вы также можете взглянуть на ограничение права на базы данных CONNECT
, так как по умолчанию привилегия CONNECT
предоставляется PUBLIC.