2011-05-27 52 views
0

我们在服务器模式下使用Java + H2数据库,因为我们不希望用户访问数据库文件。H2数据库:防止用户倾销数据库内容(SCRIPT,BACKUP等)

admin创建的所有数据库用户都是普通用户(不是管理员)。那些普通用户有没有其他的可能性来获取数据库内容?我尝试过SCRIPT和BACKUP命令,并且因为需要管理员权限而失败。这很好:)

使用户不是管理员足以保护用户免受倾销数据库内容?

更多,正在申请user =数据库用户,一个很好的安全实践?以前,对于身份验证,我们在数据库中使用自定义“用户”表,而不是数据库用户。

谢谢。

+0

由于这是[H2数据库:如何使用加密进行保护,而无需公开文件加密密钥]的可能副本(http://stackoverflow.com/questions/6148415/h2-database-how-to-protect-with -encryption-without-exposing-file-encryption-key),请更新您的原始问题。 – trashgod 2011-05-27 06:34:01

+0

这不是重复的。这个问题是关于一旦用户登录到H2控制台,保护常规用户转储的数据库内容。另外,我还问了关于使用数据库用户作为应用程序用户的编程习惯。另一个问题(链接)是关于隐藏加密密钥。 – Andy 2011-05-27 07:42:11

回答

0

那些普通用户有没有其他的可能性来获取数据库内容?

不。这是数据库用户和权利的重点,因此用户只能访问允许的数据。

让用户不是管理员就足以保护用户免受倾销数据库内容?

是的。

正在申请user = database用户,一个很好的安全实践?

是的,如果客户端应用程序有权访问数据库(通过TCP/IP)。

以前,对于身份验证,我们在数据库中使用自定义“用户”表,而不是数据库用户。

这是Web应用程序和其他3层系统(用户无权访问数据库)的通用解决方案。

+0

是否有可能阻止普通用户访问information_schema? – Andy 2011-05-27 08:12:08

+0

嗯,普通用户应该没有或只有有限的信息访问权限......我目前看到他们有完整的阅读权限。这不好,我会尽力解决这个问题。目前没有办法阻止用户访问表。 – 2011-05-27 09:07:43