Контроль доступа#
CedrusData Catalog использует комбинацию discretionary access control (DAC) и role-based access control (RBAC)
для организации доступа к объектам каталога.
Процесс авторизации#
Когда пользователь вызывает команду каталога, происходит следующая последовательность действий:
Каталог формирует список привилегированных действий (privileged action), которые необходимо авторизовать. С каждым привилегированным действием ассоциирован один целевой объект. Команда каталога может потребовать авторизацию одного или нескольких действий. Например, создание нового пользователя потребует авторизацию одного действия
principal.create
, а перемещение таблицы между пространствами имен потребует авторизацию двух действий:table.alter
для перемещаемой таблицы иtable.create
для целевого пространства имен.Происходит формирование списка прямых и наследуемых ролей, членами которых является текущий пользователь
Каталог выполняет процедуру авторизации каждого привилегированного действия для текущего пользователя и его ролей. Если все привилегированные действия авторизованы, каталог разрешает выполнение операции.
Полный список привилегированных действий приведен в документе Привилегированные действия.
Администраторы могут использовать команду security check-access для проверки наличия у принципала прав выполнения привилегированного действия над конкретным объектом.
Discretionary Access Control (DAC)#
Все объекты каталога имеют владельцев. Владелец обладает неограниченными правами доступа к объекту и может выполнять над ним любые привилегированные действия.
Примечание
Объект может не иметь владельца, если он был создан в CedrusData Catalog до версии 458-10. Для таких объектов владелец не учитывается для проверки прав доступа. Вы можете использовать команду security grant-ownership, чтобы назначить владельца такому объекту.
Назначение владельца происходит автоматически при создании объекта. В дальнейшем владелец объекта может быть изменен путем вызова команды security grant-ownership.
Владельцем объекта может быть любой принципал. Если владельцем объекта назначена роль, то неограниченные привилегии доступа к данному объекту будут распространены на всех прямых и наследованных членов данной роли.
CedrusData Catalog вернет ошибку при попытке удаления принципала, который является владельцем хотя бы одного объекта.
Role-based Access Control (RBAC)#
Для авторизации привилегированных действий пользователю может быть назначена одна или несколько ролей, а роли — привилегии.
Команды для управления ролями:
security grant-role — назначить роль принципалу
security revoke-role — отозвать роль принципала
security role-members — получить список ролей принципала
Команды для управления привилегиями:
security grant-privilege — назначить роль принципалу
security revoke-privilege — отозвать роль принципала
security principal-privilege-grants — получить список привилегий, назначенных принципалу
security securable-privilege-grants — получить список привилегий объекта
Полный список привилегий приведен в документе: Привилегии.
Каталог имеет несколько встроенных ролей для удобного начала работы.
См. также#
Объекты CedrusData Catalog, Привилегированные действия, Привилегии