繁体   English   中英

如何使用PowerShell将服务主体分配给托管的VSTS发布管道中的AAD组?

[英]How might I assign a service principal to an AAD group in my hosted VSTS release pipeline using PowerShell?

我有一个VSTS发布管道,该管道提供了具有托管服务标识的新功能应用程序 我的解决方案包括一个用于我的应用程序机密的共享密钥库实例。 密钥保管库最多允许16个访问控制项,因此我采用了为应用程序创建Azure AD组的方法,我将向其中添加应用程序服务主体。 所有这些都可以直接在PowerShell中本地运行,并且可以在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将是一个不错的解决方案,但在HostedHosted 2017构建服务器上均不可用。

我已经考虑了自动化运行手册以及使用发布管道中可用的OAuth令牌将HTTPS帖子直接定向到图形API的方法,但是我想一直使用PowerShell以使发布管道中的技术数量尽可能地少。 我还希望避免以安全的方式存储凭据,以便在PowerShell命令(如Login-AzureRmAccount并依赖于为发布管道定义的服务端点的身份。

建议表示赞赏。

由于托管代理无法满足您的要求,因此您可以在计算机上配置私有构建代理(免费): 在Windows上部署代理

关于Add-AzureADGroupMember cmdlet,可以通过通过Azure PowerShell任务调用Install-Module -Name AzureAD来安装它,该任务在托管代理上正常运行。

脚本:

Install-PackageProvider -Name NuGet -Force -Scope CurrentUser
Install-Module -Name AzureAD -Force -Verbose -Scope CurrentUser

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM