Azure 角色分配条件常见问题解答

常见问题

能否在 Azure 门户的视觉 ABAC 条件生成器中选取存储容器名称或 blob 路径?

必须在条件中编写存储容器名称、Blob 路径、标记名称或值。 未提供选择属性值的体验。

能否根据条件检查某个属性是否存在?

可以将 Exists 运算符与任何 ABAC 属性一起使用,但只有少数属性在视觉 ABAC 条件生成器中支持这样做。 可以使用 PowerShellAzure CLIREST API 以及 Azure 门户中的条件代码编辑器等其他工具将 Exists 运算符添加到任何属性中。 有关视觉条件生成器中支持它的属性的列表,请参阅 Exists 函数运算符。 在条件中构建表达式时,若要将 exists 运算符添加到属性,请选择支持的源和属性,然后选中其下方 Exists 旁边的框。 如需更多详细信息,请参阅在门户中构建表达式

是否可以将表达式分组?

如果为目标操作添加三个或更多个表达式,则必须在代码编辑器、Azure PowerShell 或 Azure CLI 中定义这些表达式的逻辑分组。 a AND b OR c 逻辑分组可以是 (a AND b) OR ca AND (b OR c )

是否通过 Azure 资源的 Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) 支持条件

是,但针对特定角色。 有关详细信息,请查看在 Privileged Identity Management 中分配 Azure 资源角色

经典管理员是否支持条件?

不是。

是否可将条件添加到自定义角色分配?

是,前提是自定义角色包括支持条件的操作

条件是否会增加访问存储 Blob 时出现的延迟?

不会,根据我们的基准测试,条件预期不会增加任何用户可察觉的延迟。

角色分配架构中引入了哪些新属性来支持条件?

下面是新的条件属性:

  • condition:使用角色定义和属性中的一个或多个操作生成的条件语句。
  • conditionVersion:条件版本号。 默认值为 2.0,这也是唯一公开支持的版本。

角色分配还有一个新的说明属性:

  • description:可用于描述条件的角色分配说明。

条件是应用于整个角色分配还是应用于特定的操作?

条件仅应用于特定的目标操作。

条件的限制是什么?

条件的长度最大为 8 KB。

说明的限制是什么?

说明的长度最大为 2 KB。

是否可以创建具有和没有条件的角色分配,但使用相同的安全主体、角色定义和范围元组?

不可以,如果尝试创建此角色分配,则会显示错误。

角色分配中的条件是否提供显式拒绝效果?

不会,角色分配中的条件不会产生显式拒绝效果。 角色分配中的条件向下筛选角色分配中授予的访问权限,这可能导致不允许访问。 显式拒绝效果是拒绝分配的一部分。

后续步骤