通过 Azure 自动化处理 Azure Analysis Services

Azure Analysis Services Processing through Azure Automation

我正在尝试使用 Azure Automation Runbook 自动处理我的 AAS 模型。我们的租户使用多重身份验证,因此无法与 AD 用户一起使用,因此我试图通过服务主体(特别是 AzureRunAsConnection)使其工作。

  1. 我创建了服务主体。
  2. 已通过 SSMS 授予对服务器和模型的权限(将其添加到服务器级别和模型级别的角色)
  3. 创建脚本以使用 AzureRunAsConnection 和 Invoke-ProcessTable

我基本上已经经历了所有这些post,

但我仍然无法使用 AzureRunAsConnection 使脚本正常工作,我仍然收到的消息是

Invoke-ProcessTable : The "XXXX" database does not exist on the server.

link 中的问题通过 SSMS 授予权限解决了它,但我已经这样做了,但仍然遇到同样的问题。

感谢任何帮助

我从 MSDN 论坛上找到了这个问题的解决方案,Eamon O Reilly 建议我通过以下命令将服务主体添加到 AAS 管理员:

$SPAdmin = "app:c9ab3d0cf43-38b9-4d52-ba97-001ddaede361b@72fCCFbf-86f1-41af-9aab-25fd7cd011aac47"

 Set-AzureRmAnalysisServicesServer -Name <analysisserver> -ResourceGroupName <resourcegroupname> -Administrator $SPAdmin 

我不知道 Runbook 的 AzureRunAs 连接具有与实际服务主体不同的应用程序 ID,因此一旦我将 AzureRunAs 应用程序 ID 添加为 AAS 管理员,Runbook 就可以工作了。