将 Datafactory 应用程序分配给应用程序角色

Posted

技术标签:

【中文标题】将 Datafactory 应用程序分配给应用程序角色【英文标题】:Assigning a Datafactory application to an app role 【发布时间】:2022-01-17 00:10:32 【问题描述】:

我正在尝试运行以下命令(我之前运行过没有问题)...

# Assign the managed identity access to the app role.

New-AzureADServiceAppRoleAssignment -ObjectId $managedIdentityObjectId -Id $appRoleId -PrincipalId $managedIdentityObjectId -ResourceId $serverServicePrincipalObjectId

但是,一旦我插入这些值,我就会收到以下错误...

New-AzureADServiceAppRoleAssignment:执行 NewServicePrincipalAppRoleAssignment 时出错 代码:Request_BadRequest 消息:不是有效的参考更新。 请求 ID:8ad2de7d-8b74-4cd9-b544-3200bb66a763 日期时间戳:2021 年 12 月 13 日星期一 14:04:52 GMT HttpStatusCode:错误请求 HttpStatusDescription:错误请求 HttpResponseStatus:已完成

有人知道“不是有效的参考更新”是什么意思吗?

【问题讨论】:

我应该补充一点,我尝试分配给应用服务角色的资源是 Azure Datafactory 资源。我过去已经为角色分配了服务原则,所以不确定 Datafactory 是否存在限制 【参考方案1】:

首先,连接到 Azure AD。

Connect-AzureAD

现在使用以下命令格式:

New-AzureADServiceAppRoleAssignment -ObjectId $ServicePrincipalsID -Id $RoleID -PrincipalId $ServicePrincipalsID -ResourceId $APIservicePrincipalID

注意:ObjectIdPrincipalId 都是 MSI 生成的服务主体的 ID。 Id 是角色的 ID。 ResourceId 是 API 服务主体的 ID。

【讨论】:

【参考方案2】:

我已经意识到我哪里出错了。我的“-ID”(应用角色 ID)和“-PrincipallID”值不正确(错误的方式!)。现在一切正常。

【讨论】:

以上是关于将 Datafactory 应用程序分配给应用程序角色的主要内容,如果未能解决你的问题,请参考以下文章

DataFactory+MySQL数据构造

datafactory5.6向mysql5.7添加大量测试数据

将多个参数乐趣分配给动态按钮时应用程序崩溃

PhotosFramework 将资产分配给相册

使用 WIX 将不同的 IIS 应用程序池分配给 Web 服务

将均衡器分配给单个通道