繁体   English   中英

如何保护Web API和应用程序使用的Azure SQL数据库(Azure AD)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM