postgresql 基于Active Directory(LDAP)的身份验证和授权VS基于数据库的身份验证和授权

avkwfej4  于 2023-04-11  发布在  PostgreSQL
关注(0)|答案(3)|浏览(209)

使用Active Directory(LDAP)进行身份验证和授权比使用常规数据库(如postgres)存储用户信息有什么优势吗?
我正在与一个cybersec的家伙谁说,实现身份验证使用后端服务器和数据库是20年前的做法。他希望用户身份验证和授权完全依赖于LDAP。

xzlaal3s

xzlaal3s1#

PostgreSQL确实支持LDAP,但它是一种次等的方法。它还支持SSPI和GSSAPI(kerberos),您可能希望使用其中一种来对Active Directory进行身份验证。

rkue9o1l

rkue9o1l2#

LDAP数据库(包括Active Directory)是专为用户身份验证和安全性而设计的,并提供了大量用于大规模管理身份数据的解决方案。它们通常提供许多用于管理用户的实用程序,例如密码策略配置。例如,您可以创建一个策略,确保特定用户子集必须使用至少12个字符作为其密码。LDAP数据库还可以给予在数据库中存储密码时使用的特定类型的散列算法(例如PBKDF 2,Argon 2,SSHA-512),并且通常会原生支持流行的方案。
你可能会发现PostgreSQL已经足够满足你的需求,但是如果你希望构建一个用于重要工作流的数据库,那么确保它能满足你在不久的将来的需求(例如,可用性,速度,安全性)是一个好主意。必须将数据从一种数据库类型移动到另一种数据库类型可能是一个挑战。
下面的页面有一些关于LDAP服务器的附加信息,可能会有所帮助。
https://ldap.com/why-choose-ldap/

sqserrrh

sqserrrh3#

我想你不是在谈论PostgreSQL的身份验证,而是在谈论管理应用程序用户,对吗?
如果应用程序用户不是您组织的一部分,但例如客户,则他们不会成为您公司的身份管理系统(在您的情况下是Microsoft Active Directory)的一部分,因此您将在数据库表中管理他们。
另一方面,如果应用程序用户是在身份管理系统中注册的组织成员,则使用该身份管理系统作为应用程序用户的存储库非常有意义。其优点是:

  • 如果在中央身份管理系统中添加或删除用户,他们将作为应用程序用户自动添加或删除,不存在被删除的用户仍然可以访问应用程序的危险。
  • 如果您将身份验证委托给身份管理系统,您就不必实现自己的身份验证系统。这样就不会有人丢失应用程序密码,并且您可以实现方便的解决方案,如单点登录。

相关问题