繁体   English   中英

Azure bicep 获取服务主体的应用程序 ID

[英]Azure bicep get application id of service principal

Bicep 可用于创建角色分配,如下所示:

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?

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

(Get-AzADServicePrincipal -DisplayName AppName).AppId

我试图在我的环境中重现相同的结果并得到以下结果:

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

(Get-AzADServicePrincipal -DisplayName ClientApp).AppId

回复:

在此处输入图像描述

您可以使用 output 资源,例如:

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
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM