Azure Devops SqlDacpacDeploymentOnMachineGroup@0 用户上下文

问题描述 投票:0回答:1

我们对 SQL Server 进行了

.dacpac
部署,该部署使用带有键/值对的连接字符串:
Integrated Security=True;

推送到我们的数据库效果很好,但我想知道它将使用哪个用户来进行更新。我们使用的发布配置文件未列出任何用户,并且其中的连接信息与 devops 版本相同。设置了一个部署组供其使用,但同样没有我可以看到的指定用户。我显然错过了一些东西。

我在网上的研究从 MS 那里得到了这一点:

当此属性值为 true 或 yes 时,DRDA 服务将使用 Windows 身份验证连接到 SQL Server。

  • 连接凭据源自正在运行的 MsDrdaService.exe(从命令行运行时的服务帐户或登录用户)。
  • 当使用值指定单独的联属应用程序参数时,连接凭据源自企业单点登录服务。有关更多信息,请参阅有关联盟应用程序的主题。

那么将其设置为 true 那么什么服务帐户将与部署绑定?所有这些都是在我接管之前设置的,而且我对 Azure DevOps 还很陌生,因此任何帮助都会很棒。

我知道我可以在连接字符串中提供用户名和密码,所以我并不是真的在寻找解决方案。我只需要知道在什么用户上下文下数据库将被更新,因为我无法指向实际帐户。

注意:我不是 DBA,因此我没有数据库上的任何日志访问或跟踪功能。

蒂亚

sql-server azure-devops deployment dacpac
1个回答
0
投票

您尚未共享管道定义,但根据您的描述并假设您使用

Authentication Type
Active Directory - Integrated

根据SQL的参考文档,

连接到 SSDT 中的现有数据库 - SQL Server Data Tools (SSDT) |微软学习

Active Directory 集成身份验证:此身份验证方法使用 Kerberos 对 SQL Server 的用户进行身份验证。 Kerberos 是一种比 Active Directory 密码身份验证更安全的身份验证协议,但它要求客户端和服务器都加入 Active Directory 域。

使用 Microsoft Entra 身份验证和 SqlClient - ADO.NET Provider for SQL Server 连接到 Azure SQL |微软学习

要使用

Active Directory Integrated
身份验证模式,您必须拥有一个已加入到云中 Microsoft Entra ID 的本地 Active Directory 实例。例如,您可以使用 Active Directory 联合身份验证服务 (AD FS) 进行“联合”。 当您登录到加入域的计算机时,您可以访问 Azure SQL 数据源,而无需使用此模式提示输入凭据。您无法在 .NET Framework 应用程序的连接字符串中指定用户名和密码。对于 .NET Core 和 .NET Standard 应用程序,用户名在连接字符串中是可选的。在此模式下无法设置 SqlConnection 的 Credential 属性。

    

© www.soinside.com 2019 - 2024. All rights reserved.