当前位置: 首页 > news >正文

使用 AD 帐户从 ASP.NET 8 容器登录 SQL Server 的 Kerberos Sidecar

我最近在做一个项目,需要将一个 ASP.NET 8 Web API 应用程序容器化,该应用程序需要与本地运行的 SQL Server 数据库进行通信。我们决定将 ASP.NET 8 容器定位到 Linux 系统,因此必须与运行在 Windows AD 域中的数据库进行通信。

问题


我们之前的设置是使用 IIS 在 Windows 上部署 ASP.NET 8 应用,将 AD 服务帐户配置为 AppPool 身份,并授予其对 SQL Server 数据库的访问权限。

在容器化 ASP.NET 8 应用时,我们遇到的问题是与 SQL Server 数据库的连接中断。只有 Azure SQL Server 数据库在连接字符串中接受用户名和密码,但考虑到我们的本地 SQL Server 设置,这对我们来说行不通。

解决方案


因此,唯一的选择是为我们的 Linux 容器构建一个 Sidecar,通过管理 AD SQL 帐户登录的 Kerberos 令牌,实现从 ASP.NET 8 容器到 SQL Server 数据库的连接。您可以使用 Linux 上可用的 Kerberos 库来实现这一点,并启用 SQL Server 来接受使用 Kerberos 协议的登录。

步骤非常简单:


- 使用您的 SQL 登录名和相关密码生成密钥表文件 (keytab)。为此,您需要使用 ktutil 工具。您可以在此处找到相关文档。
- 创建 Sidecar,它使用 SQL 登录名和密钥表文件(位于只读文件夹中)更新票据,并将 Kerberos 票据存储在共享文件夹中。
Sidecar 也可以创建第一个 Kerberos 票据,但这需要传入 SQL 登录名帐户的密码,并且根据您的偏好设置和安全策略,这可能行不通。
- 配置 ASP.NET 容器使用上一步中相同的共享卷,并使用 Kerberos 票证,以便 SqlConnection 可以与 SQL Server 数据库通信。

实施


下图展示了该解决方案的整体设置,其中主容器和 Sidecar 使用一个共享卷,Kerberos

http://www.xdnf.cn/news/1354375.html

相关文章:

  • uniapp对接一键登录
  • FL Studio Win版.exe安装教程(直接安装版/详细步骤/附安装包下载)
  • 全面解析主流AI模型:功能对比与应用推荐
  • 离线优先与冲突解决:ABP vNext + PWA 的边缘同步
  • AI实现超级客户端打印 支持APP 网页 小程序 调用本地客户端打印
  • 可视化-模块1-HTML-02
  • week4-[循环结构]生日悖论-new
  • Dubbo vs Feign
  • Python 学习(十六) 下一代 Python 包管理工具:UV
  • More Effective C++ 条款04:非必要不提供默认构造函数
  • Day58 Java面向对象13 instanceof 和 类型转换
  • OCR、文档解析工具合集(下)
  • Text2API与Text2SQL深度对比:自然语言驱动的数据交互革命
  • 【51单片机】【protues仿真】基于51单片机冰箱系统
  • 嘉立创EDA快捷键汇总
  • 每日一题8.23
  • Windows应急响应一般思路(三)
  • 从词源和输出生成等角度详细解析PHP中常用文件操作类函数
  • BEVDet/BEVDet4D
  • 【40页PPT】数据安全动态数据脱敏解决方案(附下载方式)
  • LeetCode 分类刷题:2529. 正整数和负整数的最大计数
  • 【大语言模型 16】Transformer三种架构深度对比:选择最适合你的模型架构
  • XCVM1802-2MSEVSVA2197 XilinxAMD Versal Premium FPGA
  • flink常见问题之超出文件描述符限制
  • android studio配置 build
  • VS Code 中创建和开发 Spring Boot 项目
  • JWT实现Token登录验证
  • Nacos-11--Nacos热更新的原理
  • 语义普遍性与形式化:构建深层语义理解的统一框架
  • C++算法题—— 小C的细菌(二维偏序离线 + 树状数组 + 坐标压缩)