使用 Azure DevOps 管道以编程方式将域用户添加到 Azure SQL

Programmatically add domain user to Azure SQL with Azure DevOps pipeline

TLDR;

如何将 AD 用户添加到在 DevOps 管道中创建的 Azure 数据库?


我们的 DBA 有一个从生产中创建每日 bacpac 并将其存储在 azure blob 容器中的过程,然后我为开发人员提供了一个 DevOps 管道,用于将指定的 bacpac 恢复到开发服务器中。问题是开发人员无法使用他们的域帐户连接到这些数据库。我不知道如何授予他们访问权限,因为

  1. AFAIK 我无法将域用户从管道连接到数据库
  2. Azure 要求连接的用户是 AD 用户才能创建其他 AD 用户

我可以通过创建一个 sql 用户并在管道中授予该用户权限来解决它,但是公司实际上正在远离 sql 用户并更多地依赖 AD 安全和 MFA ,所以这对我来说并不是真正的解决方案。

要将域帐户添加到数据库,必须通过具有管理权限的域帐户登录到数据库。 所以在 Azure devops 中有一个 Azure SQL 数据库部署任务,其中你有 属性 来执行 SQL 查询。 因此,您可以使用该任务通过 SQL 任务通过 AD 帐户连接来自动执行用户访问。

注意:最近增加了服务主体的新认证

希望这就是您所期待的:)