You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于使用Microsoft Entra ID/服务主体登录Azure PostgreSQL的配置疑问

Azure Database for PostgreSQL 微软Entra ID登录配置说明

各操作的实际用途

  • CREATE USER "user1@yourtenant.onmicrosoft.com" IN ROLE azure_ad_user;
    给普通的Entra ID用户/组创建对应的数据库用户账号,让这类身份能通过Entra验证登录数据库。创建后默认没有管理员权限,需要手动分配具体的数据库操作权限,适合给非管理员身份开放数据库访问的场景。

  • az postgres flexible-server identity assign --resource-group $resourceGroup --server-name $server --identity $identity
    这个命令是给PostgreSQL灵活服务器本身分配托管身份,目的是让服务器能以Entra身份访问其他Azure服务(比如从Blob存储拉取数据),和用户登录数据库完全无关,别搞混了。

  • select * from pgaadauth_create_principal('<identity_name>', false, false);
    这是灵活服务器专属的扩展命令,功能和第一个CREATE USER类似,用来创建Entra主体(用户/组/服务主体)对应的数据库用户,但支持更多参数配置,本质是封装了底层的用户创建逻辑,只适用于灵活服务器。

  • 设置Entra ID身份/组为服务器管理员
    这是在Azure层面把Entra身份设为服务器的最高权限管理员,对应SQL里的superuser角色,这个操作不需要在数据库里执行任何命令。

关于组管理员的核心问题

当你在Azure门户把某个Entra ID组设为PostgreSQL服务器管理员后,组内所有成员都不需要在数据库里创建SQL用户,直接用自己的Entra ID就能登录数据库,并且拥有服务器级的完整管理权限(比如创建数据库、分配权限等)。

原因是:服务器级的Entra管理员会自动映射到数据库的azure_ad_admin角色,组内成员登录时,系统会验证其组身份,自动赋予管理员权限,不需要额外创建用户账号。

内容的提问来源于stack exchange,提问作者Liero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:40:57