您现在访问的是微软AZURE全睃版技术文档网站,若需覝访问由世纪互蝔违蝥的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

分配 Azure 角色的步骤

Azure 基于角色的访问控制 (Azure RBAC) 是用于管理 Azure 资源访问权限的授权系统。 若要授予访问权限,请将角色分配给特定范围内的用户、组、服务主体或托管标识。 本文介绍使用 Azure 门户Azure PowerShellAzure CLIREST API 分配 Azure 角色的概略性步骤。

步骤 1:确定哪一用户需要访问权限

首先需要确定哪一用户需要访问权限。 可将角色分配到用户、组、服务主体或托管标识。 这也称为“安全主体”。

角色分配的安全主体

  • 用户 - 在 Azure Active Directory 中具有配置文件的人员。 也可以将角色分配到其他租户中的用户。 有关其他组织中的用户的信息,请参阅 Azure Active Directory B2B
  • 组 - 在 Azure Active Directory 中创建的一组用户。 将某个角色分配到某个组时,该组中的所有用户都拥有该角色。
  • 服务主体 - 应用程序或服务用来访问特定 Azure 资源的安全标识。 可将服务主体视为应用程序的用户标识(用户名和密码或证书)。
  • 托管标识 - Azure Active Directory 中由 Azure 自动托管的标识。 在开发云应用程序时,通常使用托管标识来管理用于向 Azure 服务进行身份验证的凭据。

步骤 2:选择合适的角色

权限将组合到角色定义中。 它通常直接称为“角色”。 可以从多个内置角色的列表中选择。 如果内置角色不能满足组织的特定需求,则可自行创建自定义角色。

角色分配的角色定义

下面列出了四个基本的内置角色。 前三个角色适用于所有资源类型。

  • 所有者 - 拥有对所有资源的完全访问权限,包括将访问权限委派给其他用户的权限。
  • 参与者 - 可以创建和管理所有类型的 Azure 资源,但无法将访问权限授予其他用户。
  • 读取者 - 可以查看现有的 Azure 资源。
  • 用户访问管理员 - 可以管理用户对 Azure 资源的访问。

剩余的内置角色允许管理特定的 Azure 资源。 例如,虚拟机参与者角色允许用户创建和管理虚拟机。

  1. 请从综合性文章 Azure 内置角色开始。 本文顶部的表是对本文后面的详细信息的索引。

  2. 在该文中,导航到要向其授予权限的资源的服务类别(例如,计算、存储和数据库)。 查找所需内容的最简单方法通常是在页面上搜索相关的关键字,如“blob”、“虚拟机”等。

  3. 查看服务类别列出的角色,并确定所需的特定操作。 同样,始终以最严格的角色开始。

    例如,如果安全主体需要读取 Azure 存储帐户中的 blob,但不需要写入访问权限,请选择存储 Blob 数据读取者而不是存储 Blob 数据参与者(绝对不是管理员级别的存储 Blob 数据所有者角色)。 稍后,你可以根据需要随时更新角色分配。

  4. 如果找不到合适的角色,可以创建自定义角色

步骤 3:识别所需的范围

范围是访问权限适用于的资源集。 在 Azure 中,可以在以下四个级别指定范围:管理组、订阅、资源组和资源。 范围采用父子关系结构。 层次结构的每个级别都会使范围更具针对性。 可以在其中任何一个范围级别分配角色。 所选级别决定了角色的应用广泛程度。 较低级别继承较高级别的角色权限。

角色分配的范围

在父范围分配角色时,这些权限会继承到子范围。 例如: 。

  • 如果将读取者角色分配给管理组范围内的用户,则该用户可以读取管理组的所有订阅中的所有内容。
  • 如果在订阅范围向某个组分配了账单读取者角色,则该组的成员可以读取订阅中每个资源组和资源的账单数据。
  • 如果在资源组范围向某个应用程序分配了参与者角色,则该应用程序可以管理该资源组中所有类型的资源,但不能管理订阅中其他资源组的资源。

最佳做法是向安全主体授予执行作业所需的最少特权。 即使最初看起来更方便,也应避免在更广泛的范围内分配更广泛的角色。 通过限制角色和范围,可以对在安全主体受到入侵的情况下会面临风险的具体资源进行限制。 有关详细信息,请参阅了解范围

步骤 4. 检查先决条件

若要分配角色,你必须在要尝试分配角色的范围内使用分配有一个角色(例如所有者用户访问管理员,此角色拥有角色分配写入权限)的用户登录。 同样,若要删除角色分配,你必须具有角色分配删除权限。

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

如果用户帐户无权在订阅内分配角色,则将显示错误消息“你的帐户无权执行操作 'Microsoft.Authorization/roleAssignments/write'”。在这种情况下,请与你的订阅管理员联系,因为他们可以代表你分配权限。

如果使用服务主体来分配角色,可能会收到错误信息:“权限不足,无法完成操作”。 此错误很可能是因为 Azure 尝试在 Azure Active Directory (Azure AD) 中查找被分派人标识,但服务主体在默认情况下无法读取 Azure AD。 在这种情况下,你需要授予服务主体读取目录中数据的权限。 或者,如果你使用的是 Azure CLI,则可使用被分派人对象 ID 创建角色分配,以跳过 Azure AD 查找。 有关详细信息,请参阅 Azure RBAC 疑难解答

步骤 5。 分配角色

了解安全主体、角色和范围后,便可以分配角色了。 可使用 Azure 门户、Azure PowerShell、Azure CLI、Azure SDK 或 REST API 来分配角色。 每个订阅中最多可以包含 2000 个角色分配。 此限制包括订阅、资源组和资源范围内的角色分配。 每个管理组中最多可以有 500 个角色分配。

请查看以下文章,了解有关如何分配角色的详细步骤。

后续步骤