Проверка аутентификации
Информационная команда discovery whoami позволяет проверить, от имени какой учетной записи сервер фактически принимает запросы:
ydb [connection options] discovery whoami [-g|--groups] [-l|--access-list] [-a|--all]
, где [connection options] — опции соединения с БД
В ответ выводится имя учетной записи (User SID). Дополнительную информацию можно запросить с помощью следующих опций:
-g,--groups— показать группы, в которые входит учетная запись;-l,--access-list— показать уровни доступа, выданные учетной записи (administration, monitoring, viewer, database, register node, bootstrap);-a,--all— показать всю дополнительную информацию (эквивалентно одновременному указанию-gи-l).
Уровни доступа, отображаемые при использовании опций -l или -a, соответствуют иерархической конфигурации управления доступом. Подробная информация о списках уровней доступа и их иерархии приведена в разделе Списки уровней доступа документации по авторизации.
Выводятся только те уровни доступа, которые действительно выданы пользователю:
- Database (наличие в
database_allowed_sids) — даёт право работать с Embedded UI только как «пользователь базы данных»: можно открыть UI и видеть данные в рамках конкретной базы, но нельзя просматривать общекластерные данные или выполнять операции уровня кластера. - Viewer (наличие в
viewer_allowed_sids) — даёт право просматривать Embedded UI без возможности вносить изменения. - Monitoring (наличие в
monitoring_allowed_sids) — даёт право выполнять в Embedded UI действия, изменяющие состояние системы. - Administration (наличие в
administration_allowed_sids) — даёт право выполнять административные действия с базами данных или кластером. - Register node (наличие в
register_dynamic_node_allowed_sids) — даёт право регистрировать динамические узлы в кластере. - Bootstrap (наличие в
bootstrap_allowed_sids) — даёт право выполнять операции начальной инициализации кластера.
Если на сервере YDB не включена аутентификация (что может применяться, например, при самостоятельном локальном развертывании), выполнение команды завершится ошибкой.
Поддержка опции -g зависит от конфигурации сервера. Если она отключена, в ответ всегда будет возвращаться User has no groups, независимо от фактического членства вашей учетной записи в каких-либо группах.
Примеры
Базовое использование
$ ydb -p quickstart discovery whoami
User SID: aje5kkjdgs0puc18976co@as
С выводом групп
$ ydb -p quickstart discovery whoami -g
User SID: aje5kkjdgs0puc18976co@as
User has no groups
С выводом списка уровней доступа
$ ydb -p quickstart discovery whoami -l
User SID: user1@builtin
Access levels:
Database
Viewer
С выводом всей информации
$ ydb -p quickstart discovery whoami -a
User SID: admin@builtin
Group SIDs:
all-users@well-known
ADMINS
Access levels:
Database
Viewer
Monitoring
Administration