使用经过 Windows 身份验证的帐户将 DevOps ISPAC/DACPAC 部署到 OnPrem SQL 实例

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

我们的组织已经建立了 Azure DevOps,作为拟议的 CI/CD 管道的一部分,我们希望部署(通过发布管道)我们的 SSIS 和 SQL 更改,从开发到测试,然后到产品。

我们目前在测试和生产集群上安装并运行了代理池。我们可以在发布管道中使用它。

有关 SSIS 部署的文档告诉我们必须使用 Windows 身份验证进行部署。

这就是我们正在做的:

但是,部署不起作用:

我们可以从 VS 和 SSMS 部署 SSIS 包。所以,我的资历没问题。

我们可以使用特定的 SQL 登录进行连接,但这会给出一个错误,证实了上表:

深入挖掘,我们在管道中添加了 WHOAMI cmd 进程,这会产生 nt 权限 网络服务。这让我们感到惊讶,因为我们希望获得运行该流程的人员的姓名。

鉴于此处指定的详细信息(Azure DevOps 部署组代理需要什么权限?),我们怀疑这是运行代理池的帐户。这个问题以及随后的答案/链接提出了应用 nt 权限的显着安全点 到代理池/部署组的网络服务。

我们怀疑如果我们将db_owner权限授予nt权限 SSISDB 数据库上的网络服务然后它可能会工作。然而,就安全弹性而言,这可能太过分了。

我的问题是,您(或任何人都能够)使用 Windows 身份验证从 DevOps 部署 ISPAC/DACPAC 作为发布管道的一部分,而不将 db_owner 权限授予 nt 权限 目标 SQL 实例上的网络服务?

很高兴提出问题和模组,请随时进行相应修改。

我们期待您的回复。

快速编辑。纯文本错误消息:

05/12/2023 08:21:43 无法连接到 SQL Server“REDACTED\SQLSERVER2016,52192”:无法连接到服务器“REDACTED\SQLSERVER2016,52192”。 05/12/2023 08:21:43 无法连接到服务器“REDACTED\SQLSERVER2016,52192”。 无法连接到 SQL Server“REDACTED\SQLSERVER2016,52192”:无法连接到服务器“REDACTED\SQLSERVER2016,52192”。 无法连接到服务器“REDACTED\SQLSERVER2016,52192”。

05/05/2023 14:35:42 部署失败:使用 SQL Server 身份验证的帐户无法启动该操作。使用使用 Windows 身份验证的帐户启动操作。 05/05/2023 14:35:42 部署失败! 部署失败:使用 SQL Server 身份验证的帐户无法启动该操作。使用使用 Windows 身份验证的帐户启动操作。 部署失败!

azure-devops ssis azure-pipelines azure-deployment
1个回答
0
投票

经过多次排列后,我可以通过登录 [nt 权限来确认它现在可以工作 etwork 服务] 并应用 sysadmin 角色。虽然它有效,但在权限方面仍然感觉非常慷慨。如果其他人可以使其在更有限的权限下工作,我很高兴将其标记为正确答案。

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