当前位置: 首页 > 知识库问答 >
问题:

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

慕麒
2023-03-14

我目前正在开发几个应用程序,主要托管在Azure上:一个调用托管在Azure上的API的Excel加载项(Office应用程序),一个托管在Azure上的web应用程序,以及以后可能的其他应用程序。

为了对用户进行身份验证,我使用Azure Active Directory(Azure AD),基于Web API的令牌身份验证和Web应用程序的OpenID。因此,对API或Web应用程序的每次调用都通过Azure AD进行身份验证,因此可以在应用程序层实施基于角色的访问控制。

这些API/应用程序经常调用Azure SQL数据库,我的问题如下:是否可以使用经过身份验证的用户(来自Azure AD)也对数据库访问进行身份验证?

目前,数据库凭据硬编码在连接字符串中(为应用程序创建登录),但这不允许严格的DB访问控制规则。

附加信息:无法进行集成身份验证(使用Windows用户),因为Windows登录和Azure登录在我的组织中是不同的:Azure和Windows Active Directory是不同的。

非常感谢你的帮助。

共有1个答案

壤驷文华
2023-03-14

是的,AzureSQLServer支持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();
 类似资料:
  • 我们有一个应用程序,它使用Azure Spring Boot Active Directory starter“com.microsoft.Azure:Azure Active Directory Spring Boot starter”和Spring Security来保护对该应用程序的访问。这一切都很好。 这是按照以下说明完成的: https://docs.microsoft.com/en-u

  • 我有一个视频流android应用程序。Firebase项目包含视频链接和元数据。我已经实现了身份验证和firebase数据库规则,这样只有经过身份验证的用户才能访问这些视频。 仍然有人能够访问链接并下载视频上传到youtube上。 所以我的问题是如何完全阻止用户在应用程序之外访问我的json。我已将读取操作仅限于经过身份验证的用户。 任何人都可以使用命令行注册我的项目,然后访问数据吗?

  • 问题内容: 我想使用PayPal出售Java应用程序。收到付款后,会向客户发送一次性下载链接到我的应用程序。 我的问题是,如何防止人们将.jar文件发送给他们的朋友/将其上传到互联网上? 显然,我需要在应用程序中进行某种检查,该检查仅允许它在一台计算机上运行。那是另一个问题,我不希望客户对一台计算机有限制,他们应该能够在家中和工作中运行它。 也许某种CD键可以解决问题?那里有Java的CD密钥资源

  • 本文向大家介绍如何使用SpringSecurity保护程序安全,包括了如何使用SpringSecurity保护程序安全的使用技巧和注意事项,需要的朋友参考一下 首先,引入依赖: 引入此依赖之后,你的web程序将拥有以下功能: 所有请求路径都需要认证 不需要特定的角色和权限 没有登录页面,使用HTTP基本身份认证 只有一个用户,名称为user 配置SpringSecurity springsecur

  • 问题内容: 我是软件开发的初学者,我想知道如何在Java应用程序中实施保护系统,以防止盗版。我知道没有完美的解决方案。但是我只想知道如何保护它。而且不要告诉我将其开源,就我而言这是不可能的:)。 感谢您的时间和答复。 问题答案: 由于可以轻松地破解任何许可证执行解决方案,因此我建议您完全不要尝试实现复制保护。许可证管理给您的用户带来不便。 如果确定要实施复制保护,则可以使用开源库。 此外,您应该混

  • 我试图把我的头缠在这个问题上2天现在,我找不到任何正确的解决方案在网上和论坛上这个问题。 我无法使用@login\u required decorator在flask应用程序中保护dash应用程序。我可以使用blueprint route中的@login\u调用dash应用程序,以确保其安全并将其重定向到dash应用程序。 但是如果我直接调用dash-applike_localhost:5000/