Есть ли какие-либо привилегии уровня пользователя в Informix? - PullRequest
1 голос
/ 29 мая 2019

Пока я читаю, существуют определенные права доступа , предоставленные пользователю или роли в Informix.Если я дам какую-либо привилегию уровня базы данных, она получит доступ ко всем пользователям / схемам в этой базе данных.Я сомневался, что я могу ограничить эту привилегию определенными пользователями / схемами в этой базе данных?Есть ли у нас какие-либо привилегии уровня пользователя / схемы в Informix?

1 Ответ

0 голосов
/ 30 мая 2019

Если вы предоставите пользователю привилегию CONNECT для базы данных, он сможет получить доступ к таблицам в той базе данных, к которой им предоставлен доступ (как правило, но не обязательно ко всем таблицам в базе данных). Вы также можете отозвать привилегии PUBLIC для таблицы, а затем предоставить доступ только именным пользователям или ролям, и тогда только те пользователи, которым был предоставлен доступ, могут получить к нему доступ. Здесь «доступ» означает «если они пытаются ВЫБРАТЬ, им должен быть предоставлен доступ SELECT; если они пытаются ВСТАВИТЬ, им должен быть предоставлен доступ ВСТАВИТЬ и т. Д.».

По умолчанию, когда вы создаете таблицу в обычной базе данных, всем пользователям предоставляется право выбора, вставки, обновления, удаления таблицы. Это делается через эквивалент GRANT ALL ON the_table TO PUBLIC. Обратите внимание, что у каждого пользователя есть разрешения, предоставленные PUBLIC, и, возможно, некоторые дополнительные привилегии. Поэтому для обеспечения доступа только выбранным пользователям или ролям необходимо использовать REVOKE ALL ON the_table FROM PUBLIC. Существует переменная окружения NODEFDAC=1 и параметр файла $ONCONFIG с тем же именем, который подавляет стандартные «средства управления доступом» (DAC), предоставленные PUBLIC. Обратите внимание, что в базе данных MODE ANSI никому другому не предоставлены разрешения по умолчанию.

Ограничения для пользователей, которым предоставлена ​​привилегия RESOURCE в базе данных, аналогичны пользователям, которым предоставлена ​​привилегия CONNECT - разница в том, что пользователи RESOURCE могут создавать свои собственные таблицы, тогда как пользователи CONNECT не могут.

Если пользователю предоставлена ​​привилегия DBA, он может получить доступ к любым таблицам в базе данных. Поэтому будьте осторожны с предоставлением прав администратора БД.

...