Администрирование приватной клики
В данной статье описано, как администрировать собственную клику и за какими проявлениями ее жизнедеятельности можно и нужно следить. Cуществует специальный инструмент, который помогает управлять кликами и проверять их работоспособность — подробнее о нем в статье Контроллер.
Доступы
Пользователи аутентифицируются в CHYT так же, как и в YTsaurus — с использованием токена от YTsaurus (подробнее см. Аутентификация). CHYT проверяет права двух видов.
Во-первых, при приёме запроса клика проверяет, что у пользователя, из-под которого совершён запрос, есть право на использование клики (право use
). Права на клику хранятся в специальном системном узле Access Control Object Node
, который находится по пути //sys/access_control_object_namespaces/chyt/<alias>/principal
и создается автоматически для каждой клики при ее создании через CHYT Controller. Права на клику разграничивают доступ исключительно к вычислительным ресурсам клик.
Для клик доступны три роли:
Use
— дает праваuse
на клику, которые позволяют выполнять SQL-запросы на инстансах клики.Manage
— дает праваmanage
,read
иremove
, которые позволяют изменять или просматривать конфигурацию клики и удалить клику соответсвенно.Responsible
— позволяет подтверждать выдачу новых ролей на клику.
Во-вторых, при доступе к любым данным в YTsaurus происходит проверка доступа на чтение или запись ко всем упомянутым в запросе таблицам согласно стандартному механизму ACL, используемому в YTsaurus. Эта проверка гарантирует безопасность доступа к данным.
Изменение ACL работающей клики
Изменить ACL можно при помощи команды update_op_parameters
, для этого необходимо:
-
Ввести алиас клики в поле Filter Operations, нажать Go to operation. Алиас начинается с символа
\*
, это имя клики. -
Перейти на страницу операции, скопировать
Id
. -
Выполнить команду, которая полностью заменит acl операции. Подставить
Id
из пункта 3.yt --proxy <cluster_name> update-op-parameters --operation <operation_id> '{acl = [{subjects=[robot-1; robot-2; robot-3]; action=allow; permissions=[read]};{subjects=[<subject>]; action=allow; permissions=[read;manage]}]}'