从PowerShell部署Azure Active Directory保护的Service Fabric

时间:2016-11-01 06:35:16

标签: powershell azure teamcity azure-service-fabric

我正在尝试发布到使用PowerShell中的Azure Active Directory保护的服务结构集群,调用Deploy-FabricApplication.ps1作为TeamCity构建配置的一部分。

在这种情况下,我一直无法找到你提供的凭据。

我在Deploy-FabricApplication.ps1中注意到Active Directory有一个SecurityToken参数。

这是您需要传递给身份验证的内容,如果是这样,您如何在PowerShell中生成安全令牌?

我已在我的Azure Active Directory中为TeamCity设置了一个用户,我正在跳转进行身份验证。

1 个答案:

答案 0 :(得分:2)

可以通过使用 Active Directory身份验证库(ADAL)获取令牌,特别是通过调用AcquireToken中的方法Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext

https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/ServiceFabricDeploy/utilities.ps1 VSTS Service Fabric Deploy 任务的代码中可以看到使用它的一个很好的例子。

该文件中有一个名为Get-AadSecurityToken的函数,它显示对AuthenticationContext.AcquireToken方法的调用。

您需要确保同时拥有群集应用ID 客户端应用ID 。通过使用Connect-ServiceFabricCluster开关调用-GetMetadata,可以从群集中检索这两个问题(这也在Get-AadSecurityToken函数中完成)。