我正在使用 azure 自动化来使用 Powershell 工作流 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。
我读到并(认为我)理解这可以用一个服务原则账户来完成. 问题是,我没有找到很好的描述,为了让我工作,虽然我已经尝试了很多次。
任何信息是欢迎的
当您说您使用 "Azure Automation "来实现流程自动化时,我相信您必须已经提供了一个 Azure Automation 帐户来持有 PS Runbook & 验证到 Azure 资源。
当你设置Azure Automation Account时,有一个内置功能 "Run As Accounts"。它创建了一个Run-As账户,为用户处理以下任务。
这里需要注意的一点是,运行为账户的服务委托人默认没有读取Azure AD的权限。如果要添加读取或管理 Azure AD 的权限,则需要在服务委托人上授予以下权限 API权限.
一旦你设置好了 "以账户运行",你就可以使用该账户,并以 Get-AzAutomationConnection
您可以参考此文档了解更多详情。管理Azure自动化以账户形式运行
希望对大家有所帮助!