Контроль доступа#

CedrusData Catalog использует комбинацию discretionary access control (DAC) и role-based access control (RBAC)
для организации доступа к объектам каталога.

Процесс авторизации#

Когда пользователь вызывает команду каталога, происходит следующая последовательность действий:

  1. Каталог формирует список привилегированных действий (privileged action), которые необходимо авторизовать. С каждым привилегированным действием ассоциирован один целевой объект. Команда каталога может потребовать авторизацию одного или нескольких действий. Например, создание нового пользователя потребует авторизацию одного действия principal.create, а перемещение таблицы между пространствами имен потребует авторизацию двух действий: table.alter для перемещаемой таблицы и table.create для целевого пространства имен.

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

  3. Каталог выполняет процедуру авторизации каждого привилегированного действия для текущего пользователя и его ролей. Если все привилегированные действия авторизованы, каталог разрешает выполнение операции.

Полный список привилегированных действий приведен в документе Привилегированные действия.

Администраторы могут использовать команду security check-access для проверки наличия у принципала прав выполнения привилегированного действия над конкретным объектом.

Discretionary Access Control (DAC)#

Все объекты каталога имеют владельцев. Владелец обладает неограниченными правами доступа к объекту и может выполнять над ним любые привилегированные действия.

Примечание

Объект может не иметь владельца, если он был создан в CedrusData Catalog до версии 458-10. Для таких объектов владелец не учитывается для проверки прав доступа. Вы можете использовать команду security grant-ownership, чтобы назначить владельца такому объекту.

Назначение владельца происходит автоматически при создании объекта. В дальнейшем владелец объекта может быть изменен путем вызова команды security grant-ownership.

Владельцем объекта может быть любой принципал. Если владельцем объекта назначена роль, то неограниченные привилегии доступа к данному объекту будут распространены на всех прямых и наследованных членов данной роли.

CedrusData Catalog вернет ошибку при попытке удаления принципала, который является владельцем хотя бы одного объекта.

Role-based Access Control (RBAC)#

Для авторизации привилегированных действий пользователю может быть назначена одна или несколько ролей, а роли — привилегии.

Команды для управления ролями:

Команды для управления привилегиями:

Полный список привилегий приведен в документе: Привилегии.

Каталог имеет несколько встроенных ролей для удобного начала работы.

См. также#

Объекты CedrusData Catalog, Привилегированные действия, Привилегии