Share:开放四档、三种角色

第 5 课 · 共 6 课 约 7 分钟

谁能看、谁能改:开放四档 Private、Group、Public、Open to Internet,三种角色 Owner、Editor、Viewer;只有 Owner 能改分享。

本课目标

读完这一课,你将能够

  • 分清开放程度的四档:Private、Group、Public、Open to Internet
  • 用 Owner、Editor、Viewer 三种角色授予合适的访问,说出谁能改分享
  • 说出为什么只有 Owner 能改分享,Object Type 怎样继承 Ontology 的访问

组织就是公司,开放程度分四档

在 AIDC,一个 Organization 就是一家公司,公司在 Semantic 里有一个 Ontology。Ontology、Object Type、智能体、文件,每个资源都有一个开放程度,从窄到宽分四档,每一档都比上一档更开:

PRIVATE

Private

只有 Owner,可以有多个。

GROUP

Group

指定的人、部门或整个本组织,第一个快捷项是「整个本组织」。邀请链接也属于 Group。

PUBLIC

Public

所有登录 AIDC 的账号(跨组织),只读;不含匿名访客。

OPEN TO INTERNET

Open to Internet

任何人,不用登录,只读。默认关闭,目前只有文件支持。

本组织的开发者对本组织的资源永远是 Owner,资源的创建人也是 Owner,谁都锁不住自己。还没设置过访问的 Ontology,缺省是本组织全员 Viewer,也就是 Group。

三种角色,只有 Owner 改分享

  1. 01Viewer查看、使用:读定义和数据;对智能体是对话,对 Ontology 是查询和 SQL 读
  2. 02Editor还能改内容:对 Ontology 是执行 Action 改数据,对文件是编辑;不能改分享
  3. 03Owner还能改分享与访问设置、添加其他 Owner、删除改分享只有它能做
  • 只有 Owner 改分享:授予、撤销、设档位、生成邀请链接,Editor 也不行。所有权交给别人,就是再加一个 Owner,Owner 可以有多个。
  • Public 与 Open to Internet 只给 Viewer:这两档只读,谁也不能借它们改数据。
  • Editor 不能改 Object Type 的结构:结构走提案,智能体起草,开发者审核、合并。

Object Type 继承 Ontology 的访问,只有两种选择:跟随 Ontology,或单独设为 Public。所以在 Ontology 上是 Viewer 的人,看得见其中每个 Object Type;想让某一类只给少数人看,就别把 Ontology 开得太宽。

邀请链接、Public 页与 Open to Internet

  1. 生成链接

    Owner 在 Share 里生成一条邀请链接,只有 Viewer,缺省 30 天有效。

  2. 发给对方

    链接形如 /share/…,拿到的人要先登录 AIDC 账号。

  3. 登录后兑换

    链接兑换成一条给他本人的 Viewer 授予,再跳到资源;他原来的角色更高,就不降级。

  4. 撤销

    撤销链接后它不能再兑换;已经兑换出的授予,要在授予列表里单独撤。

Public 页 /semantic/public 列的是授予了 Everyone 的资源:各家公开的 Ontology 和 Object Type、公开的智能体和文件。你设成 Public 的东西,任何一家公司的人登录后都能在这里找到;公开的 Object Type 还能用 SQL 的 public 角色查到。「分享给你」列的是别的组织授予了你或你的组织的资源。

Open to Internet 是最宽的一档:任何人,不用登录,只读。它默认关闭,只有 Owner 能开,开启要二次确认。目前只有文件支持,文件有 /s/<组织>/<slug> 这个匿名只读入口;Ontology、Object Type 和智能体需要登录才能用,暂不提供这一档。它只管「读」:不登录不能调 SDK、不能执行 Action、不能查 SQL。

一步设档位:CLI 与 API

Owner 可以一步设档位,也可以按人、按组细项授予;邀请链接也是一条命令:

aidc resources access <rid> --tier private|group|public|internet
aidc resources share <rid> --user <account-id> --role editor
aidc resources share <rid> --group cell-x:dept:<dept-id> --role viewer
aidc resources link <rid> --days 30
  • 一步设档位的 API 是 POST /api/v1/filesystem/resources/{rid}/access,请求体 {"tier":"group"};SDK 是 auth.setResourceAccess(rid, tier)。
  • --group 的主体写作 cell-x(整个本组织)、cell-x:developers(本组织开发者)或 cell-x:dept:<部门ID>(某个部门)。
  • --everyone 授予 Everyone,--internet 授予任何人;这两个只能给 Viewer。

要点

  • 开放程度四档:Private、Group、Public、Open to Internet,每一档都比上一档更开。
  • Group 是指定的人、部门或整个本组织,邀请链接也属于它;Public 是所有登录的 AIDC 账号;Open to Internet 是任何人,目前只有文件支持。
  • 三种角色:Owner 改分享,Editor 改内容,Viewer 查看、使用。
  • 只有 Owner 能改分享;Public 与 Open to Internet 只能给 Viewer。
  • Object Type 只能跟随 Ontology,或单独设为 Public;邀请链接登录后兑换成一条 Viewer 授予。

练一练

替一个对象类型定访问

挑你组织里的一个对象类型,打开它的 Share:Viewer 就能看,Owner 才能改。

它现在跟随 Ontology,还是单独设成了 Public?谁是 Owner,授予列表里还有谁?

小测

选一个答案,马上看解析。

Q1你在一个 Ontology 上是 Editor,想让同事也能执行 Action 改数据,你能做什么?

Q2下面哪一档,不登录 AIDC 也能打开?

Q3一个人在 Ontology 上是 Viewer,在其中「服务器」这个 Object Type 上什么都没设置。他能看服务器吗?

Q4Public 和 Open to Internet 最多能给什么角色?

延伸阅读