应用程序的 Active Directory 身份验证和授权

应用程序的 Active Directory 身份验证和授权

目前,我们所有的应用程序都是基于 Web 的,我们的身份验证和授权机制始终通过数据库。例如,数据库登录和在数据库中定义的访问控制。但是现在我们正在考虑改变这种方法,并利用活动目录进行身份验证和授权。

所以我们需要创建 AD 帐户(即使对于来自互联网的用户也是如此),并使用授权管理器分配访问控制?这通常是这样做的吗?这样做有什么优缺点?我相信对于 AD 方法,我们的内部员工可以被授予访问权限,以便使用秘密打印机打印敏感信息(例如),但使用数据库方法会很困难?

最后,我是否必须同时在数据库和 AD 中保留同一组访问权限角色/组?如果不需要,那么这是否意味着应用程序可以直接调用 API 来从 AD 验证所需的角色?谢谢

答案1

您可以使用单点登录解决方案(Web 印章)将您的应用程序注册到 AD,例如(还有其他几种)IBM Tivoli 访问管理这要求您创建对象账户(用户、系统和计算机)、通过组设置权限、为每个目标应用程序实现 Web 印章登录和身份验证接口。

所以我们需要创建 AD 帐户(即使对于来自互联网的用户也是如此),并使用授权管理器分配访问控制?这通常是这样做的吗?这样做有什么优缺点?

Web 印章集成到 AD 和应用程序通常用于 Intranet/Extranet 用户。也可以通过批量创建 AD 帐户将其扩展到 Internet 用户,但我个人不建议这样做。例如,想象一下如果您的 AD 被入侵。您将遇到比“仅”未经授权的人入侵单个应用程序更大的麻烦。

AD 的另一个优点是用户维护、SoD(从应用程序级别 - 想象一下,如果您有两个系统,一个用于销售,另一个用于支付)、单一密码等等......

最后,我是否必须同时在数据库和 AD 中保留同一组访问权限角色/组?如果不需要,那么是否意味着应用程序可以直接调用 API 来从 AD 验证所需的角色?

您应该使用其中一个。两者都没有意义。IBM TAM 有一个组件,它与应用程序交互,发送自定义参数,其中可能也包括访问级别。

相关内容