使用AzureAD身份验证部署ServiceFabric应用程序

时间:2017-10-17 00:58:18

标签: powershell azure azure-service-fabric

我想使用azure ad& amp ;;将应用部署到我的服务架构的powershell。

我已经设置了所需的azure AD应用程序,但我不知道如何以编程方式登录Azure AD帐户,因此可以从CD工具部署它。看起来这需要是AD用户而不是服务主体。使用AzureAD时,COnnect-ServiceFabric cmdlet需要某种安全令牌,我不知道如何提供它以避免弹出窗口。

1 个答案:

答案 0 :(得分:0)

以下是您可以用来启动和运行的步骤 -

1。您需要在AD中创建两个应用注册 - 一个用于表示SF群集,另一个用于客户端应用。您可以按照此处的说明完成Set up Azure Active Directory for client authentication

结果,你应该有下一个输出 -

  

“azureActiveDirectory”:{“ tenantId ”:“guid”,“ clusterApplication ”:“guid”,“ clientApplication ”:“ guid“}

2。现在您可以设置SF群集了。您可以将上一步中获得的AD工件放入rm模板中,也可以在门户中指定字段。选择权在你手中 -

enter image description here

3。查找在AD的第一步创建的应用注册,并分配给您将要在其中登录某个角色的用户。

4. 最后,使用此示例以非交互模式使用AD身份验证进行登录 - Connect to a secure cluster non-interactively using Azure Active Directory

以下是相同的,但在Powershell中 -

$authority = "https://login.microsoftonline.com/your_tenant_id"
$credentials = [Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential]::new($UserName, $Password)
$authContext = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]::new($authority)
$authResult = $authContext.AcquireTokenAsync($clusterApplicationId, $clientApplicationId, $credentials) 
$Token = $authResult.Result.AccessToken

Connect-ServiceFabricCluster -AzureActiveDirectory -SecurityToken $Token -ConnectionEndpoint "your_cluster_name.location.cloudapp.azure.com:19000" -ServerCertThumbprint "your_server_cert_thumbprint"

基本上就是这样。