我使用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。
我阅读并且(我认为)理解这可以通过服务原则帐户来完成。问题在于,虽然我已多次尝试过,但为了让我工作,我发现它并没有被描述好。
欢迎提供任何信息
答案 0 :(得分:0)
当您说要使用“ Azure自动化”来自动化过程时,我相信您必须已配置一个Azure自动化帐户来保存PS Runbook和对Azure资源进行身份验证。
设置Azure自动化帐户时,有一个内置功能“运行方式帐户”。它创建一个运行方式帐户,该帐户将为用户处理以下任务:
这里需要注意的一点是,默认情况下,“运行方式”帐户的服务主体没有权限读取Azure AD。如果要添加读取或管理Azure AD的权限,则需要在API permissions下授予对服务主体的权限。
设置了“运行方式帐户”后,就可以使用该帐户并通过Get-AzAutomationConnection
来获取连接
有关更多详细信息,请参阅此文档:Manage Azure Automation Run As Accounts
希望这会有所帮助!