我正在使用 Azure DevOps 部署 Web 应用并为 SQL 数据库执行数据库迁移。我有一个服务连接设置,并且能够使用 Azure CLI 部署 Azure 资源,例如
- task: AzureCLI@2
displayName: 'Deploy Azure resources'
inputs:
azureSubscription: 'My Service Connection'
scriptType: 'bash'
scriptLocation: inlineScript
inlineScript: ./deploy.sh
现在,我想执行数据库迁移,并且我想使用服务连接进行身份验证(应用注册已被授予访问 SQL 数据库的权限)。我的理解是我可以使用 OAuth 令牌登录到 SQL 数据库 - 我的问题是如何使用服务连接获取该令牌。
请注意,我无法将客户端密码添加到 Azure 中的服务主体,因此无法使用 a 进行 REST 调用/oauth2/token
(client_secret
我在企业空间工作,事情已被锁定)。
鉴于管道可以访问 Azure DevOps 服务连接,我的感觉是必须有某种方法来使用它来获取对https://database.windows.net/
资源有效的 OAuth 令牌 - 但是如何?