我想编写一个使用用户自己的Azure AD凭据对Azure SQL数据库运行查询的工具。那可能吗?我可以设置自己的应用程序进行身份验证,但重要的是,我希望用户能够输入自由格式的查询并在执行SQL时使用其自己的凭据,而不是与我的应用程序关联的权限。
答案 0 :(得分:0)
据我所知,C#提供了ActiveDirectoryInteractive模式,该模式可用于连接到Azure SQL数据库。有关更多详细信息,请参阅document。
答案 1 :(得分:0)
是的,可以实现您描述的方案。除了显而易见的Azure SQL Server和Web应用程序/ API设置之外,身份验证还需要强调两点。
身份验证重点
我提供了更详细的步骤,并提供了来自MS游乐场的博客的链接,该博客在下面做了非常相似的事情。
详细步骤
对于您的应用程序的“必需权限”,添加并选择
a。 Azure门户> Azure AD>应用程序注册>您的应用程序注册
b。选择“ Azure SQL数据库”
c。选择“授权权限”>“ Azure SQL DB和数据仓库”
用户使用Azure AD对您的Web应用程序/ API进行身份验证。这可以直接到您的Web应用程序(称为Azure SQL数据库),也可以通过调用您的Web API的客户端应用程序(如果具有单独的前端和API。则API应用程序调用Azure SQL数据库)。
现在,您的Web应用程序/ API具有可用的Azure AD Access令牌,请使用“代表流”代表登录用户调用Azure SQL数据库。这将利用我们之前设置的来自Azure AD的委派权限。 Sample code for On-behalf-Of flow
博客文章,提供更多详细信息
这是MSFT操场上的博客文章,其作用类似。它分为三个部分。我正在分享最重要的第二个。您可以按照自己认为合适的方式跟随其他两个。
Part 2 – Azure API Application to query the Azure SQL Database