如何在azure自动化中设置服务原则帐户

时间:2018-05-25 07:25:12

标签: powershell azure azure-automation azure-runbook

我使用azure自动化功能使用Powershell Workflow Runbook自动化流程。在该过程中,我使用凭据连接到MSOnline和Exchange:

   # Pull credential from Automation assets
   $cred = Get-AutomationPSCredential -Name "CredentialName"

   # Connect To Microsoft online
   Connect-MsolService -Credential $cred

   # Connect to Exchange Online
   $ExchangeOnlineSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection -Name $ConnectionName
   Import-Module (Import-PSSession -Session $ExchangeOnlineSession -AllowClobber -DisableNameChecking) -Global

这有效,但我不想保存具有权限的帐户的凭据,$ cred。

我阅读并且(我认为)理解这可以通过服务原则帐户来完成。问题在于,虽然我已多次尝试过,但为了让我工作,我发现它并没有被描述好。

欢迎提供任何信息

1 个答案:

答案 0 :(得分:0)

当您说要使用“ Azure自动化”来自动化过程时,我相信您必须已配置一个Azure自动化帐户来保存PS Runbook和对Azure资源进行身份验证。

设置Azure自动化帐户时,有一个内置功能“运行方式帐户”。它创建一个运行方式帐户,该帐户将为用户处理以下任务:

  • 在Azure AD中创建服务主体
  • 创建证书
  • 分配基于参与者角色的访问控制(RBAC),该访问控制通过使用Runbook管理Azure资源管理器资源

enter image description here

这里需要注意的一点是,默认情况下,“运行方式”帐户的服务主体没有权限读取Azure AD。如果要添加读取或管理Azure AD的权限,则需要在API permissions下授予对服务主体的权限。

设置了“运行方式帐户”后,就可以使用该帐户并通过Get-AzAutomationConnection来获取连接

有关更多详细信息,请参阅此文档:Manage Azure Automation Run As Accounts

希望这会有所帮助!