Представления парольных политик
В данном разделе описаны представления функциональности парольных политик:
pp_password_detailed— для мониторинга состояния ролей;pp_password— для просмотра кеша парольных политик.
Примечание
В случае обращения к выводуview при отключенных парольных политиках (password_policies_enable = 'off') вернется пустая таблица, а также будет выведено предупреждение (WARNING).
pp_password_detailed
Представление для мониторинга состояния ролей. Содержит следующие поля:
| Название поля | Описание | Пример вывода | Источник |
|---|---|---|---|
roleid | ID пользователя | user1 | Данные пользователя, хранящиеся в кеше |
fail_counter | Счетчик неудачных аутентификаций | 6 | Данные пользователя, хранящиеся в кеше |
last_fail_time | Метка времени последней неудачной аутентификации | 2020-09-15, 12:01:25.740155+03 | Данные пользователя, хранящиеся в кеше |
grace_success_counter | Счетчик входов после истечения времени жизни пароля | 0 | Данные пользователя, хранящиеся в кеше |
last_success_time | Метка времени последней удачной аутентификации | Данные пользователя, хранящиеся в кеше | |
create_time | Метка времени создания пароля | 2020-09-15, 12:00:52.848626+03 | Данные пользователя, хранящиеся в таблице pg_pp_password |
unblock_expiry_time | Метка времени разблокировки | Данные пользователя, хранящиеся в кеше | |
istransportpassword | Является ли данный пароль транспортным | f | |
is_auth_available | Доступна ли аутентификация | f | check_policy_for_max_age && check_policy_for_lockout && check_policy_for_inactivity_check && check_policy_for_password_check && check_lockout && check_inactivity && check_password_age |
is_blocked | Заблокирован ли пользователь | t | !(check_lockout && check_inactivity && check_password_age) |
check_policy_for_max_age | Проверка значений политики для проверки времени жизни пароля | t | Результат функций проверки политик перед самой проверкой. Сначала проверяется, что все необходимые политики заданы (не NULL), затем начинается проверка пользователя на блок по количеству неудачных аутентификаций (lockout). Возможна ошибка, если включена настройкаdeny_default (запрет использования настроек из файла postgresql.conf), а политика не задана или задана не полностью |
check_policy_for_max_age_text | Проверка значений политики для проверки времени жизни пароля (текстовый вывод) | OK | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_lockout | Проверка значений политики для блокировки по количеству неудачных аутентификаций | t | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_lockout_text | Проверка значений политики для блокировки по количеству неудачных аутентификаций (текстовый вывод) | OK | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_inactivity_check | Проверка значений политики для проверки блока по времени неактивности | t | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_inactivity_check_text | Проверка значений политики для проверки блока по времени неактивности (текстовый вывод) | OK | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_password_check | Проверка значений политики для проверки нового пароля | t | Результат функций проверки политик перед непосредственно проверкой |
check_policy_for_password_check_text | Проверка значений политики для проверки нового пароля (текстовый вывод) | OK | Результат функций проверки политик перед непосредственно проверкой |
check_lockout | Проверка блока по количеству неудачных аутентификаций | f | Результат проверок аутентификации (что увидит пользователь, если попробует войти с правильными данными аутентификации) |
check_lockout_text | Проверка блока по количеству неудачных аутентификаций (текстовый вывод) | Role wasn't unblocked. Role was blocked with 6 fail authentification attempts. Last fail at 15.09.2020 12:01:25 | Результат проверок аутентификации |
check_inactivity | Проверка блока по неактивности | t | Результат проверок аутентификации |
check_inactivity_text | Проверка блока по неактивности (текстовый вывод) | OK. Last success authentification time is undefined. | Результат проверок аутентификации |
check_password_age | Проверка блока по времени жизни пароля | t | Результат проверок аутентификации |
check_password_age_text | Проверка блока по времени жизни пароля (текстовый вывод) | Max password age check passed. Password will expire in 39 days | Результат проверок аутентификации |
check_policy_for_transport_password | Проверка значений политики для проверки транспортного пароля | t | Результат проверки транспортного пароля |
check_policy_for_transport_password_text | Проверка значений политики для проверки транспортного пароля (текстовый вывод) | OK | Результат проверки транспортного пароля |
check_transport_password_life_time | Проверка времени жизни транспортного пароля | t | Результат проверки транспортного пароля |
check_transport_password_life_time_text | Проверка времени жизни транспортного пароля (текстовый вывод) | OK. Transport password is not expired. | Результат проверки транспортного пароля |
DDL
View "pg_catalog.pp_password_detailed"
Column | Type | Collation | Nullable | Default | Storage | Description
------------------------------------------+--------------------------+-----------+----------+---------+----------+-------------
roloid | regrole | | | | plain |
failcounter | integer | | | | plain |
lastfailtime | timestamp with time zone | | | | plain |
gracesuccesscounter | integer | | | | plain |
lastsuccesstime | timestamp with time zone | | | | plain |
createtime | timestamp with time zone | | | | plain |
unblockexpirytime | timestamp with time zone | | | | plain |
istransportpassword | boolean | | | | plain |
is_auth_available | boolean | | | | plain |
is_blocked | boolean | | | | plain |
check_policy_for_max_age | boolean | | | | plain |
check_policy_for_max_age_text | text | | | | extended |
check_policy_for_lockout | boolean | | | | plain |
check_policy_for_lockout_text | text | | | | extended |
check_policy_for_inactivity_check | boolean | | | | plain |
check_policy_for_inactivity_check_text | text | | | | extended |
check_policy_for_password_check | boolean | | | | plain |
check_policy_for_password_check_text | text | | | | extended |
check_lockout | boolean | | | | plain |
check_lockout_text | text | | | | extended |
check_inactivity | boolean | | | | plain |
check_inactivity_text | text | | | | extended |
check_password_age | boolean | | | | plain |
check_password_age_text | text | | | | extended |
check_policy_for_transport_password | boolean | | | | plain |
check_policy_for_transport_password_text | text | | | | extended |
check_transport_password_life_time | boolean | | | | plain |
check_transport_password_life_time_text | text | | | | extended |
View definition:
SELECT pp.roleid AS roloid,
pp.fail_counter AS failcounter,
pp.last_fail_time AS lastfailtime,
pp.grace_success_counter AS gracesuccesscounter,
pp.last_success_time AS lastsuccesstime,
pp.create_time AS createtime,
pp.unblock_expiry_time AS unblockexpirytime,
pp.is_transport_password AS istransportpassword,
pp.is_auth_available,
pp.is_blocked,
pp.check_policy_for_max_age,
pp.check_policy_for_max_age_text,
pp.check_policy_for_lockout,
pp.check_policy_for_lockout_text,
pp.check_policy_for_inactivity_check,
pp.check_policy_for_inactivity_check_text,
pp.check_policy_for_password_check,
pp.check_policy_for_password_check_text,
pp.check_lockout,
pp.check_lockout_text,
pp.check_inactivity,
pp.check_inactivity_text,
pp.check_password_age,
pp.check_password_age_text,
pp.check_policy_for_transport_password,
pp.check_policy_for_transport_password_text,
pp.check_transport_password_life_time,
pp.check_transport_password_life_time_text
FROM pp_check_role_all() pp(roleid, fail_counter, last_fail_time, grace_success_counter, last_success_time, create_time, unblock_expiry_time, is_transport_password, is_aut
h_available, is_blocked, check_policy_for_max_age, check_policy_for_max_age_text, check_policy_for_lockout, check_policy_for_lockout_text, check_policy_for_inactivity_check,
check_policy_for_inactivity_check_text, check_policy_for_password_check, check_policy_for_password_check_text, check_lockout, check_lockout_text, check_inactivity, check_inac
tivity_text, check_password_age, check_password_age_text, check_policy_for_transport_password, check_policy_for_transport_password_text, check_transport_password_life_time, c
heck_transport_password_life_time_text);
pp_password
Представление для просмотра кеша парольных политик. Содержит следующие поля:
| Название поля | Описание | Пример вывода | Источник |
|---|---|---|---|
roleid | ID пользователя | user1 | Данные пользователя, хранящиеся в кеше |
fail_counter | Счетчик неудачных аутентификаций | 6 | Данные пользователя, хранящиеся в кеше |
last_fail_time | Временная метка последней неудачной аутентификации | 2020-09-15, 12:01:25.740155+03 | Данные пользователя, хранящиеся в кеше |
grace_success_counter | Счетчик входов после истечения времени жизни пароля | 0 | Данные пользователя, хранящиеся в кеше |
last_success_time | Временная метка последней удачной аутентификации | Данные пользователя, хранящиеся в кеше | |
create_time | Метка времени создания пароля | 2020-09-15, 12:00:52.848626+03 | Данные пользователя, хранящиеся в таблице pg_pp_password |
unblock_expiry_time | Метка времени разблокировки | Данные пользователя, хранящиеся в кеше | |
istransportpassword | Является ли данный пароль транспортным | f |
DDL
View "pg_catalog.pp_password"
Column | Type | Collation | Nullable | Default | Storage | Description
---------------------+--------------------------+-----------+----------+---------+---------+-------------
roloid | regrole | | | | plain |
failcounter | integer | | | | plain |
lastfailtime | timestamp with time zone | | | | plain |
gracesuccesscounter | integer | | | | plain |
lastsuccesstime | timestamp with time zone | | | | plain |
createtime | timestamp with time zone | | | | plain |
unblockexpirytime | timestamp with time zone | | | | plain |
istransportpassword | boolean | | | | plain |
View definition:
SELECT pp.roleid AS roloid,
pp.fail_counter AS failcounter,
pp.last_fail_time AS lastfailtime,
pp.grace_success_counter AS gracesuccesscounter,
pp.last_success_time AS lastsuccesstime,
pp.create_time AS createtime,
pp.unblock_expiry_time AS unblockexpirytime,
pp.is_transport_password AS istransportpassword
FROM get_password_policy_profile() pp(roleid, fail_counter, last_fail_time, grace_success_counter, last_success_time, create_time, unblock_expiry_time, is_transport_password);