我需要保护 oracle 用户从我编写的外部程序中执行插入/更新/删除。
我在谷歌上搜索了一下以找到我需要的东西。我知道您可以使用自己编写的数据库触发器。 我现在有两个来自 oracle 的主要系统(至少那是我发现的)。 您可以使用细粒度审计。您还可以使用审计跟踪。
我认为在我的案例中,审计跟踪很接近,但这不是我想要的。因为我现在需要从哪个程序连接到数据库。例如,我需要注册所有正在执行插入/更新/删除的连接,并执行来自 sql developer 或 toad 的语句。但是所有其他连接可能会在没有审核的情况下通过。
我每天都有很多连接,所以注册所有东西太过载了。
我希望你们中的一个人对如何设置它有一个好主意。
问候
最佳答案
您可以使用 Oracle 的产品:Oracle Audit Vault and Database Firewall。因为您还想知道连接来自哪个程序,所以您需要数据库防火墙。它可以监视通过数据库的所有流量,指定 IP 地址和启动连接的客户端。您还可以指定是否要审计 DML 或 DDL,或其他语句。数据本地存储在产品的数据库中,而不是安全目标(您的数据库)中。看看吧,它正是你需要的:http://www.oracle.com/technetwork/products/audit-vault-and-database-firewall/overview/overview-1877404.html
关于database - 审计 dml 语句的 oracle 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709891/