Ibm midrange 阻止AS400文件上的更新和删除操作

Ibm midrange 阻止AS400文件上的更新和删除操作,ibm-midrange,Ibm Midrange,是否有任何方法可以阻止用户对AS400中的文件执行更新和插入操作?即使我们为该文件提供了删除SQL查询或更新查询,该文件也不应该授予删除权限。有什么方法可以做到这一点吗?IBM i的用户可以使用各种权限。所以简单的回答是肯定的,你可以做到。但是这里没有任何方法来回答,因为可能性的数量可以填满一本书,事实上它确实填满了很多书。但它的缺点是,您可以使用基本的SQLGRANT语句,甚至可以使用IBMi权限。长期而言,您需要一个安全策略,然后您可以根据该策略保护所有对象和用户配置文件。IBM的知识中心有

是否有任何方法可以阻止用户对AS400中的文件执行更新和插入操作?即使我们为该文件提供了删除SQL查询或更新查询,该文件也不应该授予删除权限。有什么方法可以做到这一点吗?

IBM i的用户可以使用各种权限。所以简单的回答是肯定的,你可以做到。但是这里没有任何方法来回答,因为可能性的数量可以填满一本书,事实上它确实填满了很多书。但它的缺点是,您可以使用基本的SQLGRANT语句,甚至可以使用IBMi权限。长期而言,您需要一个安全策略,然后您可以根据该策略保护所有对象和用户配置文件。IBM的知识中心有一整部分专门用于安全性。也许从那里开始

安全规则1不要发明你自己的安全

开始吧

第一步:远离公众的一切。 SQL

我只是说由单个用户进行访问控制不是一个好的实践。使用户成为TEMPS之类的组的成员,并阻止TEMPS组。这让我觉得裙带关系阻碍了一个特定的用户

第2步拿走所有东西,然后添加团队需要的内容

revoke all on myfile.mylib from temps;
GRANT INSERT ON MYLIB/MYFILE TO TEMPs;

祝你好运

如果你不能从这个人身上删除*ALLOBJ,我认为一个答案是使用退出点。我强烈建议雇佣一个人为你做这件事,但这里有一个很好的介绍:


另一种可能是使用行和列访问控制(RCAC)

您可以在创建物理文件时将“允许更新/删除操作”设置为*NO。我正在尝试使用create TABLE命令创建文件。那么,有没有什么方法可以通过使用像CHGPF这样的CL命令来阻止呢?我不认为CHGPF会有帮助。如果您是对象的所有者,您可以尝试GRTOBJAUT向其他用户授予权限。我们可以使用GRTOBJAUT授予权限,但如何删除删除和更新权限?RVKOBJAUT命令用于撤销对象的权限。在使用这些命令之前要小心。参考本文的示例3,我尝试从用户撤销对文件1的删除。我可以删除记录,甚至在使用它之后。有些东西可以覆盖它。例如,如果您的用户都有*ALLOBJ,则无法执行任何操作,或者您的程序采用所有者权限,或者您处于安全级别20。IBMi上的安全性有很多问题,这就是为什么这对于堆栈溢出来说不是一个好问题。我建议您阅读文档,或者如果您对IBM I的安全性没有很好的了解,请聘请专家来制定计划。IBM I安全性非常复杂,并且高度可配置。如果不熟悉您的特定安全设置,这里的任何人都无法回答您的问题。您可以完成所需的操作,但您可能需要从一开始就制定一个全面的安全计划。还要了解,尽管特定用户可能没有删除记录的权限,但如果PUBLIC有删除权限,则所有用户都有删除权限!是的,我使用的用户配置文件具有*ALLOBJ权限。所以,正如你所说,撤销不起作用。我将浏览一下文档。非常感谢你。
revoke all on myfile.mylib from temps;
GRANT INSERT ON MYLIB/MYFILE TO TEMPs;