Azure RBAC 最佳做法

本文介绍了使用 Azure 基于角色的访问控制 (Azure RBAC) 的一些最佳做法。 这些最佳做法源自我们的 Azure RBAC 经验和客户经验。

仅授予用户所需的访问权限

使用 Azure RBAC,可以在团队中实现职责分离,仅向用户授予他们执行作业所需的访问权限。 请勿向每个人授予 Azure 订阅或资源的无限制权限,只能允许他们在特定的范围执行某些操作。

规划访问控制策略时,最佳做法是授予用户完成工作所需的最低权限。 即使最初看起来更方便操作,也应避免在更广泛的范围内分配更广泛的角色。 创建自定义角色时,只包括用户需要的权限。 通过限制角色和范围,可以对在安全主体受到入侵的情况下会面临风险的具体资源进行限制。

下图显示了与 Azure RBAC 使用有关的建议模式。

Azure RBAC and least privilege

有关如何分配角色的信息,请参阅使用 Azure 门户分配 Azure 角色

限制订阅所有者的数量

最多只能有 3 个订阅所有者,这样可降低被入侵的所有者做出违规行为的可能性。 可在 Microsoft Defender for Cloud 中监视此建议。 有关适用于 Defender for Cloud 的其他身份和访问建议,请参阅安全建议 - 参考指南

限制特权管理员角色分配

某些角色被标识为特权管理员角色。 考虑采取以下措施来改善安全状况:

  • 移除不必要的特权角色分配。
  • 可以改用工作职能角色时,请避免分配特权管理员角色。
  • 如果必须分配特权管理员角色,请使用较窄的范围(如资源组或资源),而不是较宽的范围(如管理组或订阅)。
  • 如果要分配有权创建角色分配的角色,请考虑添加条件来限制角色分配。

有关详细信息,请参阅列出或管理特权管理员角色分配

使用 Microsoft Entra Privileged Identity Management

为了保护特权帐户免受恶意网络攻击,可以使用 Microsoft Entra Privileged Identity Management (PIM) 来降低权限的暴露时间,并通过报表和警报增加对使用的可见性。 PIM 提供对 Microsoft Entra ID 和 Azure 资源的实时特权访问权限,有助于保护特权帐户。 访问可能有时间限制,在超过时限后会自动撤销特权。

有关详细信息,请参阅什么是 Microsoft Entra Privileged Identity Management?

将角色分配给组而不是用户

为了使角色分配更易于管理,请避免将角色直接分配给用户。 而应将角色分配给组。 将角色分配给组而不是用户还有助于最大程度地减少角色分配的数量,每个订阅都有角色分配数限制

使用唯一的角色 ID 而不是角色名称分配角色

很多时候角色名称可能会更改,例如:

  • 你使用的是自己的自定义角色,你决定更改名称。
  • 你使用的是预览版角色,其名称中有“(预览)”字样。 发布角色时重命名了角色。

即使重命名了角色,角色 ID 也不会更改。 如果使用脚本或自动化来创建角色分配,最佳做法是使用唯一的角色 ID 而非角色名称。 这样一来,即使角色重命名,脚本仍可以使用。

有关详细信息,请参阅使用唯一角色 ID 和 Azure PowerShell 分配角色使用唯一角色 ID 和 Azure CLI 分配角色

创建自定义角色时避免使用通配符

创建自定义角色时,可以使用通配符 (*) 字符来定义权限。 建议显式指定 ActionsDataActions,而不要使用通配符 (*) 字符。 通过将来的 ActionsDataActions 授予的附加访问权限和权限可能是使用通配符的不良行为。 有关详细信息,请参阅 Azure 自定义角色

后续步骤