码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Oracle Schema Only账户


    概念

    Schema Only Accounts是Oracle 18c的新安全功能,19c进一步增强。

    19c的增强其实就是允许此账户有管理权限:Ability to Grant or Revoke Administrative Privileges to and from Schema-Only Accounts

    A schema only account cannot log in to the database but can proxy in a single session proxy.

    This type of account, designed for some Oracle-provided schemas along with some customer schemas, can be created without the specification of a password or an authentication type. It cannot be authenticated unless an authentication method is assigned by using the ALTER USER statement. A schema only account does not contain an entry in the DBA_USERS_WITH_DEFPWD data dictionary view.

    Schema 账户是实现责权分离的重要手段,之前用户可以直接通过Schema账户或Proxy账户登录并修改Schema。这在审计时就出现了歧义,不能明确来源。而Schema Only账户不能直接登录,只能借由proxy账户登录。这就使得审计路径是唯一的。

    实验

    创建Schema Only账户,由于没有口令,其不能自动登录。

    alter session set container=orclpdb1;
    -- 不指定no authentication,效果一样
    create user schema_owner no authentication quota unlimited on users;
    grant create session, create table, create sequence, create view to schema_owner;
    
    • 1
    • 2
    • 3
    • 4

    根据文档,用户的认证类型可以是EXTERNAL,GLOBAL,PASSWORD和NONE。
    NONE表示没有认证手段,也就是Schema Only账户:

    SELECT
        username,
        account_status,
        authentication_type
    FROM
        dba_users
    WHERE
        username = 'SCHEMA_OWNER';
    
           USERNAME    ACCOUNT_STATUS    AUTHENTICATION_TYPE
    _______________ _________________ ______________________
    SCHEMA_OWNER    OPEN              NONE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    顺便说一下,IDENTIFIED GLOBALLY就是通过目录服务认证,如Microsoft AD, Oracle OID;而IDENTIFIED EXTERNALLY就是OS Authentication。

    创建Proxy账户:

    create user proxy_user identified by Welcome1;
    grant create session to proxy_user;
    alter user schema_owner grant connect through proxy_user;
    
    • 1
    • 2
    • 3

    通过Proxy账户连接Schema成功:

    SQL> connect proxy_user[schema_owner]/Welcome1@orclpdb1
    Connected.
    
    • 1
    • 2

    参考

    • Oracle Help Center: 3.5.1 About Schema Only Accounts
    • Oracle Database Features
    • Schema Only Accounts in Oracle Database 18c
  • 相关阅读:
    数据结构与算法(一)数组的相关概念和底层java实现
    数字电路基础05(TTL、MOS、CMOS)
    【考研数学】高等数学第七模块 —— 曲线积分与曲面积分 | 4. 对坐标的曲面积分(第二类曲面积分)与场论初步
    python篇---python 用opencv读取rtsp视频流(二)
    分享-Spss下载含spss25.spss26.spss27等版本
    AJAX & Axios & JSON (外加JSON数据格式案例)
    别再说你不知道分布式事务了
    kubernetes-Pod详解2
    接口测试常用技能:Jmeter操作数据库
    CSS中常用的选择器,附上案例!
  • 原文地址:https://blog.csdn.net/stevensxiao/article/details/132844702
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号