仅允许 oracle 数据库登录特定应用程序?

2023-12-07

我们希望仅通过我们自己的应用程序允许用户进行数据库访问 (Oracle) - 让我们将其称为“ourTool.exe”,安装在用户计算机本地。目前,用户每次启动“ourTool”时都必须提供用户名/密码。提供的密码密码被解密,我们使用用户名/解密密码最终登录到 Oracle DB。这种方法可以防止用户使用第三方工具(SQLplus、Excel、Access 等)直接访问我们的数据库,并且保证数据库中的所有内容都已使用“ourTool”输入/编辑。

现在,我们的一位客户希望允许其用户“单点登录”(使用智能卡/Oracle PKI)。这样,用户将能够连接到我们的数据库,而无需在每次启动“ourTool”时提供任何密码。但对于 SQLplus、Excel、Access 等具有潜在危险的工具来说也是如此。

有办法防止这种情况吗?在这种情况下,我们如何确保数据库中的每条记录仅使用“ourTool”创建/编辑/删除?


由于它是您的应用程序并且您可以控制源,因此您可以使用受密码保护的数据库角色或从 ourTool.exe 启用的安全应用程序角色。 (看http://www.oracle.com/technology/obe/obe10gdb/security/approles/approles.htm ).

例如,对于受密码保护的数据库角色,初始连接将仅具有 CREATE SESSION 权限,然后 ourTool.exe 将使用只有您知道的密码发出 SET ROLE。任何其他应用程序都没有设置角色的信息。显然,在此配置中,权限仅授予角色,而不直接授予用户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅允许 oracle 数据库登录特定应用程序? 的相关文章

随机推荐

  • 如何生成不重复的随机数

    我正在尝试随机化数组中的数字 我可以使用arc4random indexes count 我的问题是 如果一个数组由 20 个项目组成 则每次数组洗牌时 在 5 个批次中 应该出现不同的数字 例子 第一次洗牌 1 4 2 5 6 第二次洗牌
  • SVM 分类 - 每个类别的最小输入集数量

    我正在尝试构建一个应用程序来检测来自网页的广告图像 一旦我检测到这些 我将不允许它们显示在客户端 从我得到的帮助这个 Stackoverflow 问题 我认为 SVM 是实现我的目标的最佳方法 所以 我自己编写了 SVM 和 SMO 我从
  • 最后打印页面的 HTML 页脚

    我想打印我的 html 页面 我有超过一页的内容 我只想在最后一页的底部打印页脚 我的CSS page size 8 5in 11 0in margin left 0 7cm margin top 0 7cm margin top 0 7c
  • rand() 函数未生成足够的随机数

    我正在开发一个 openGL 项目 我的 rand 函数没有给我足够大的随机范围 我的任务是编写一个钻石程序 其中一颗钻石位于屏幕中央 五颗钻石随机放置在屏幕的其他位置 发生的情况是我的中心钻石位于它应该在的位置 而其他五个钻石则在中心左侧
  • 我创建了一个有多个敌人的游戏太空侵略者

    我想创建 1 个额外的敌人 我在循环列表时遇到问题 但是当我这样做时 我不断收到此错误 enemyX i enemyX change i IndexError list index out of range 这是我的代码 num of en
  • 俄罗斯套娃到百叶窗xsl改造

    我一直在尝试编写一个 xslt 转换 将 俄罗斯娃娃 样式的 xsd 转换为 威尼斯盲人 样式 我写了一些东西 但并不完全按照我的预期工作 所以我有以下xsd文档
  • 在 Chrome 中,当焦点位于已注册 onChange 和 onBlur 处理程序的 TextArea 上时,无法在 FocusPanel 上获得 onClick()

    我不喜欢在我的应用程序中使用 Button s 因为它们在视觉上太重了 我想我可以使用具有图像的按钮 但我发现我认为是一个更简单的解决方案 不需要使用图像 只需制作一个 InlineLabel 并将其放入 FocusPanel 中 然后拦截
  • 根据本地安全策略验证新的 AD 密码?

    我想允许当前用户更改其密码 通过活动目录管理 我想验证然后在 Active Directory 中设置他们的密码 当前使用SetPassword调用方法 我的问题是验证密码 使其满足复杂性要求 不包含用户的帐户名或 用户全名的一部分 超过两
  • WINAPI EnumWindowsProc:非标准语法;使用 & 创建指向成员的点

    当我调用 EnumWindows EnumWindowsProc 0 时 我不断收到错误消息 它将我的 BOOL CALLBACK SelectionWindows EnumWindowsProc HWND hWnd long lParam
  • 如何更新光标位置? [复制]

    这个问题在这里已经有答案了 可能的重复 在 RichTextBox 中设置光标 private void richTextBox1 TextChanged object sender EventArgs e string text rich
  • 如何为特定任务创建 Ant 监听器

    我们的应用程序中有大约 80 个 jar 全部都是使用ant中的javac任务和jar任务创建的 我想介绍一下 findbug 检查 一种选择是创建单个 findbug 检查 ant 项目 其中包含所有 jars 和定义的所有源路径 这可行
  • 布尔运算符如何在“if”条件下工作?

    我目前是 Python 新手 正在尝试运行几行简单的代码 我无法理解 Python 在之后如何评估这个语法if陈述 任何解释将不胜感激 number int raw input Enter number if number 1 or 2 o
  • 如何在java中序列化ArrayLIst而不出现错误?

    我只是想输出一个先前创建的 ArrayList 以将其序列化以供将来存储 但是当我尝试这样做时 我收到运行时错误 notSerializedException Department 有没有一种特殊的方法来序列化 arrayList 有人能告
  • JQuery 回调先前定义的函数

    我仍在学习 JQuery 因此学习了一点 JavaScript 但我似乎不知道如何在回调中使用先前定义的函数 假设我有 我希望在另一个函数中使用它 例如
  • MYSQL count(*) 和 count(1) 哪个更好?

    相关 SQL Server 计数 与计数 1 你能告诉我什么性能更好 MySQL 计数 还是计数 1 这是 MySQL 的答案 它们的执行完全相同 除非您使用 MyISAM 然后是一个特殊情况COUNT 存在 我总是用COUNT anywa
  • 如何使用 Google Apps 脚本将视频上传到 Youtube?

    我想使用 Google Apps 脚本通过 YouTube Data API v3 将视频上传到 YouTube 这是我的代码 function YouTubeAPI var url URL VIDEO var file UrlFetchA
  • WPF:按钮中奇怪的图像拉伸

    我有多个按钮 每个按钮都有一个 32x32 像素的 PNG 图像 奇怪的是 两个按钮显示不同的尺寸 是的 我三次检查图标确实是 32x32 秒按钮看起来大小为 48x48 像素 最有趣的是 如果我省略Stretch None 属性时 图标会
  • 了解Spring Cloud Eureka Server自我保存和更新阈值

    我对开发微服务还很陌生 尽管我已经研究它有一段时间了 阅读了 Spring 的文档和 Netflix 的文档 我开始了一个简单的项目可以在 Github 上找到 它基本上是一个 Eureka 服务器 阿基米德 和三个 Eureka 客户端微
  • 使用 DataOutputStream 将消息写入客户端套接字到服务器套接字仅在关闭客户端套接字后发送,为什么?

    我用 Java 进行了 Socket Client 编程 我正在使用 DataOutputStream 将消息发送到 Server Socket 有时 在 DataOutputstream 上写入的消息不会发送到 ServerSocket
  • 仅允许 oracle 数据库登录特定应用程序?

    我们希望仅通过我们自己的应用程序允许用户进行数据库访问 Oracle 让我们将其称为 ourTool exe 安装在用户计算机本地 目前 用户每次启动 ourTool 时都必须提供用户名 密码 提供的密码密码被解密 我们使用用户名 解密密码