unifiedRolePermission 资源类型

命名空间:microsoft.graph

表示允许的资源操作的集合,以及允许操作必须满足的条件。 资源操作是可以对资源执行的任务。 例如,应用程序资源可能支持创建、更新、删除和重置密码操作。

属性

属性 类型 说明
allowedResourceActions 字符串集合 可以对资源执行的任务集。 必填。
条件 String 要使权限生效,必须满足的可选约束。 自定义角色不支持。
excludedResourceActions 字符串集合 可能无法对资源执行的任务集。 尚不受支持。

allowedResourceActions 属性

下面是资源操作的架构:

{Namespace}/{Entity}/{PropertySet}/{Action}  

例如:microsoft.directory/applications/credentials/update

  • {Namespace} - 公开任务的服务。 例如,Microsoft Entra ID中的所有任务都使用命名空间 microsoft.directory
  • {Entity} - Microsoft Graph 中服务公开的逻辑功能或组件。 例如,applicationsservicePrincipalsgroups
  • {PropertySet} - 可选。 要为其授予访问权限的实体的特定属性或方面。 例如,microsoft.directory/applications/authentication/read授予读取Microsoft Entra ID中应用程序对象上的回复 URL、注销 URL 和隐式流属性的能力。 下面是通用属性集的保留名称:
    • allProperties - 指定实体的所有属性,包括特权属性。 示例包括 microsoft.directory/applications/allProperties/readmicrosoft.directory/applications/allProperties/update
    • basic - 指定通用读取属性,但排除特权属性。 例如, microsoft.directory/applications/basic/update 包括更新标准属性(如显示名称)的功能。
    • standard - 指定通用更新属性,但排除特权属性。 例如,microsoft.directory/applications/standard/read
  • {Actions} - 正在授予的操作。 在大多数情况下,权限应以 CRUD 操作或 allTasks表示。 操作 包括:
    • create - 能够创建实体的新实例。
    • read - 读取给定属性集的功能 (包括 allProperties) 。
    • update - 更新给定属性集的功能 (包括 allProperties) 。
    • delete - 删除给定实体的功能。
    • allTasks - 表示 (创建、读取、更新和删除) 的所有 CRUD 操作。

condition 属性

条件定义必须满足的约束。 例如,要求主体是目标资源的所有者。 以下是支持的条件:

  • Self:“@Subject.objectId == @Resource.objectId”
  • Owner:“@Subject.objectId Any_of @Resource.owners”

下面是角色权限的示例,该角色权限的条件是主体是目标资源的所有者。

"rolePermissions": [
        {
            "allowedResourceActions": [
                "microsoft.directory/applications/basic/update",
                "microsoft.directory/applications/credentials/update"
            ],
            "condition":  "@Subject.objectId Any_of @Resource.owners"
        }
    ]

自定义角色不支持条件。

JSON 表示形式

下面是资源的 JSON 表示形式。

{
  "@odata.type": "#microsoft.graph.unifiedRolePermission",
  "allowedResourceActions": ["String"],
  "excludedResourceActions": ["String"],
  "condition": "String"
}