维护应用程序/系统帐户以进行数据库访问

时间:2010-02-01 15:10:32

标签: sql authentication informix

(改写...)

如何管理必须遵循与常规登录用户帐户相同的策略的“应用程序”数据库帐户。

我们的系统中有许多进程,无论是一直无人值守,还是部分需要访问数据库的预定作业(Informix)。到目前为止,这些都是nologin / noexpire帐户。我们现在要求将它们视为普通用户帐户,并将其密码正常到期。

当凭据在某些时候发生变化时,如何管理/同步针对数据库进行身份验证的应用程序?

我们可以根据月份生成密码,但由于工作会全天候推送到系统,这可能会导致帐户锁定太多失败的尝试。

1 个答案:

答案 0 :(得分:1)

两个问题:

  1. 应用程序(进程)是否与IDS在同一台计算机上运行?
  2. 它们是由具有应用程序帐户ID的进程运行的,还是由某些管理用户(例如“root”)运行,并且与数据库的连接是否指定了用户名和密码?
  3. 答案很重要,因为如果进程在本地计算机(与IDS相同的计算机)上运行并且程序作为“应用程序用户”运行,则连接根本不需要密码。因此,密码的到期/更改根本不会影响数据库系统。

    如果应用程序在同一台计算机上运行但是由“root”启动,则可以选择修改运行应用程序的代码,以便它现在可以执行以下操作:

    run_application
    

    将来它会:

    su app_user -c run_application
    

    当然,用户“root”可以像其他用户一样运行,而不必担心密码之类的细节。您可能需要修改应用程序以避免再次使用用户名和密码连接。

    如果应用程序不在与IDS相同的计算机上运行,​​则选项更加棘手。有办法达到这个效果;你可能不想锻炼它们。 (如果您需要详细信息,请离线与我联系。我还需要您提供更多详细信息。请参阅我的个人资料。)