将 KeyVault 访问集成到 VSTS 发布任务中
Integrating KeyVault access into VSTS Release task
我试图找出编写一个控制台应用程序所涉及的内容,该应用程序将 运行 作为 VSTS 发布任务的一部分,并且该程序将从预配置的密钥库中读取连接字符串(机密),然后使用该连接字符串连接到 Azure SQL 数据库并应用一些更改。
目前我的 Web 应用程序连接到 KeyVault 和 Azure SQL 服务器
使用 Azure AD 应用程序令牌身份验证,所以我知道这方面涉及的内容。
当您在代理设置页面上选中 "Allow scripts to access OAuth token" 时,
可以使用此令牌(使用 ADAL)连接到 KeyVault 和 SQL 服务器吗?
(假设 VisualStudioSPNxxx 具有对上述资源的适当访问权限)。
如果不是,我应该寻找什么?
vsts 令牌(允许脚本访问 OAuth 令牌)不能用于连接到 KeyVault。
您需要向 Azure Active Directory 注册应用程序并启用与 Azure Active Directory 和 Key Vault 的通信,然后动态获取连接字符串。
更多信息,您可以参考:Protecting Secrets using VSTS and Azure Key Vault
现在有了可变组,这变得相对容易了 - https://docs.microsoft.com/en-us/vsts/pipelines/library/variable-groups?view=vsts
您可以通过将您的 Azure KV 连接到一个变量来 link 一个秘密,然后像通常在任何 script/task.
中使用它一样使用这个变量
我试图找出编写一个控制台应用程序所涉及的内容,该应用程序将 运行 作为 VSTS 发布任务的一部分,并且该程序将从预配置的密钥库中读取连接字符串(机密),然后使用该连接字符串连接到 Azure SQL 数据库并应用一些更改。
目前我的 Web 应用程序连接到 KeyVault 和 Azure SQL 服务器 使用 Azure AD 应用程序令牌身份验证,所以我知道这方面涉及的内容。
当您在代理设置页面上选中 "Allow scripts to access OAuth token" 时, 可以使用此令牌(使用 ADAL)连接到 KeyVault 和 SQL 服务器吗? (假设 VisualStudioSPNxxx 具有对上述资源的适当访问权限)。
如果不是,我应该寻找什么?
vsts 令牌(允许脚本访问 OAuth 令牌)不能用于连接到 KeyVault。
您需要向 Azure Active Directory 注册应用程序并启用与 Azure Active Directory 和 Key Vault 的通信,然后动态获取连接字符串。
更多信息,您可以参考:Protecting Secrets using VSTS and Azure Key Vault
现在有了可变组,这变得相对容易了 - https://docs.microsoft.com/en-us/vsts/pipelines/library/variable-groups?view=vsts
您可以通过将您的 Azure KV 连接到一个变量来 link 一个秘密,然后像通常在任何 script/task.
中使用它一样使用这个变量