在我们的组织中,我们有共同的凭证来访问postgres数据库,每个开发人员都知道,因为它是硬编码在应用程序的连接字符串中。因此,每当数据库上发生DML/MySQL更改时,我们很难跟踪,因为开发人员使用自己的更改。我们不能为每个开发人员单独登录,这是繁琐的管理。
**注意:**另外,我们不能保证凭证不会与同行开发人员共享。
为了解决这个问题,我们考虑将Postgres与Azure Active Directory集成,用于身份验证。如果我们可以将Azure AD组/用户Map到Postgres,安全性将得到加强,维护开销也将减少。
但是,我找不到一篇文章来实现这一点,因为大多数文章都说Azure托管postgresql与Azure AD的集成,而不是在VM上运行的postgres。
有没有人可以指导我或分享一篇详细的**文章来实现 Azure AD集成,用于在VM上运行的Postgres(IaaS)*
2条答案
按热度按时间pb3skfrl1#
在Azure门户中,转到postgresql数据库,选择身份验证并设置Active Directory管理员。
x1c 0d1x的数据
您可以指定Azure AD组而不是单个用户来拥有多个管理员。
连接到postgresql:
1.登录到Azure订阅。2.使用以下命令获取PostgreSQL服务器的访问令牌:
字符串
3.使用该令牌作为登录postgresql服务器的密码。
创建用户
型
代币验证:
使用Azure Active Directory -用于PostgreSQL的Azure数据库-单服务器|微软学习
tyg4sfes2#
由于您指定的原因,使用Azure Active Directory是一个很好的主意,但不幸的是,没有本地支持通过本地Postgres数据库连接到Azure Active Directory(这基本上是您在VM中使用Postgres时所拥有的)。但是,可以通过LDAP协议完成。
完整披露:我自己并没有真正做过这部分(或者使用教程链接中的步骤),但这是我与系统操作员一起工作时的理解。使用LDAP to connect to Azure AD,然后使用Postgres to connect via LDAP。关于Postgres中LDAP身份验证的更多信息可以在here中找到。
Bhavani的回答是关于Azure Database for PostgreSQL,这是一个Azure原生数据库服务。这部分我 * 使用过 *,我强烈推荐它;你可以获得Azure AD集成,并且可以专门管理数据库性能和连接,而不必同时管理VM性能。请注意,他们的截图是针对灵活服务器的,而参考链接说'单服务器';我推荐Flexible Server。