问题:我能够在不应该的情况下创建和分配自定义 RBAC 定义。
症状:即使我拥有 Microsoft Entra ID Free 许可证,并且此类功能需要 Microsoft Entra ID P1 或 Microsoft Entra ID P2,我仍能够使用 Azure CLI 命令创建和更新自定义角色定义和分配。
背景: 在通过书籍了解 Azure 时,我遇到了一堂课,其中使用 Azure CLI 命令(例如
az role definition create
和 az role assignment create
)创建角色定义和分配。
当我在 Azure 门户中查看结果时,我收到了以下消息:
要创建自定义角色,您的组织需要 Microsoft Entra ID 高级 P1 或 P2。开始免费试用。
我对此感到困惑,因为命令没有返回错误,而是返回预期的成功 JSON 回复。
我使用以下方法确认了定义和作业:
az role definition list
和 az role assignment list
。检查随附的屏幕截图。
问:我确信这不可能是正确的(除非我错过了一些东西)。如果是这种情况,我不确定需要在 GitHub 上的哪个位置报告此类问题,或者 Microsoft 代表是否会从这里继续处理该问题。
Owner请注意,自定义 RBAC 角色与自定义目录角色“不同”。自定义 RBAC 角色用于管理订阅下的 Azure 资源,而自定义目录角色用于在租户级别管理 Azure AD(Microsoft Entra) 资源,例如用户、组、应用程序等。
拥有
或 User Access Administrator 角色足以创建自定义 RBAC 定义,不需要任何 Premium P1 或 P2 许可证。 我创建了名为
“自定义资源组读取器”的自定义 RBAC 定义,并且能够像这样获取其角色定义:
az role definition list --name "Custom Resource Group Reader"
您需要
Microsoft Entra ID Premium P1 或 P2Microsoft Entra ID Free许可证才能创建 自定义目录角色,而不是自定义 RBAC 定义。
当我尝试使用
许可证创建 自定义目录 角色时,我在门户中收到与您相同的消息,如下所示:
获得
Microsoft Entra ID Premium P2许可证后,我可以成功创建自定义目录角色,如下所示:
参考资料:
在 Microsoft Entra 基于角色的访问控制中创建自定义角色 Azure 自定义角色 - Azure RBAC |微软