DBA应该为应用程序loginlogging密码,还是应该由开发人员/分析人员负责? 通过应用程序login,我的意思是应用程序用来访问数据库的login名。 通常每个应用程序都有一个。
我不是指为系统用户创build的用户帐户密码。
应用程序开发人员有责任跟踪访问数据库所需的凭据。 理由是应用程序需要密码才能完成它的工作,但数据库不pipe打勾。
如果开发人员丢失了密码,DBA的工作就是重置密码并提供一个新密码,但是他们绝对不应该保留明文版本。 想想一个系统pipe理员和用户。 系统pipe理员不知道用户密码,只负责重置和提供。
我的$ .02在这里。
DBA应该跟踪应用程序密码。 开发者不应该拥有生产密码或者QA密码。 DBA应该保存所有这些密钥,并将它们提供给根据需要进行部署的系统pipe理员。
就我个人而言,我有一个小的networking应用程序,我build立了几个公司,我发现很方便。 它允许您将用户名和密码放入数据库,该数据库以安全的encryptionforms存储密码。 logging所有对应用程序的访问权限以进行SOX审计。
通过应用程序授予对帐户的访问权限,这样,作为DBA,我可以创build一个帐户,并让开发人员读取应用程序中的帐户访问权限,以便他们可以查看开发人员密码。 用于QA和生产密码的系统pipe理员也一样。
在我看来,应该不需要DBA知道或涉及任何他们不需要知道的密码来执行他们的工作。 当忘记密码时,可以帮助他们重置密码,提醒他们没有改变/执行更改周期和其他这样的function,但它不是你的责任,密码监控。 如果您正在监控密码,它也会向您显示/了解密码。
我build议每个应用程序都有一个应用程序pipe理员,为他们的团队完成这项工作,就像所有的“本地”pipe理一样。 只要帐户/密码组合受到监视,以便没有人获得匿名访问数据,那么它应该可以正常工作。
与上面的一些post一样,DBA真的不应该关心或担心用户/密码。 不幸的是,有些人需要在路上的某个时刻检索这些信息。 我们开发了一个小应用程序,它将使用我们自己的algorithm根据用户名创build密码。 我们DBA自己的客户端工具,如果有人要求密码,我们可以为他们检索。 如果将来应用程序受到威胁,我们可以随时更改algorithm和/或重置密码。 我们只使用这个应用程序帐户。
我们不能给你一个明确的答案,因为对于不同的组织来说,不同的答案是适当的。 你应该真的在内部进行讨论,以便找出谁应该负责组织内的信息。 如果你不能就这个微不足道的事情达成协议,你可能还有其他问题需要解决。 在这样的情况下, 我们认为应该完全没有区别。
这是一个很好的问题,可能和Oracle数据库pipe理员一样多。 我个人更喜欢不维护这样一个列表,只是根据需要设置一个新的密码 – 当我完成后,可能会以原始密码的encryptionforms将其恢复。
我认为他们可以。 我和一家公司合作了大约5年,在那里我们有明确定义的angular色 – 应用程序开发人员创build了应用程序并devise了数据库,DBA使用这些应用程序用来访问数据库的login名来testing数据库。 他们确保该用户帐户的所有内容都能正常工作,并检查数据库的性能。 他们做了比我们所能做的更多的testing。 他们还确保所有其他用户都被locking在数据库之外,因此在该用户下发生的任何事情都只限于less数人。
所以我认为让DBA拥有这些用户名/密码是很重要的。 这就像系统pipe理员可以访问“testing”帐户来检查networking上的某些function。
DBA或任何其他人都不应该可以检索密码。 也许重置,找回没有。
密码应该在数据库中和传输过程中进行散列或encryption。