成员、角色与客户用户
本章面向租户管理员,介绍属于你租户的人员、他们持有的角色,以及你为自己的客户提供的登录账号,让客户可以查看自己的设备,而看不到其他任何人的设备;你可以把他们限定于客户,也可以限定于设备组。
侧边栏 Access(访问)下的两个页面负责这些工作:Members(成员)和 Roles(角色)。每个页面都需要各自的权限。Members 需要 member:read 才能列出人员,需要 member:write 才能修改;Roles 需要 role:read 才能列出角色,需要 role:write 才能修改。内置的租户管理员角色拥有全部四项权限。没有相应权限时,该页面不会出现在你的侧边栏中。
成员
Members 按电子邮件地址排序,列出属于本租户的所有人。对每个人显示:
- 其姓名(如果已设置)和电子邮件地址,
- 其持有的 Roles(角色),
- 其 Can see(可见范围):Whole tenant(整个租户),或其所限定的客户和设备组,
- 其状态:Enabled(已启用)、Disabled(已禁用),或在邀请等待接受期间显示 Invited(已邀请)。来自租户身份提供商的成员关系还会标记为 Identity provider(身份提供商)。
每行末尾的菜单包含针对该人员的操作。你自己的那一行没有操作:没有人能在这里修改自己的成员关系,必须由另一位管理员来修改。标记为 Identity provider 的成员关系同样没有操作,因为它由身份提供商管理,需要在那里修改。
邀请成员
选择 Invite member(邀请成员)并填写:
- Email(电子邮件):此人登录所用的地址。
- Roles(角色):此人可以做什么。你只能授予自己也持有其全部权限项的角色。
- Can see(可见范围):Whole tenant(整个租户),或 Specific customers or groups(指定客户或组)。然后选择 Customers(客户)、Groups of devices(设备组),或两者都选:合计最多 16 个。仅限客户或组的成员就是客户用户,见下文。只会列出用作访问范围的组;如果缺少某个组,请在该组的页面上启用它,见将成员限定于设备组。
再次选择 Invite member 以创建邀请。控制台随后会显示 Invitation link(邀请链接)。请复制它并自行发送给对方:DeviceChain 不会通过电子邮件发送它。
该链接只显示一次。服务器不保留可再次显示给你的副本,因此如果链接丢失,请重新签发邀请(见下文),这会使旧链接失效。链接有效期为 7 天。在对方接受之前,其成员关系保持禁用状态,并标记为 Invited。
无论对方是否已有 DeviceChain 账号,返回的结果都相同,因此邀请某人并不会让你得知对方是否已有账号。
接受邀请
邀请链接会打开 Join a tenant(加入租户)页面。对方可以:
- 选择 New account(新账号)并设置密码,或
- 选择 I have an account(我已有账号),使用邀请所发送到的账号登录,可以用其密码,也可以用单点登录。
如果你的租户要求单点登录,密码方式会被拒绝,页面会要求对方改用 SSO 登录。接受后,对方会进入该租户。如果对方属于多个租户,则由其选择要打开哪一个。
无法使用的链接(已过期、已撤销、已被使用,或发送给了另一个账号)无论原因如何,都只会得到同一个回答:“This invitation cannot be used”(此邀请无法使用)。请索取新的邀请。
双重身份验证
成员列表的 Two-factor(双重验证) 列显示每个人是否已开启双重身份验证。租户可以要求所有以密码登录的人使用它;参见登录安全。重置丢了手机的人是运维人员的工作,因为账号由所有租户共享。参见双重身份验证。
登录安全
Access → Sign-in Security(访问 → 登录安全)集中管理本租户人员的登录要求。其中的 Two-factor authentication(双重身份验证)面板只有一项设置,Require two-factor authentication(要求双重身份验证):以密码登录的成员必须使用验证器应用中的验证码,没有设置的人会在下次进入租户时被引导去设置。
选择 Require(要求)。控制台会先请你确认:以密码登录且没有第二重验证的成员,需要先设置才能进入,已在租户内的密码会话会在下一次刷新时结束。若要不再强制,请使用同一个控件。
- 更改它需要管理成员的权限,且作用范围为整个租户。没有该权限时,页面会告诉你。
- 如果租户所在层级要求双重身份验证,页面会说明这一点,并且无法在此关闭该要求。
- 单点登录由其连接的要求来管辖,不受此设置影响。
- 每个人在用户菜单的 Account security(账号安全)下设置自己的第二重验证。双重身份验证指南说明了该要求能约束什么、不能约束什么。
修改成员的访问权限
在某一行的菜单中:
- Edit access(编辑访问权限)修改成员的 Roles 及其 Can see。如果在一次保存中同时修改两者,它们会一起保存:任何一项被拒绝,两者都不会改变。
- Disable(禁用)让成员无法进入本租户,但不将其移除;Enable(启用)让其重新进入。
- Remove(移除)将成员移出本租户。其账号会保留,之后可以再次邀请。
- 对于仍标记为 Invited 的成员,Reissue invitation(重新签发邀请)会显示新链接并使旧链接失效,Revoke invitation(撤销邀请)则使链接失效而不签发新链接。
变更会在成员的会话下次刷新时生效:15 分钟之内,客户用户则为 5 分钟之内。收回访问权限同样如此。成员无需退出登录,其在其他租户中的会话也不受影响。
有些变更会被拒绝,并附带说明原因的消息:
- 你不能授予自己未持有的权限项,也不能修改持有你所没有的权限项的成员。
- 你不能修改自己的成员关系。
- 你不能让租户中不再有任何一个已启用、可见整个租户且能管理成员的成员。
- 由身份提供商管理的成员关系不能在这里修改。
邀请
在成员列表下方,Invitations(邀请)按从新到旧的顺序列出本租户签发的每一份邀请,包括其状态(Waiting(等待中)、Accepted(已接受)、Expired(已过期)或 Revoked(已撤销))、签发时间和过期时间。
角色
Roles 列出你可以授予成员的角色。Defined by(定义方)说明每个角色的来源:
- Platform(平台)角色由你的实例运维人员定义,例如内置的查看者和租户管理员角色。你可以分配它们,也可以打开查看其权限项,但只有运维人员才能修改。
- This tenant(本租户)角色是你自己的角色,只有你的租户拥有。
选择 New role(新建角色)来定义一个角色。为它设置令牌(之后不可更改)、名称和描述,然后从清单中选择其 Authorities(权限项)。清单按权限项作用的领域分组,因此 device:read 和 device:write 一起位于 device 之下。* 授予全部租户权限项,包括后续版本中新增的权限项。
你自己未持有的权限项显示为灰色:任何人都不能授予超出自己所拥有的权限。角色只能携带租户权限项,因此实例级权限从不会出现在可选项中。
修改角色后,所有持有该角色的人会在下次会话刷新时获得变更,如修改成员的访问权限中所述。只要还有成员持有该角色,Delete role(删除角色)就会被拒绝;请先从这些成员身上移除该角色。
客户用户
客户用户是访问权限仅限于你的一个或多个客户、一个或多个设备组,或两者兼有的成员。用它为你的客户提供专属登录账号:他们能看到自己的设备,而看不到其他任何人的设备。当设备分配给某个客户时,把用户限定于该客户;当用户应看到的设备是属性满足某个筛选条件的设备(例如某个区域内的所有设备)时,把用户限定于一个组。
客户用户能看到什么
客户用户的侧边栏只有 Home(主页)、Dashboards(仪表板)、Alarms(告警)和 Devices(设备),其中:
- Devices 列出当前分配给其客户的设备,以及当前位于其组内的设备。设备被移交给其他客户或移出该组后,会立即从其列表中消失,无需任何人编辑该用户。
- 设备页面显示其实时状态、最新读数、事件、命令,以及(在你的安装环境运行更新服务时)其更新。事件和告警是设备属于其某个客户期间、或位于其某个组内期间记录的那些:接收设备的客户看不到此前的历史,而移交设备的客户保留其拥有该设备期间的历史。
- Alarms 列出这些设备在其客户拥有期间、或位于其组内期间产生的告警。如果角色允许,客户用户可以确认和清除这些告警。
- Dashboards 列出共享给其客户或组的已发布仪表板,并打开其已发布版本。他们永远看不到草稿。
其他一切,从设备配置文件和规则到连接器、审计和设置,都不在他们的侧边栏中;通过地址直接打开此类页面会把他们带回主页。无论其角色如何,服务器都会拒绝他们执行这些操作,因此即使角色对员工而言允许修改配置,客户用户也无法修改你的配置。他们也看不到设备的分配、分面或存储的配置。
右上角的租户标识显示他们所限定的范围及其角色,例如 Acme · viewer 或 Acme, North wing · viewer(先是其客户和组的名称,然后是角色的令牌)。
要允许客户用户发送命令,请授予其包含 command:write 的角色。之后他们可以向自己能看到的设备发送命令,向其他任何设备发送都会被拒绝。
在客户页面上
控制台中客户的页面有两个与此相关的选项卡:
- Devices(设备)列出分配给该客户的设备,即其用户能看到的设备。请在设备自己的 Assignment(分配)选项卡中分配设备。
- Users(用户)列出仅限于该客户的成员。Invite user(邀请用户)打开邀请时,Can see 已设置为该客户。只有能读取成员的管理员才能看到此选项卡。
将成员限定于设备组
成员可以被限定于一个设备组,以代替客户,或在客户之外同时限定。该组必须先成为访问范围,这在组本身上设置:
- 该组必须是动态设备组:其成员由针对设备属性的筛选条件选出。可以在 Browse(浏览)界面中保存一个,见分组、分面与浏览。
- 在 Device Groups(设备分组)下打开该组,选择其 Access scope(访问范围)选项卡。
- 从未发布过的动态组会显示 Publish filter(发布筛选条件)。选择它,把该组的筛选条件发布为第一个版本。访问范围跟随组的已发布版本,因此必须先发布筛选条件,组才能成为访问范围。如果在您打开该标签页期间有其他人发布了该组,Publish filter 不会在其版本之上再发布第二个版本:标签页会提示该组已更改,并显示其当前状态。
- 勾选 Use as access scope(用作访问范围)。这需要
device:write。
组不能成为访问范围时,该选项卡会说明原因:只有设备组可以,而且只有动态组可以。每个租户最多可以有 32 个访问范围组;为再多一个组勾选该复选框会被拒绝,选项卡会说明这一点。
之后,限定于该组的成员能看到组内的设备,并且只在设备位于组内期间可见。组成员关系随设备属性变化,因此属性变化使设备进入组时,无需编辑该成员即可看到它;设备移出组后则不再可见。他们能看到的设备记录(事件、告警、命令和更新)是设备位于组内期间记录的那些,与客户适用的规则相同。
取消勾选 Use as access scope 时会要求确认。之后,限定于该组的成员看不到它的任何设备,该组也不再出现在 Members 页面和仪表板共享中供选择。他们的成员资格以及共享给该组的仪表板都会保留:这样的成员仍可打开这些仪表板,但其中不显示该组的任何设备。再次勾选该复选框即可恢复他们之前看到的内容。
与客户和组共享仪表板
只有在仪表板共享给客户用户的某个客户或组并且已发布之后,客户用户才能看到它。在 Dashboards 列表中,对某个仪表板选择 Share(共享)并选择客户和组。参见与客户和组共享。
共享的仪表板只向每个客户用户显示其自己的数据。请把它的组件绑定到设备、以 assigned 关系绑定到该客户,或绑定到区域或资产。绑定到区域或资产的组件只向客户用户显示他们自己在其中的设备、这些设备的读数和告警,即使其他客户的设备也在该区域内:告警计数或图表上的数字只属于他们自己。绑定到组的组件仍需要读取关系图来查找其设备,而客户用户没有这项权限,因此该组件会向他们显示 Not available for customer users(不对客户用户提供)。
这类仪表板的 Building、Floor 和 Zone 选择器只列出该客户用户能看到的区域和设备。选择器可以限定为某一种区域类型(或资产类型),这样楼层选择器就不会提供建筑或设备机房。如果客户用户打开仪表板时所指的区域不是他们的,例如通过链接,则会落到他们能看到的第一个区域。
客户用户可以读取的区域和资产信息
客户用户可以读取其某台设备所在的区域和资产,以及租户的区域类型和资产类型。他们能看到区域或资产的名称和描述,以及类型的名称和描述,但看不到其自由格式的元数据。请不要在这些名称和描述中写入能识别某个客户的文字或其他机密信息,也不要写入多个客户的设备共用的区域的名称:客户用户可以读到它。
**给运维人员:**这意味着客户会知道其自己任一设备所在的区域或资产的名称,共享的也不例外,而且他们对它所知的仅限名称。他们看不到该区域中其他客户的设备、数据或告警。区域和资产的自由格式元数据会被完全隐藏。
区域或资产的成员跟随设备当前所在的位置:把设备移到另一个楼层,客户用户会立即在选择器和设备列表中看到新楼层。按区域统计的告警和读数则跟随设备在它们发生时所在的位置,因此设备在旧楼层触发的告警仍归在该楼层。在区域之间移动设备时请记住这一点。
尚未支持的内容
- 仪表板组件尚不能把成员所在组的设备作为一个整体显示。在共享给某个组的仪表板上,请把组件绑定到该组的设备,或绑定到它们所在的区域或资产。
- 组的第一个版本之后,发布会改变其成员所见内容的新版本需要通过 API(
publishEntityGroup)完成,而不能在控制台中完成。 - 客户不能管理自己的用户,由你的管理员邀请和修改他们。
相关内容
- 资产、客户与区域
- 仪表板
- 在 /dash 中查看仪表板
- GraphQL API:访问权限仅限部分客户时
- 管理设备分配:将设备关联到客户。
- 服务账号:用于集成的非人类账号。