Предоставление разрешений для ролей в Cassandra

Опубликовано: 22 Июня, 2021

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

Создание новой роли:
На этом шаге мы собираемся создать новую роль, так что user_access - это новая роль, и мы хотим получить доступ к базе данных. Чтобы создать новую роль, используйте следующий запрос cqlsh.

 cassandra @ cqlsh> создать роль user_access
   ... с паролем = 'user_access'
   ... и LOGIN = true;

Выход:

Теперь, если мы можем увидеть доступ к роли «user_access», используя следующий запрос cqlsh.

cassandra @ cqlsh> перечислить все разрешения user_access;

 роль | ресурс | разрешения
------ + ---------- + -------------

(0 рядов)
кассандра @ cqlsh>

Прямо сейчас он не может получить доступ к Существующему пространству ключей «Университет». Давайте посмотрим.

cassandra @ cqlsh> войти user_access
Пароль: user_access
user_access @ cqlsh>

Выход:

Чтобы устранить эту ошибку «Неавторизовано: ошибка с сервера: код = 2100 [Неавторизовано] сообщение =» Пользователь user_access не имеет разрешения SELECT на

или любой из его родителей », мы можем предоставить гранту разрешения на доступ.

Подумайте, если мы хотим получить доступ только к таблице «студент» в пространстве ключей университета, тогда мы можем использовать следующий запрос cqlsh.

 кассандра @ cqlsh>

предоставить все права доступа к University.student пользователю user_access;

Только мы можем предоставить разрешение на доступ к таблице «University.student».



Выход:

Теперь используйте следующий запрос cqlsh, если мы хотим предоставить доступ ко всем таблицам в пространстве ключей университета.

 кассандра @ cqlsh>

предоставить пользователю user_access все права доступа к пространству ключей University;

Мы можем увидеть все разрешения, используя «список всех разрешений».

Выход:

Если мы хотим предоставить доступ к полной базе данных, используйте следующий запрос cqlsh.

 кассандра @ cqlsh>

предоставить пользователю user_access все разрешения на все пространства ключей;

Выход: