Azure二头肌获取服务主体的应用程序ID

watbbzwu  于 2022-11-25  发布在  其他
关注(0)|答案(2)|浏览(106)

二头肌可用于创建角色分配,如下所示:

resource RoleAssignment 'Microsoft.Authorization/roleAssignments@2020-10-01-preview' = {
  name: guid(managementGroup().id, RoleDefinitionId, principalId)
  properties: {
    roleDefinitionId: roleDefinition.id
    principalId: principalId
    principalType: principalType
  }
}

如果主体类型为“ServicePrincipal”,则似乎需要Azure门户的企业应用程序页面中的应用程序ID:

有没有人知道如何通过编程获得这个?如果不能使用二头肌,也许可以使用PowerShell?

dbf7pr2w

dbf7pr2w1#

要通过PowerShell获取服务主体的**Application ID**,可以使用以下命令:

(Get-AzADServicePrincipal -DisplayName AppName).AppId

我尝试在我的环境中重现相同的结果,结果如下:

我有一个名为**ClientApp的服务主体,并成功获取了它的应用程序ID**,如下所示:

(Get-AzADServicePrincipal -DisplayName ClientApp).AppId

回应:

mznpcxlj

mznpcxlj2#

您可以使用以下资源的输出:

resource workflows_la 'Microsoft.Logic/workflows@2017-07-01' = {
  name: 'la-${env_id}-test'
  location: location
  identity: {
    type: 'SystemAssigned'
  }

output logicapp_managed_identity string = workflows_la.identity.principalId

因此,您可以在角色分配资源中使用:

resource roleAssignmentlogicApp 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
  scope: Storage
  name: guid(Storage.id, managed_identity_logic_app, roleDefinitionResourceId)
  properties: {
    roleDefinitionId: roleDefinitionResourceId
    principalId: managed_identity_logic_app
  }
}

相关问题