当 Azure Active Directory 管理员是 AAD 组时,我的 Web 应用程序无法登录数据库服务器
我一直在我的 Azure Web Apps 上推出“新”托管身份功能,并取得了不同程度的成功。简而言之,我们希望能够通过 Active Directory 控制对 Azure SQL 服务器的访问。我们已在 Web 应用程序上启用托管身份:
我决定创建一个 AAD 组,添加所有 DBA 以及有权与该数据库服务器通信的 Azure Web 应用程序。然后,该 AAD 组将被分配为 Azure Active Directory 管理员。这是包含许多 DBA 和 Web 应用程序作为成员的 AAD 组:
设置数据库服务器的 Azure Active Directory 管理员:
此时,组内用户可以通过SSMS成功登录,而Web App则不能。"Login failed for user '<token-identified principal>'"我在 Web 应用程序日志中
收到错误。如果我直接将Web App设置为Azure Active Directory Admin,则可以成功登录。
我已通过 .scm 安装了 MSI 验证程序。(Kudu) 仪表板,并确认当组分配为管理员和 Web 应用程序直接分配为管理员时,Web 应用程序可以成功从数据库服务器检索令牌。(为了完整起见,我还尝试从它不应该访问的服务器访问令牌,并且无法按预期检索)
我还尝试过以下方法:
azure azure-active-directory azure-sql-database azure-web-app-service azure-managed-identity