DBMS IMPERSONATE 权限AuraDB Business CriticalAuraDB Virtual Dedicated Cloud企业版
DBMS 的模拟(impersonation)权限可以像其他权限一样被授予、拒绝或撤销。
模拟是指用户承担另一个用户角色(并因此获得相应权限)的能力,但限制在于:以被模拟用户身份执行时,无法运行更新性的 admin 命令(即他们仍然可以使用 SHOW 命令)。
您可以使用 IMPERSONATE 权限来允许某个用户模拟另一个用户。
|
有关语法描述的更多详细信息,请参阅 阅读管理命令语法。 |
| 命令 | 描述 |
|---|---|
|
允许指定角色模拟任何用户。 |
|
允许指定角色模拟指定用户。 |
授予模拟所有用户的权限
您可以使用 IMPERSONATE (*) 权限来授予模拟所有用户的权限。
例如:
查询
GRANT IMPERSONATE (*) ON DBMS TO allUserImpersonator
因此,allUserImpersonator 角色将拥有模拟所有用户的权限。若要以命令形式列出角色 allUserImpersonator 的所有权限,请使用以下查询:
查询
SHOW ROLE allUserImpersonator PRIVILEGES AS COMMANDS;
| command(命令) |
|---|
|
行:1 |
授予模拟特定用户的权限
您也可以授予模拟特定用户或用户子集的权限。
例如:
查询
GRANT IMPERSONATE (alice, bob) ON DBMS TO userImpersonator;
因此,userImpersonator 角色将仅拥有模拟 alice 和 bob 的权限。随后,您拒绝其模拟 alice 的权限:
查询
DENY IMPERSONATE (alice) ON DBMS TO userImpersonator;
最终,userImpersonator 用户将只能模拟 bob。
若要以命令形式列出角色 userImpersonator 的所有权限,请使用以下查询:
查询
SHOW ROLE userImpersonator PRIVILEGES AS COMMANDS;
| command(命令) |
|---|
|
|
|
行:3 |