1

我正在使用 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。

我阅读并(以为我)理解这可以通过服务原则帐户来完成。问题是我发现它的描述并不好,以便我让它发挥作用,尽管我已经尝试了很多次。

欢迎任何信息

4

1 回答 1

0

当您说您正在使用“Azure 自动化”来自动化流程时,我相信您必须预配一个 Azure 自动化帐户来保存 PS Runbook 并对 Azure 资源进行身份验证。

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

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

在此处输入图像描述

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

设置好运行方式帐户后,您可以使用该帐户并通过以下方式检索连接Get-AzAutomationConnection

您可以参考此文档了解更多详细信息:管理 Azure 自动化运行方式帐户

希望这可以帮助!

于 2020-05-09T18:48:43.393 回答