快速入门:选择Microsoft SQL 安全示例

使用这些Microsoft SQL 安全示例来比较数据 API 生成器(DAB)如何向 SQL 进行身份验证、验证用户并强制实施每用户访问。 每个示例都可独立使用,但该系列的内容从基本凭据逐步过渡到用户委托的 Azure SQL 访问。

选择快速入门

从与目标匹配的问题开始。

如果你希望... 使用此快速入门
了解最简单的 DAB 到 SQL 连接模式 用户名/密码
从Azure配置中删除 SQL 密码 托管标识
在需要登录之前添加Microsoft Entra令牌验证 Microsoft Entra
使用令牌声明筛选 DAB 中的行 DAB 策略
使用数据库强制行级别安全性筛选 SQL 中的行 SQL 行级别安全性
让Azure SQL直接对已登录用户进行身份验证 代表Azure SQL

决策树

  • 你是否只需要一个基本可用的示例?
  • 您是否希望实现 DAB 到 Azure SQL 的无密码访问?
  • 是否需要 DAB 来验证Microsoft Entra令牌?
  • 登录用户是否只能查看各自的行数据?
  • 审核日志或数据库策略是否需要实际登录用户作为 SQL 标识?

比较安全模型

DAB 身份验证提供程序 列显示 runtime.host.authentication.provider 的生效值。 如果配置省略此设置,则 DAB 使用 Unauthenticated。 除了用户名/密码和代表示例外,本地运行使用 SQL 凭据,Azure部署使用托管标识。 “on-behalf-of”示例还会将 data-source.user-delegated-auth.provider 设置为 EntraId

快速入门 用户到 Web 应用 Web 应用程序迁移到 DAB DAB 身份验证提供程序 DAB 到 SQL
用户名/密码 匿名 匿名 Unauthenticated SQL 凭据
托管标识 匿名 匿名 Unauthenticated Azure 中的托管标识
Microsoft Entra 匿名 匿名 EntraId Azure 中的托管标识
DAB 策略 Microsoft Entra 登录 持有者令牌 EntraId Azure 中的托管标识
SQL 行级别安全性 Microsoft Entra 登录 持有者令牌 EntraId Azure 中的托管标识
代表Azure SQL Microsoft Entra 登录 持有者令牌 EntraId 用于 Azure SQL 的用户委派令牌