pgsql-user & role & создание и обслуживание ролей группы

pgsql-user & role & создание и обслуживание ролей группы

среда

  • победа 10
  • pgsql 14.2

связанные документы

Руководство по PostgreSQL 14.1.
Создать синтаксис.
Синтаксис предоставления гранта.
Отозвать синтаксис отзыва.
Изменить синтаксис обновления.

Концепции и различия ролей пользователя, роли, группы

В более ранних версиях (до 8.1) пользователи, группы и роли были разными понятиями.Теперь понятие роли включает в себя как понятия «пользователь», так и «группа». Роли могут выполнять функции ролей пользователя и группы для входа в систему.

  • При использовании в качестве групповой роли атрибут входа в систему может не быть назначен этой роли;
  • Как пользователь входа в систему вы можете добавить атрибут входа в систему и установить тип аутентификации (пароль для входа), например пароль «123456»;
  • Предоставьте права доступа к ролям, например права доступа к схеме объектов базы данных, таблице или столбцу, каждый объект имеет разные характеристики;

Отношения между объектами базы данных

  • база данных Экземпляр базы данных, экземпляр может содержать несколько схем, и данные между разными экземплярами не используются совместно;
  • режим схемы, группировка таблиц, режимы одного и того же экземпляра могут быть общими;
  • таблица Таблица данных;
    все вышеперечисленное можно вместе назвать объектами базы данных. В системе авторизации разные объекты должны иметь связанные характеристики, и все они нуждаются в независимой авторизации;

ps: Если таблице предоставлено разрешение выбора, но нет разрешения на использование схемы, пользователю будет предложено не иметь разрешения режима xx при запросе, но когда у пользователя есть разрешение на использование схемы , у него же есть творожное разрешение таблицы, чего быть не должно;

Создать тестовую таблицу

'''
создать торговый центр схемы;
– 建table
создать таблицу mall.product
(
id varchar(32) not null, ограничение первичного ключа product_pk,
имя varchar(128),
цена int
);
создать таблицу mall.“order”
(
id varchar(32) not null,
ограничение
первичного ключа order_pk,
count int,
цена int
);
–数据初始化
вставьте в mall.product(id,name,price) значения ('p1','n1',1),('p2','n2',2),('p3','n3',3 );
вставить в mall.order(id,count,price) значения ('o1',1,1),('o2',2,2),('o3',2,3);
–CRUD –
выберите * из mall.product;
удалить из mall.product, где id='x';
обновить набор mall.product name='x', где id='x';
вставить в mall.product(id,name,price) значения ('p1','n1',1);
выберите * из торгового центра.order;
'''

прецедент

'''
– базовая структура синтаксиса
/*
create: CREATE ROLE имя_роли;
авторизовать: GRANT group_role TO role1, … ;
вывести: REVOKE group_role FROM role_1, …;
удалить: DROP ROLE имя_роли;
*/
– синтаксис группы ролей
create role group_role; – Создать роль группы
создать роль роль1;
создать роль роль2;
предоставить групповую_роль для роли1;
предоставить групповую_роль роли1,роль1;
–Роль и пользователь
создать роль w_user пароль для входа '123456'; --Разрешить вход и установить пароль
для создания роли r_user пароль для входа '123456 ';
изменить роль пароля r_user '123123'; --Изменить пароль
– разрешение схемы { CREATE | USAGE }
предоставить все в Schema Mall w_user; –
предоставить все в Schema Mall w_user, r_user; – предоставить всем функциям несколько ролей
предоставить все права доступа в Schema Mall для всех; – все функции предоставить все роли
предоставить право использования в Schema Mall пользователю r_user;
отозвать все права доступа в Schema Mall от w_user; – revoke –
разрешение таблицы
предоставить все права доступа в mall.product пользователю w_user; – пользователю единой формы
предоставить все on mall.product,mall. «order» для w_user; – пользователь множественной формы
предоставляет все для всех таблиц в Schema Mall для w_user,r_user; – все таблицы многопользовательское
предоставление всех для всех таблиц в схеме Mall для публики; – все таблицы Все пользователи
предоставить все права на mall.product пользователю r_user;
предоставить все права доступа ко всем таблицам в Schema Mall пользователю r_user;
отозвать все права доступа ко всем таблицам в Schema Mall от r_user;
– отозвать авторизацию
отозвать все права доступа к Schema Mall из общего доступа; – всем пользователям в режиме торгового центра Все разрешения
отозвать все разрешения на схеме торгового центра у w_user; — все разрешения в однопользовательском режиме торгового центра
отозвать все для всех таблиц в Schema Mall от w_user; – разрешение crud для всех таблиц в однопользовательском торговом центре
отозвать все для всех таблиц в Schema Mall из общедоступного; – все разрешения таблиц под всеми пользователями Mall
отозвать все в Schema Mall от r_user;
отозвать все во всех таблицах в Schema Mall от r_user;
'''

Подведем итог

В системе авторизации в более высокой версии pgsql пользователи, группы и роли объединены в объект роли, и управление полностью свободно. Роль без функции входа в систему можно понимать как роль; роль с функцией входа в систему можно понимать как пользователя; присмотритесь к грамматической структуре синтаксиса авторизации предоставления
в официальном документе , структура в основном такая же , обратите внимание на ключевое слово, понимание роли очень полезно.

Guess you like

Origin blog.csdn.net/xxj_jing/article/details/128955694