Обзор контроля доступа в CedrusData#

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

  1. Глобальный механизм контроля доступа определяет общие политики доступа на уровне кластера CedrusData.

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

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

Глобальный контроль доступа#

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

Чтобы сконфигурировать глобальный контроль доступа, создайте файл etc/access-control.properties и укажите в нем название механизма контроля доступа. Например:

access-control.name=allow-all

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

Большинство проверок доступа происходят на координаторе. Некоторые проверки авторизации, например право запуска Graceful shutdown, происходят на worker-узлах. Рекомендуется использовать идентичную конфигурацию контроля доступа на всех узлах.

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

Имя

Описание

default

Разрешены все операции, кроме имперсонации пользователей и запуска Graceful shutdown. Используется по умолчанию.

allow-all

Разрешены все операции.

read-only

Разрешены операции чтения данных и метаданных, например SELECT или SHOW. Допускается изменение свойств сессии текущего пользователя.

file

Правила авторизации заданы в файле конфигурации. См. Контроль доступа с помощью файла.

opa

Контроль доступа на основе Open Policy Agent (OPA). См. Open Policy Agent access control.

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

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