【问题标题】:Grants by role changed in Oracle 11g?Oracle 11g 中按角色授予的授权发生了变化?
【发布时间】:2011-01-17 22:21:59
【问题描述】:

我尝试通过角色将CONNECT 授予用户:

CREATE ROLE my_role IDENTIFIED BY "passwd";
GRANT CONNECT TO my_role;

CREATE USER my_user IDENTIFIED BY "passwd";
GRANT my_role TO my_user;

当我在 10g 中尝试此操作时,它工作正常,而在 11g 中登录被拒绝:

ORA-01045:user MY_USER lacks CREATE SESSION privilege; logon denied

CREATE SESSION 授予该角色并没有什么不同。
我只能在直接将CONNECT(或CREATE SESSION)授予用户后才能登录。

Oracle 改变了这种行为还是我做错了什么?

【问题讨论】:

    标签: oracle oracle11g roles grant ora-01045


    【解决方案1】:

    我认为您可能已经摆脱了 10g 中的安全“功能”。我阅读 11g 的 SQL 参考和安全指南的方式表明,启用密码的角色需要使用 SET ROLE my_role IDENTIFIED BY passwd,然后该角色授予的任何权限才有效。

    在您拥有该角色之前,您不能CREATE SESSION,并且在您发出SET ROLE之前,您不能拥有该角色。

    第 22 条军规。

    【讨论】:

    • 太好了,非常感谢!你有链接吗?
    • 我没有指向 tahiti.oracle.com 文档的链接,因为它的可用性不可靠。 CREATE ROLE 和 SET ROLE 语法分别在 Oracle Database SQL Language Reference 11g Release 2 (E10592-04) 第 15-59 和 19-60 页。
    【解决方案2】:

    Oracle 知识库 [ID 745407.1] 对此进行了解释。

    中的DEFAULT子句:

    改变用户默认角色; 指定在登录时默认授予用户的角色。此子句只能包含已通过 GRANT 语句直接授予用户的角色,或由具有 CREATE ROLE 权限的用户创建的角色。您不能使用 DEFAULT ROLE 子句来启用:

    1. 角色未授予用户

    2. 通过其他角色授予的角色

    3. 由外部服务(如操作系统)或 Oracle Internet Directory 管理的角色

    4. 通过密码验证的角色。

    5. 作为安全应用程序角色实施的角色。

    对于密码验证角色,已在版本 10.2.0.5 和 11.1.0.7 中引入了更改。 对于安全应用程序角色,已在 Oracle 版本 10.2.0.4 和 11.1.0.7 中引入了更改 这些更改将适用于所有未来的版本。上述限制将在以后的文档中介绍。

    通过运行以下脚本,可以轻松地将启用密码的角色转换为标准角色:

    选择'改变角色'||角色||'未确定;' from dba_roles where password_required='YES' and role not in (select role from dba_application_roles);

    【讨论】:

      【解决方案3】:

      在 Oracle 10g 版本 10.2.0.5(至少对于我们的副本)中,激活默认角色(作为默认授予用户)也受密码保护更改。在 10.2.0.5 版本中,默认情况下将不再激活受密码保护的角色。必须使用适当的密码专门打开它。

      据我们所知,这并没有记录在案。但是当我们的系统从 10.2.0.4 升级到 10.2.0.5 时,这个变化破坏了我们的几个系统,我们不得不为我们没有任何机制来激活默认角色的功能账户创建并行的非受保护角色。我们基本上创建了没有密码的 old_role_batch 作为 old_role 的副本,它是受密码保护的。

      【讨论】:

        猜你喜欢
        • 2019-05-16
        • 2020-07-09
        • 1970-01-01
        • 1970-01-01
        • 2012-11-18
        • 1970-01-01
        • 1970-01-01
        • 2018-10-11
        • 2017-02-03
        相关资源
        最近更新 更多