我有一个 VSTS 发布管道,它使用 Managed Service Identity 配置一个新的函数应用程序。我的解决方案包括我的应用程序机密的共享密钥库实例。Key Vault最多允许 16 个访问控制条目,因此我采取了为应用程序创建 Azure AD 组的方法,我将向其中添加应用程序服务主体。所有这些都可以在本地的 PowerShell 中直接使用,但我无法找到一种方法来使用 VSTS 发布管道中的托管构建服务器和在 Azure发布任务中运行 Powershell。
Azure CLI 在托管构建服务器上的版本为 1.X,在托管的 2017 构建服务器上为 2.x * 1.x 似乎不提供 AD 组操作或图形 API 访问 * 2.x 提供az ad group member add
但托管2017 版本的New-AzureStorageTable 有问题,它在我的管道中的其他地方使用,所以我不能使用它
同样,托管构建服务器上的 Azure RM powershell 模块非常旧,似乎不支持组成员身份操作。Hosted 2017 服务器上的版本(我无法使用)具有类似Get-AzureRmADGroup
但没有将用户添加到该组的命令。
AAD powershell 中提供的 cmdlet Add-AzureADGroupMember将是一个不错的解决方案,但它在Hosted或Hosted 2017构建服务器上均不可用。
我已经考虑使用发布管道中可用的 OAuth 令牌将自动化运行手册和直接 HTTPS 发布到图形 API,但希望继续使用 PowerShell 以使我的发布管道中的技术数量尽可能少。我还希望避免以安全的方式存储凭据以在 PowerShell 命令中使用,例如Login-AzureRmAccount
并依赖我为发布管道定义的服务端点的身份。
建议表示赞赏。