pg_authid#

Примечание

Эта страница переведена при помощи нейросети GigaChat.

Каталог pg_authid содержит информацию об идентификаторах авторизации базы данных (роли). Роли включают понятия «пользователи» и «группы». Пользователь – это просто роль с установленным флагом rolcanlogin. Любая роль (с или без rolcanlogin) может иметь другие роли в качестве членов; см. pg_auth_members.

Поскольку этот каталог содержит пароли, он не должен быть общедоступным. pg_roles — это общедоступное представление в pg_authid, которое опустошает поле пароля.

Раздел «Роли базы данных» содержит подробную информацию об управлении пользователями и привилегиями

Поскольку идентификаторы пользователей являются общекластерными, pg_authid распространяется на все базы данных кластера: на каждый кластер приходится только одна копия pg_authid, а не на каждую базу данных.

Столбцы pg_authid:

Столбец

Тип данных

Описание

oid

oid

Идентификатор строки

rolname

name

имя роли

rolsuper

bool

Роль имеют привилегии суперпользователя

rolinherit

bool

Роль автоматически наследует привилегии ролей, членом которых он является

rolcreaterole

bool

Роль могут создавать другие ролей

rolcreatedb

bool

Роль может создавать базы данных

rolcanlogin

bool

Роль может войти в систему. То есть эту роль можно задать в качестве первоначального идентификатора авторизации сеанса

rolreplication

bool

Эта роль – роль репликации. Роль репликации может инициировать соединения репликации и создавать и удалять слоты репликации

rolbypassrls

bool

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

rolconnlimit

int4

Для ролей, которые могут войти в систему, это устанавливает максимальное количество одновременных подключений, которые может сделать эта роль. Значение -1 означает отсутствие лимита

rolpassword

text

Пароль (возможно, засекреченный). Если NULL, значит его нет. Формат зависит от используемой формы засекречивания

rolvaliduntil

timestamptz

Время истечения срока действия пароля (используется только для аутентификации пароля). NULL, если срок действия не истекает

Для засекреченного пароля MD5 столбец rolpassword будет начинаться со строки md5, за которой следует 32-значный шестнадцатеричный хеш MD5. Хеш MD5 будет представлять собой пароль пользователя, связанный с его именем пользователя. Например, если у пользователя joe есть пароль xyzzy, PostgreSQL сохранит хеш MD5 xyzzyjoe.

Если пароль засекречен с помощью SCRAM-SHA-256, он имеет формат:

SCRAM-SHA-256$<iteration count>:<salt>$<StoredKey>:<ServerKey>

Где salt, StoredKey и ServerKey находятся в формате с кодировкой Base64. Этот формат идентичен формату, указанному в RFC 5803.

Предполагается, что пароль, который не соответствует ни одному из этих форматов, не засекречен.