Глава 20. Роли базы данных
- Содержание
- 20.1. Роли базы данных
- 20.2. Атрибуты ролей
- 20.3. Членство в роли
- 20.4. Безопасность функций и триггеров
- 20.1. Роли базы данных
PostgreSQL использует концепцию ролей (roles) для управления разрешениями на доступ к базе данных. Роль можно рассматривать как пользователя базы данных или как группу пользователей, в зависимости от того как роль настроена. Роли могут владеть объектами базы данных (например, таблицами) и выдавать другим ролям разрешения на доступ к этим объектам, управляя тем, кто имеет доступ и к каким объектам. Кроме того, можно предоставить одной роли членство в другой роли, таким образом одна роль может использовать привилегии других ролей.
Концепция ролей включает в себя концепцию пользователей ("users") и групп ("groups"). До версии 8.1 в PostgreSQL пользователи и группы были отдельными сущностями, но теперь есть только роли. Любая роль может использоваться в качестве пользователя, группы, и того и другого.
В этой главе описывается как создавать и управлять ролями. Дополнительную информацию о привилегиях для ролей на различные объекты базы данных можно найти в Разделе 5.6.
| Пред. | Начало | След. |
| Проблемы аутентификации | Уровень выше | Роли базы данных |
Chapter 20. Database Roles
- Table of Contents
- 20.1. Database Roles
- 20.2. Role Attributes
- 20.3. Role Membership
- 20.4. Function and Trigger Security
- 20.1. Database Roles
PostgreSQL manages database access permissions using the concept of roles. A role can be thought of as either a database user, or a group of database users, depending on how the role is set up. Roles can own database objects (for example, tables) and can assign privileges on those objects to other roles to control who has access to which objects. Furthermore, it is possible to grant membership in a role to another role, thus allowing the member role to use privileges assigned to another role.
The concept of roles subsumes the concepts of "users" and "groups". In PostgreSQL versions before 8.1, users and groups were distinct kinds of entities, but now there are only roles. Any role can act as a user, a group, or both.
This chapter describes how to create and manage roles. More information about the effects of role privileges on various database objects can be found in Section 5.6.