В частности, что я понимаю в вашем вопросе, это различия и отношения между 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 для снижения риска безопасности, поэтому эти команды существуют.