簡體   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