50.8. pg_authid
В каталоге pg_authid
содержится информация об идентификаторах для авторизации (ролях). Роль включает в себя концепции «пользователей» и «групп». Пользователь по существу представляет собой частный случай роли, с флагом rolcanlogin
. Любая роль (с или без флага rolcanlogin
) может включать другие роли в качестве членов; см. pg_auth_members
.
Так как в этом каталоге содержатся пароли, он не должен быть открыт для всех. Для общего пользования предназначено представление pg_roles
на базе pg_authid
, в котором поле пароля очищено.
За подробной информацией о пользователях и управлении правами обратитесь к Главе 21.
Так как пользователи определяются глобально, каталог pg_authid
разделяется всеми базами данных кластера; есть только единственная копия pg_authid
в кластере, а не отдельные в каждой базе данных.
Таблица 50.8. Столбцы pg_authid
Имя | Тип | Описание |
---|---|---|
oid | oid | Идентификатор строки (скрытый атрибут; должен выбираться явно) |
rolname | name | Имя роли |
rolsuper | bool | Роли имеет права суперпользователя |
rolinherit | bool | Роль автоматически наследует права ролей, в которые она включена |
rolcreaterole | bool | Роль может создавать другие роли |
rolcreatedb | bool | Роль может создавать базы данных |
rolcanlogin | bool | Роль может подключаться к серверу. То есть эта роль может быть указана в качестве начального идентификатора авторизации сеанса. |
rolreplication | bool | Роль является ролью репликации. Такие роли могут устанавливать соединения для репликации и создавать/удалять слоты репликации. |
rolbypassrls | bool | Роль не подчиняется никаким политикам защиты на уровне строк; за подробностями обратитесь к Разделу 5.7. |
rolconnlimit | int4 | Для ролей, которые могут подключаться к серверу, это значение задаёт максимально разрешённое для этой роли число одновременных подключений. При значении -1 ограничения нет. |
rolpassword | text | Пароль (возможно, зашифрованный) или NULL, если его нет. Если пароль зашифрован MD5, это значение начинается со строки md5 , за которой идёт 32-символьный шестнадцатеричный хеш MD5. Хеш MD5 вычисляется для пароля пользователя с добавленным за ним его именем. Например, если у пользователя joe пароль xyzzy , Postgres Pro сохранит в этом поле md5-хеш строки xyzzyjoe . Если пароль зашифрован алгоритмом SCRAM-SHA-256, это поле содержит 4 поля, разделённые двоеточиями. Первое поле — это соль, закодированная в base-64. Второе поле содержит число итераций при генерировании пароля. Третье поле содержит сохранённый ключ в шестнадцатеричном виде. В четвёртом поле содержится ключ сервера в шестнадцатеричном виде. Если пароль не соответствует этим форматам, считается, что он не зашифрован. |
rolvaliduntil | timestamptz | Срок действия пароля (используется только при аутентификации по паролю); NULL, если срок действия не ограничен |