问题描述
我在Powershell中有一个程序,该程序在Azure Function应用程序中运行,该应用程序也具有称为“ AuditO365”的托管身份。它使用托管身份连接到Azure密钥保管库以检索用户凭据。它使用这些凭据连接到O365 Exchange Online以获取所需的数据。效果很好:
$uSecret = $ENV:APPSETTING_SecretUsername
$pSecret = $ENV:APPSETTING_SecretPassword
$sasSecret = $ENV:APPSETTING_SecretSAS
$securePassword = ConvertTo-SecureString -String $pSecret -AsPlainText -Force
$UserCredential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $uSecret,$securePassword
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $session
凭据是在Azure Active Directory中创建的基本用户帐户,并且该用户对数据源可见(O365 Exchange Online)。在O365的Exchange管理中心下,我可以看到用户名,并且能够将用户名分配给具有所需权限(“仅查看审核日志”)的正确的自定义角色组(“查看审核阅读器”)。
但是,我现在想尝试使用托管身份,以使该解决方案更加可靠。由于该功能已经具有托管身份(“ AuditO365”),因此我想在上面的Exchange Online中的自定义角色组中用该身份替换当前用户帐户,但看来O365无法看到托管身份!所有Azure资源和O365都在同一帐户/订阅下运行。
我也尝试过在Azure中创建服务主体(具有O365的API权限),但是O365也无法看到它:
1。。如何使O365 / Exchange Online可以看到Azure功能的托管身份?
2。。我可以使用此托管身份来针对Exchange Online验证应用程序,连接和检索数据(与使用普通用户帐户当前的数据一样)吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)