Пользователи и роли в Managed Service for Greenplum®
Greenplum® управляет правами доступа к базе данных с помощью ролей. Роли могут владеть объектами базы данных (например, таблицами) и иметь атрибуты и привилегии. От имени одной роли можно назначать привилегии другим ролям.
Пользователь в Greenplum® — это роль, которая может авторизоваться в базе данных. Для этого ей предоставляется атрибут LOGIN
.
Наибольшими привилегиями среди всех пользователей обладает пользователь-администратор с ролью mdb_admin.
Атрибуты
У роли есть атрибуты, определяющие, какие задачи она может выполнять в базе данных.
Атрибуты | Описание |
---|---|
SUPERUSER или NOSUPERUSER |
Является ли роль суперпользователем. В Managed Service for Greenplum® атрибут SUPERUSER назначен служебным ролям gpadmin и monitor и недоступен пользователям сервиса. |
CREATEDB или NOCREATEDB |
Разрешение или запрет на создание базы данных. По умолчанию — NOCREATEDB . |
CREATEROLE или NOCREATEROLE |
Разрешение или запрет на создание других ролей и управление ими. По умолчанию — NOCREATEROLE . |
INHERIT или NOINHERIT |
Наследует ли роль привилегии ролей, в составе которых она находится. По умолчанию — INHERIT . |
LOGIN или NOLOGIN |
Может ли роль авторизоваться в системе, т. е. является ли роль пользователем. По умолчанию — NOLOGIN . |
CONNECTION LIMIT <значение> |
Количество одновременных подключений для роли с атрибутом LOGIN . Значение по умолчанию — -1 (количество не ограничено). |
CREATEEXTTABLE или NOCREATEEXTTABLE |
Разрешение или запрет на создание внешних таблиц. По умолчанию — NOCREATEEXTTABLE . |
PASSWORD '<пароль>' |
Задание пароля для роли. Если аутентификация для роли не требуется, этот атрибут можно не указывать. |
ENCRYPTED или UNENCRYPTED |
Сохранение пароля в виде хеш-строки или в открытом текстовом виде. По умолчанию — ENCRYPTED . Подробнее о защите паролей для входа см. в документации Greenplum® |
Групповые роли
Одни роли могут входить в состав других ролей и наследовать их привилегии. При изменении привилегий родительской роли меняются и привилегии всех ролей, входящих в ее состав. Подробнее о групповых ролях см. в документации Greenplum®
Привилегии
Привилегии определяют доступные для роли действия с объектами базы данных.
Не используйте роль mdb_admin
для выполнения повседневных задач, т. к. ошибочная команда, отправленная от ее имени, может привести к неработоспособности кластера. Для таких задач создайте отдельные роли с минимально необходимым набором привилегий:
Тип объекта |
Привилегии |
Таблицы, внешние таблицы, представления |
|
Столбцы |
|
Последовательности |
|
Базы данных |
|
Домены |
|
Внешние оболочки данных |
|
Внешние серверы |
|
Функции |
|
Процедурные языки |
|
Схемы |
|
Табличные пространства |
|
Типы |
|
Протоколы |
|
Подробнее о привилегиях и управлении ими см. в документации Greenplum®
Роль mdb_admin вместо суперпользователя
В кластере Managed Service for Greenplum® не предоставляются права суперпользователя. Вместо него для работы с базами данных используйте пользователя-администратора с ролью mdb_admin
. Такой пользователь создается вместе с кластером и позволяет выполнять следующие операции:
-
Управлять клиентскими процессами и сессиями пользователей, так как пользователь с ролью
mdb_admin
может обращаться к объектамmdb_toolkit
. -
Обращаться к представлению pg_stat_activity
и получать информацию из него. -
Управлять объектами БД других пользователей, например таблицами. Пользователь с ролью
mdb_admin
является владельцем объектов всех пользователей. -
Использовать зарезервированный для
mdb_admin
слот для подключения.Если установлено слишком много подключений к БД, при еще одном подключении может возникнуть ошибка. Пользователь с ролью
mdb_admin
этого избегает, так как для него зарезервирован слот для подключения. -
Создавать БД.
-
- Создавать внешние источники данных.
- Создавать внешние таблицы.
- Обращаться к учетным данным пользователей. Эти данные передаются по PXF в открытом виде.
-
Расширять кластер: добавлять хосты-сегменты в него и перераспределять данные между ними с помощью утилиты
gp_expand
. -
Подключаться к БД
gpperfmon
и диагностировать производительность кластера.
Имя пользователя-администратора и его пароль задаются при создании кластера.
Если вы хотите предоставить привилегии пользователя-администратора другому пользователю, назначьте ему роль mdb_admin
:
GRANT mdb_admin TO <имя_пользователя>;
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.