我正在部署几个web应用程序--随着web应用程序的构建,我需要能够将每个web应用程序的系统标识分配给拥有我证书的另一个资源组中的KeyVault的RABC角色。
这个想法是,一旦部署了网络应用程序,我将从另一个密钥库中提取证书,并建立自定义域。
我在尝试这样的方法
resource certVault'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: keyVaultName
properties: {
principalId: AppService.outputs.webAppSystemID
roleDefinitionId: roleid
}
}更新:我试过了,但还是没有运气
resource certKeyVault 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
name: 'certbotkv423452'
scope: resourceGroup(subscription().subscriptionId, 'rg-cert-keyvault' )
}
resource roleAssignSecretsUser 'Microsoft.Authorization/roleAssignments@2021-04-01-preview' = [ for i in range(0, length(webAppSettings.webApps)): {
name: guid(subscription().id, toLower('app-${webAppSettings.webApps[i].name}-${resourceGroupNameSuffix}'), roleDefinitionId,'-0${(i + 1)}')
scope: certKeyVault
properties: {
principalId: AppService[i].outputs.webAppSystemID
principalType: 'ServicePrincipal'
roleDefinitionId: roleDefinitionId
}
}]那么,我如何从webapp中获取系统分配的ID并分配角色呢?
谢谢
发布于 2022-01-26 13:07:57
您需要在有RBAC分配的模块上设置作用域(第二个代码段)。
模块作用域的值应该与设置密钥库现有资源的作用域相同。
https://stackoverflow.com/questions/70703357
复制相似问题