Часто ли пользователи реализуются как роли с возможностью входа? - PullRequest
0 голосов
/ 22 августа 2010

В последних версиях PostgreSQL пользователи реализованы в виде ролей, которые могут войти в систему . Является ли это общим в реализациях RBAC, что пользователь - это просто еще одна роль с возможностью входа (или аналогичная)? Кое-что из того, что я прочитал до сих пор, не предполагает этого ... но, возможно, я неправильно прочитал или просто не правильно прочитал.

1 Ответ

1 голос
/ 23 августа 2010

В частности, что я понимаю в вашем вопросе, это различия и отношения между RBAC и командой создания пользователя в postgresql. Как вы, возможно, знаете, PostgreSQL управляет разрешениями на доступ к базе данных, используя концепцию ролей.Эта роль может быть пользователем базы данных или группой пользователей базы данных, в зависимости от того, как установлена ​​роль.

Как указано здесь Роли могут владеть объектами базы данных (например, таблицами) и могут назначать привилегии для этих объектов другим ролям, чтобы контролировать, кто имеет доступ к каким объектам.

Кроме того, подчеркивается, что CREATE USER является псевдонимом для CREATE ROLE, см. Дополнительную информацию.Единственное отличие состоит в том, что, когда команда пишется как CREATE USER, по умолчанию предполагается LOGIN, тогда как NOLOGIN предполагается, когда команда пишется как CREATE ROLE.(упомянуто в postgresql manuel)

Понятие ролей объединяет понятия «пользователи» и «группы».В версиях PostgreSQL до 8.1 пользователи и группы были различными видами сущностей, но теперь есть только роли.Любая роль может выступать как пользователь, группа или и то, и другое.

А RBAC - это контроль доступа, может существовать связь с базами данных, однако она используется для любого типа «доступа к материалам» на ПК илиВ крупных сетях, аналогичных другому управлению доступом (MAC DAC), система управления базами данных в своем механизме контроля доступа также может применять другие механизмы контроля доступа.В этом случае объектами являются таблицы, представления, процедуры и т. Д. Вы можете прочитать подробности из wikipedia

Наконец, все реляционные СУБД предоставляют своего рода механизмы внутренней безопасности, предназначенные дляминимизировать угрозы.Если он подходит для вашего приложения базы данных, вы можете воспользоваться командами CREATE USER или CREATE ROLE для снижения риска безопасности, поэтому эти команды существуют.

...