gpt4 book ai didi

oracle - 授予选择 View

转载 作者:行者123 更新时间:2023-12-04 14:12:54 25 4
gpt4 key购买 nike

一路上的某个地方出了点问题,我似乎无法找出原因。如果这已经被问到道歉。

我的数据库中有 3 个架构:
冷 table
本地_IT
格本

COLLDESK 是我们的主要模式,LOCAL_IT 是我们进行本地开发的地方,GERBEN 是最终用户(应该只有选择选项)。

现在我的 COLLDESK 模式中有一个名为 GESTIONES 的表。在 LOCAL_IT 中,我有一个名为 ACTIONS 的 View 。这包含 COLLDESK 模式中 GESTIONES 表中的 4 列。到现在为止还挺好!

现在我想在 View ACTIONS 中赋予 GERBEN 模式选择权限。但是当我说

grant select on LOCAL_IT.ACTIONS to GERBEN

我收到错误 ORA-01720:COLLDESK.GESTIONES 的授权选项不存在

现在我尝试将 GERBEN 选择权限授予 GESTIONES,但我仍然收到错误消息

任何帮助将不胜感激!

亲切的问候

格本

最佳答案

错误信息应该这样写:

ORA-01720: COLLDESK.GESTIONES 不存在“授予选项”。

以下是它的工作原理:

您有 3 个架构:

  • Schema1 - 名为“table1”的表的持有者
  • Schema2 - 从 schema1.table1
  • 中选择的 View “view1”的持有者
  • Schema3 - 用户,从 schema2.view1 中选择 - 没有在 schema1.table1 上授予选择。

  • 你可能已经做了以下事情:
    grant select on schema1.table1 (COLLDESK.GESTIONES) to schema2;

    请注意,由于您正在创建 View ,因此选择必须直接授予 schema2,如果通过角色授予选择,您的 View 将不起作用。

    现在您尝试允许第 3 个模式 (schema3) 使用 View 从 schema1 读取数据。出于安全目的,即使 schema2 可以查看数据,也永远不会允许 schema2 从 schema1 访问数据到第 3 个 schema。否则这将是一个巨大的安全漏洞。

    因此,解决方案是明确说明 schema2 将能够间接授予该选择权限,当第 3 方被授予 View 上的选择权限时。

    解决方案:
    grant select on schema1.table1 to schema2 with grant option;

    现在允许 schema2 将其 View 上的选择授予第 3 方:
    grant select on schema2.view1 to schema3;

    为你:
    grant select on COLLDESK.GESTIONED to LOCAL_IT with grant option;
    grant select on LOCAL_IT.ACTIONS to GERBEN;

    还:
    除非绝对必要,否则避免使用公共(public) View 和公共(public)数据库链接。首先耗尽所有其他选项。

    关于oracle - 授予选择 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24307857/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com