我们正在工作中建立一个 PostgreSQL 9.1 数据库。数据库中没有分类数据,但我们想知道谁在做什么。我们在网络上使用 LDAP 身份验证,因此我们也希望将其用于数据库,但根据文档,无论如何都需要将所有用户定义为数据库用户。
我们当然可以将用户“转储”到数据库中,但我们希望能够在用户在 LDAP 中通过身份验证后立即在数据库中定义用户。使用包装脚本不会太难,但有没有可能直接做到这一点?(大多数用户使用 登录psql
。)
我们正在工作中建立一个 PostgreSQL 9.1 数据库。数据库中没有分类数据,但我们想知道谁在做什么。我们在网络上使用 LDAP 身份验证,因此我们也希望将其用于数据库,但根据文档,无论如何都需要将所有用户定义为数据库用户。
我们当然可以将用户“转储”到数据库中,但我们希望能够在用户在 LDAP 中通过身份验证后立即在数据库中定义用户。使用包装脚本不会太难,但有没有可能直接做到这一点?(大多数用户使用 登录psql
。)
我对 LDAP 不是很熟悉(小心轻描淡写!),但我很确定在 PostgreSQL 端没有办法自动执行此操作。如果您在 GUI 中创建 LDAP 用户,那么您可能想要设置一个 cron 脚本来将用户导出到数据库(我不知道您是否可以在那里定义类似触发器的行为,我的意思是会触发用户的东西为 LDAP 创建用户后 -creation DB 脚本)。正如您已经提到的,如果您从脚本执行此操作,则很容易解决问题。
Postgres 和 LDAP 有两个独立的步骤:
ldap
在pg_hba.conf
.这样,您就可以像往常一样管理角色和 ACL。您只是不需要将密码存储在集群中。