我有一个 SSDT 单元测试项目,对我的 azure 数据库进行 EntraID 身份验证。
执行此SSDT单元测试项目(见下图):
本地
Active Directory 交互式身份验证
在我的 AzureDevOps 管道中 + 使用“服务主体”认证
我需要如何配置我的 app.config 才能使用 AzureDevOps-Pipeline 中的 ServicePrincipal?
我需要如何配置我的 app.config 才能使用 AzureDevOps-Pipeline 中的 ServicePrincipal?
要在 app.config -> ConnectionString 中使用 AAD 服务主体,您可以将身份验证设置为 ActiveDirectoryServicePrincipal。
这是一个例子:
Data Source=xx.database.windows.net,1433;Initial Catalog=DATABASE;Persist Security Info=False;User ID={appid};Password={appsecret};Multiple Active Result Sets=False;Encrypt=True;TrustServerCertificate=False;Authentication=ActiveDirectoryServicePrincipal
如果您想避免在 app.config 的连接字符串中存储敏感信息。您可以将连接字符串存储在管道中的秘密变量中。
并在 app.config 中使用令牌
connectionString="#{sqlDbTestConnectionString}#"
代替真实的连接字符串。
然后在管道中的 VsTest 任务之前添加 replace token task,以将 app.config 中的 token
#{sqlDbTestConnectionString}#
替换为秘密变量中定义的真实连接字符串。
您可以查看此博客以获取更多信息。