首页 文章

授予/撤销Oracle SQL

提问于
浏览
0

我想设置grant / revoke并在oracle apex中创建角色 . 但是我不希望为用户执行此操作,但是对于表中的数据,例如基于表中的Id,我想要撤消其更新任何数据的权限 . 这是可能的,这是最好的方法 .

3 回答

  • 0

    您不能对表中的特定行执行此操作 . 您只能为表格发出GRANT / REVOKE .

    http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljgrant.html

    您必须在应用程序(PL / SQL)级别处理表中特定数据的更新 .

  • 0

    有两种选择:

    • 你可以使用Oracle Label Security .

    • 您可以在表格顶部创建一个视图,该视图将基于当前用户的 EMPLOYEE_ID 进行查询 .

  • 0

    一些注意事项,过去曾在PostgreSQL上做过类似的事情 .

    第一种方法涉及第二种方法的所有问题,然后是一些问题 . 原因是您必须在您的视图中编写策略引擎 . 在第二种方法中,您可以获得一个策略引擎,您只需应用策略即可 .

    经验中的一些注释:

    • 如果您要一次查看多行,确实要避免从表中的其他行查找权限数据 .

    • 在实现权限检查之前,请仔细考虑权限检查的性能影响 .

    这类事情通常是性能问题,需要一些时间才能解决 . 随着您没有想到的用例变得重要,请做好长时间的优化准备 .

相关问题