[英]How to secure Azure SQL database used by Web API and Application (Azure AD)
我目前正在开发几个应用程序,主要是在Azure上托管:一个Excel加载项(Office应用程序),它调用Azure上托管的API,Azure上托管的Web应用程序,以及稍后可能的其他应用程序。
为了对用户进行身份验证,我使用Azure Active Directory(Azure AD),基于Web API的Token身份验证和Web应用程序的OpenID。 因此,通过Azure AD对API或Web应用程序的每次调用都进行了身份验证,因此可以在应用程序层中实现基于角色的访问控制。
这些API /应用程序通常调用Azure SQL数据库,我的问题如下:是否可以使用经过身份验证的用户(来自Azure AD)来验证数据库访问权限?
目前,数据库凭据在连接字符串中是硬编码的(为应用程序创建登录名),但这不允许严格的数据库访问控制规则。
附加信息:无法使用集成身份验证(使用Windows用户),因为Windows登录和Azure登录在我的组织中有所不同:Azure和Windows Active Directories是不同的。
非常感谢你的帮助。
是的,Azure SQL Server支持Azure Active Directory身份验证。 本文介绍如何设置它: https : //docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication
您的数据库需要为此功能的V12。 如果不是,您可以将其升级到V12。
然后,您可以使用以下连接字符串连接到数据库:
string ConnectionString = @"Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.