📦 Создание и назначение пользователей баз данных Oracle

Как создать и назначить права пользователям Oracle

by itisgood

Введение

В этой статье мы расскажем о том, как создавать и назначать пользователей для БД Oracle.
Как обычно, начните с подключения к вашему серверу, на котором размещен Oracle, затем подключитесь к самому Oracle под учетной записью SYSTEM.
Учетная запись SYSTEM – это одна из нескольких предопределенных административных учетных записей, создаваемых автоматически при установке Oracle.
SYSTEM способна выполнять большинство административных задач, но нас особенно интересует управление учетными записями.
Выполните следующий запрос, чтобы подключиться к SYSTEM и проверить
connect system/manager;
show user;

Также убедитесь, что в таблице dual не существует пользователей

select user from dual;
Создав новую учетную запись abc, мы можем приступить к добавлению привилегий к ней с помощью оператора GRANT.
GRANT – это очень мощный оператор с множеством возможных опций, но основная его функциональность заключается в управлении привилегиями пользователей и ролей во всей базе данных.
Выполните следующий запрос
grant connect,resource to abc;
В некоторых случаях, чтобы создать более мощного пользователя, вы можете добавить роль RESOURCE (позволяющую пользователю создавать именованные типы для пользовательских схем) или даже роль DBA, которая позволяет пользователю не только создавать пользовательские именованные типы, но и изменять и уничтожать их.
Теперь давайте подключимся с помощью нашего только что созданного пользователя abc, поскольку мы дали ему права на подключение и ресурс GRANT

Мы успешно подключились.

Убедитесь в этом, показав пользователю

show user;

Пользователь – abc, так что мы успешно разграничили доступ.

Теперь давайте попробуем кое-что другое, давайте попробуем добавить другого пользователя, используя учетную запись abc.

Что вы думаете?

Это сработает?

Давайте посмотрим.

Выполните следующую команду

create user xyz identified by xyz123;

Мы остановились с ошибкой “insufficient privileges”.

Поскольку мы только что предоставили привилегию connect & resource, мы не смогли добавить еще одну учетную запись.

Далее мы хотим убедиться, что у пользователя есть привилегии для фактического подключения к базе данных и создания сеанса, используя GRANT CREATE SESSION.

Мы также объединим это со всеми привилегиями с помощью GRANT ANY PRIVILEGE.

Давайте исправим это.

Выйдите из системы и подключитесь заново, используя системную учетную запись

Выполните следующую команду

connect system/manager
grant all privileges to abc;

Теперь мы предоставили все привилегии пользователю abc. Так что теперь он должен иметь возможность добавить другого пользователя.

Давайте проверим, работает ли это!

Снова подключитесь к пользователю abc

connect abc/abc123;

Давайте еще раз проверим подключение пользователя и выполним команду useradd, чтобы проверить, можем ли мы добавить этого пользователя xyz.

show user;
create user xyz identified by xyz123;

Бинго! Похоже, мы успешно добавили!

см. также:

 

 

You may also like

Leave a Comment