如何创建空托管标识或阻止其继承角色权限?
权限最小化托管标识的创建与权限问题解决
一、先定位自动分配角色的根源
这些自动绑定的Log Analytics Contributor之类的内置角色,基本是Azure Policy或Azure Blueprint的强制配置导致:
- 检查订阅或管理组级别的
DeployIfNotExists类型策略,这类策略会在托管标识创建时自动分配预设权限 - 确认是否应用了包含托管标识权限配置的蓝图,蓝图会强制为新创建的资源绑定预设权限
二、直接创建空权限的托管标识
通过Azure CLI创建
执行以下命令,直接生成无额外权限的用户分配托管标识:
az identity create --name <你的标识名称> --resource-group <资源组名称> --location <目标区域>
创建完成后立即检查IAM权限,若仍有自动分配的角色,说明存在生效的强制策略,需先调整策略配置。
通过Azure PowerShell创建
New-AzUserAssignedIdentity -Name <你的标识名称> -ResourceGroupName <资源组名称> -Location <目标区域>
三、移除无法删除的角色分配
若创建后仍存在不可编辑的角色,按以下步骤排查处理:
- 打开托管标识的访问控制(IAM)页面,切换到角色分配标签
- 找到自动分配的角色,查看其范围列——若显示为管理组级别,需前往对应管理组的IAM页面操作
- 若角色来自权限继承:
- 进入管理组的权限设置,找到对应的角色分配条目进行删除或修改
- 若无法直接删除,先检查是否被策略锁定,将策略的强制执行设置改为
Disabled或DoNotEnforce
四、阻止权限继承的方案
通过添加拒绝分配来阻断继承的权限(拒绝分配优先级高于允许分配):
- 进入目标范围(资源组/订阅/管理组)的IAM页面,选择拒绝分配标签
- 添加拒绝分配规则,指定目标托管标识,拒绝所有不需要的角色权限
内容的提问来源于stack exchange,提问作者PacmanPenguin
相关产品推荐
相关产品推荐

