You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenFGA中如何为所有未来用户配置默认管理员关系?

OpenFGA 默认用户管理员权限配置问题

当前权限模型

model
  schema 1.1
type user
  relations
    define admin: [admin#member]
type admin
  relations
    define member: [user]

已配置的用户管理员关系

已为特定用户user:rahul配置管理员关系,对应的元组为:

User     admin:identity_admin
Relation admin
Object   user:rahul

尝试的无效配置

希望让所有未来创建的user对象默认拥有admin:identity_admin作为管理员,尝试使用通配符配置元组但失败:

User     admin:identity_admin
Relation admin
Object   user:*

问题原因与解决方案

原因

OpenFGA不支持在关系元组中使用通配符*作为对象ID,因此user:*的写法无法生效。

解决方案

方案1:修改权限模型实现默认管理员

通过调整模型定义,让所有user对象的admin关系默认包含admin:identity_admin,无需手动为每个用户添加元组。修改后的模型如下:

model
  schema 1.1
type user
  relations
    define admin: [admin#member] or admin:identity_admin
type admin
  relations
    define member: [user]

该配置下,所有user对象自动拥有admin:identity_admin作为管理员,同时仍支持添加其他admin#member角色的用户作为管理员。

方案2:业务逻辑层面自动添加元组

若无法修改权限模型,可在创建新user对象的业务逻辑中,自动插入对应的管理员关系元组。例如创建user:new_user时,同步添加:

User     admin:identity_admin
Relation admin
Object   user:new_user

确保每个新用户创建时都执行该操作,即可实现默认管理员效果。

内容的提问来源于stack exchange,提问作者JRudransh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:01:03