您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

Multiplex 环境中的 DBO 系统角色

缺省情况下,为 DBO 系统角色授予 SYS_AUTH_DBA_ROLE 兼容性角色。这样便可确保为该 DBO 系统角色授予执行 Multiplex 管理存储过程所需的所有特权。

无法撤销兼容性角色的基础系统特权;必须先将其迁移到用户定义角色。只有这样才能撤销新角色的各个基础系统特权,并根据组织的安全要求为其授予其它用户定义的角色。这会实施职责分离。

可自动或手动迁移兼容性角色。迁移方式可以影响系统角色或 DBO 系统角色继续执行已授权任务的能力。

自动迁移

ALTER ROLE 语句可创建新的用户定义角色,自动将兼容性角色的所有基础系统特权授予新的用户定义角色,使兼容性角色的每个成员成为新用户定义角色的成员,然后删除该兼容性角色。

自动迁移假设目标用户定义角色尚不存在,并且所有系统特权都将迁移到相同的新用户定义角色。

手动迁移

使用 CREATE ROLE 语句创建新的用户定义角色。使用 GRANT 语句为一个或多个用户或角色授予各个基础系统特权。在将所有的基础系统特权授予至少一个其他用户或角色后,使用 DROP 语句删除兼容性角色。

不会为所迁移兼容性角色的成员自动授予新用户定义角色的成员资格。因此,删除兼容性角色后,有些系统角色的成员可能无法再执行预期的特许任务。必须将新用户定义角色的成员资格授予受影响的系统角色,或者直接为受影响的成员授予所需的系统特权。

无论使用哪种迁移方法,删除兼容性角色或 SYS_AUTH_DBA_ROLE 后,如果撤销新用户定义角色的系统特权并为其授予另一个用户定义角色,则必须执行以下其中一种操作以确保系统角色(尤其是 dbo 系统角色)保留执行适当的特许任务或 Multiplex 管理存储过程时所需的所有系统特权。

  • 将从已迁移的用户定义角色撤销的每个系统特权直接授予适当的系统角色或 dbo 角色;或

  • 将获得系统特权的用户定义角色的成员资格授予适当的系统角色或 dbo 系统角色。