![](/img/trans.png)
[英]how to get object id and application id of kubernetes service principal azure
[英]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.