我有自己的SQL Server数据库,其中包含用于身份验证的用户名/密码。我想用一个Identity Management提供者在这个数据库的基础上构建一个定制的Identity Provider,这样就可以注册其他应用程序,并且它们的用户可以通过OIDC进行身份验证。
我研究了一些教程,他们说一些Identity Management提供商,如:OneLogin,Okta...可以与我们自己的证书数据库集成。但对于Google Identity Platform,到目前为止,我找不到任何显示如何做这件事的链接。
您能告诉我是否有可能将我们自己的数据库与Google Identity Platform集成?有没有提到这方面的资源链接?如果这是不可能的,有没有什么替代方案可以将数据库与Cloud Platform (例如Azure或AWS)集成,或者我们必须从头开始构建我们自己的Identity Provider?
谢谢。
发布于 2020-06-29 23:08:57
您可以使用Cloud Identity Platform。您可以定义外部身份提供者,甚至可以定义custom identity provider。
但是,此解决方案意味着您自己的SQL数据库位于符合OIDC的身份提供者之后。
此外,您还可以对访问应用程序的用户进行身份验证。您不能使用此身份验证直接与Google Cloud API交互,只能与您的应用程序交互。
发布于 2020-06-30 03:33:48
可以使用Identity Platform Admin SDK以编程方式管理安全断言标记语言( Security Assertion Markup Language,SAML2.0)和OpenID Connect (OIDC) provider configurations。您可以浏览OpenID连接here的详细信息。
我还建议您探索best practices和指导,帮助您始终如一地、安全地建立联盟。该指南基于在Google Cloud中使用Cloud Identity或G Suite的最佳实践。
您可能会对运行在Google Cloud之外的Connecting to Cloud SQL from external applications感兴趣。
发布于 2021-05-16 23:05:57
使用keycloak将现有数据库公开为开放式Id连接(OIDC)身份提供程序。
然后,您可以告诉google identity platform使用您的新身份提供者作为联合提供者,就像其他答案告诉您的那样。
要做到这一点,您需要一些代码。你需要帮助keycloak转换常见的用户模式,如获取用户,列出用户,检查密码,获取组,角色等进入你的数据库。这已经实现了一个具有所需功能(用户查找、密码更新、用户创建等)的StorageProvider。
JDBC提供程序已经准备就绪,您只需在其中提供正确的查询。查看keycloak文档。您只需要实现需要的用户(例如:如果您不需要通过keycloak管理接口创建用户,则不要通过keycloak实现用户创建;如果您的用户通过您的体系基础设施管理他们的密码,则不要实现密码更改;等等)。对于这个用例(google身份验证),用户查找和密码验证就足够了。
Okta在这里不会帮到你,但是直接使用Auth0 (自定义数据库连接器)是可能的。
因此,您要么使用keycloak实现自己OIDC (open if connect),要么寻找能够自定义数据库连接的云身份解决方案,并将其公开给google。
https://stackoverflow.com/questions/62636783
复制相似问题