如何为PostgreSQL启用Azure Active Directory身份验证?

tyu7yeag  于 4个月前  发布在  PostgreSQL
关注(0)|答案(2)|浏览(61)

在我们的组织中,我们有共同的凭证来访问postgres数据库,每个开发人员都知道,因为它是硬编码在应用程序的连接字符串中。因此,每当数据库上发生DML/MySQL更改时,我们很难跟踪,因为开发人员使用自己的更改。我们不能为每个开发人员单独登录,这是繁琐的管理。

**注意:**另外,我们不能保证凭证不会与同行开发人员共享。

为了解决这个问题,我们考虑将Postgres与Azure Active Directory集成,用于身份验证。如果我们可以将Azure AD组/用户Map到Postgres,安全性将得到加强,维护开销也将减少。
但是,我找不到一篇文章来实现这一点,因为大多数文章都说Azure托管postgresql与Azure AD的集成,而不是在VM上运行的postgres。
有没有人可以指导我或分享一篇详细的**文章来实现 Azure AD集成,用于在VM上运行的Postgres(IaaS)*

pb3skfrl

pb3skfrl1#

在Azure门户中,转到postgresql数据库,选择身份验证并设置Active Directory管理员。
x1c 0d1x的数据
您可以指定Azure AD组而不是单个用户来拥有多个管理员。
连接到postgresql:
1.登录到Azure订阅。2.使用以下命令获取PostgreSQL服务器的访问令牌:

az account get-access-token --resource https://ossrdbms-aad.database.windows.net

字符串
3.使用该令牌作为登录postgresql服务器的密码。
创建用户

CREATE USER "[email protected]" IN ROLE azure_ad_user;


代币验证:

  • 令牌由Azure AD签名,且未被篡改
  • Azure AD为与服务器关联的租户颁发了令牌
  • 令牌未过期
  • 令牌用于Azure Database for PostgreSQL资源(而不是其他Azure资源)

使用Azure Active Directory -用于PostgreSQL的Azure数据库-单服务器|微软学习

tyg4sfes

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

相关问题