暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 更细粒度的 “更改用户” 特权

askTom 2017-06-13
168

问题描述

我目前正在Oracle 11g Release 2 (即将成为12.1.0.2) 数据库中寻找更细粒度的用户管理方法:

有一个想法是给一些用户管理用户帐户的某些方面的权限,例如:

-更改用户的密码
-过期密码
-锁定或解锁帐户

但是,显然不希望更改预选的配置文件,因为它还包含密码验证过程。
授予 “更改用户” 时,可以进行更改:

SYS@TEST > create user dummy identified by dummy account unlock;

User created.

SYS@TEST > grant connect, resource, alter user to dummy;

Grant succeeded.

SYS@TEST > connect dummy/dummy
Connected.

DUMMY@TEST > alter user scott profile default;

User altered.


这是不打算发生的事情 (当然是按设计工作)。
到目前为止,唯一的想法是创建一个由特权帐户拥有的函数,该函数只允许
允许的操作,然后将执行权限授予允许进行更改的用户。
这将具有允许对ID进行过滤的魅力。
但是,出于维护和迁移的原因,开箱即用会更好。

同样的情况发生在企业管理器云控制 (全部或全部)。
有没有其他方法来实现这样的事情?

专家解答

在12.2中,我们有一个叫做锁定配置文件的东西,它可以更精细地访问特权

http://docs.oracle.com/database/122/DBSEG/configuring-privilege-and-role-authorization.htm#DBSEG-GUID-AB5E62DB-7E2A-4B5A-BA96-A2BD2DF15275

但是在那之前,你需要自己管理控制。例如,您可以创建一个作为特权用户的例程,以允许某些设施,例如

create procedure sys.alter_profile(p_user varchar2, p_profile varchar2) is
begin
  execute immediate 'alter user ...'
end;


将sys.alter_profile上的execute授予 [选定用户]

但是,既然您正在考虑升级,为什么不去12.2并为自己省去麻烦 :-)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论