📜  SQL |创建角色

📅  最后修改于: 2021-09-08 15:29:30             🧑  作者: Mango

创建角色以简化安全模型的设置和维护。它是一组可以授予用户的相关权限的命名组。当数据库中有很多用户时,很难授予或撤销用户的权限。因此,如果您定义角色:

  • 您可以授予或撤销用户权限,从而自动授予或撤销权限。
  • 您可以创建角色或使用预定义的系统角色。

授予系统角色的一些权限如下:

System Roles Privileges granted to the Role
Connect Create table, Create view, Create synonym, Create sequence, Create session etc.
Resource Create Procedure, Create Sequence, Create Table, Create Trigger etc. The primary usage of the Resource role is to restrict access to database objects.
DBA All system privileges

创建和分配角色 –

首先,(数据库管理员)DBA 必须创建角色。然后 DBA 可以为角色分配权限,为角色分配用户。

句法 –

CREATE ROLE manager;
Role created.

在语法中:
‘manager’ 是要创建的角色的名称。

  • 现在角色已创建,DBA 可以使用 GRANT 语句为角色分配用户以及为角色分配权限。
  • 通过角色向用户授予或撤销权限比直接为每个用户分配权限更容易。
  • 如果角色由密码标识,则 GRANT 或 REVOKE 权限必须由密码标识。

为角色授予权限 –

GRANT create table, create view
TO manager;
Grant succeeded.

为用户授予角色

GRANT manager TO SAM, STARK;
Grant succeeded.

撤销角色的特权:

REVOKE create table FROM manager;

删除角色:

DROP ROLE manager;

解释 –
首先它创建一个管理员角色,然后允许管理员创建表和视图。然后授予 Sam 和 Stark 管理人员的角色。现在 Sam 和 Stark 可以创建表和视图。如果用户被授予多个角色,他们将获得与所有角色关联的所有权限。然后使用 Revoke 从角色“manager”中删除创建表权限。使用 drop 从数据库中删除角色。