角色对象

以下内容将详细介绍有关 角色 API的相关功能。

角色

角色对象具有以下属性:

属性 类型 描述
roleid ID 角色的 ID。

属性行为
- 只读
- 更新操作时为必填项
name string 角色名称。

属性行为
- 创建操作时为必填项
type integer 用户类型。

可能的值:
1 - (默认) 用户;
2 - 管理员;
3 - 超级管理员。

属性行为
- 创建操作时为必填项
readonly integer 角色是否为只读。

可能的值:
0 - (默认) 否;
1 - 是。

属性行为
- 只读

角色规则

角色规则对象具有以下属性:

Property Type Description
ui array UI 元素对象数组。
ui.default_access integer 是否启用对新 UI 元素的访问。

可能的值:
0 - 禁用;
1 - (默认) 启用。
services.read.mode integer 对服务的只读访问权限。

可能的值:
0 - 对由 services.read.list 指定或由 services.read.tag 属性匹配的服务具有只读访问权限;
1 - (默认) 对所有服务具有只读访问权限。
services.read.list array Service 对象数组。

将为指定的服务(包括子服务)向用户角色授予只读访问权限。只读访问权限不会覆盖对服务的读写访问权限。

属性行为
- 当 services.read.mode 设置为 "0" 时,支持
services.read.tag object Service tag 对象数组。

将为标签匹配的服务(包括子服务)向用户角色授予只读访问权限。只读访问权限不会覆盖对服务的读写访问权限。

属性行为
- 当 services.read.mode 设置为 "0" 时,支持
services.write.mode integer 对服务的读写访问权限。

可能的值:
0 - (默认) 对由 services.write.list 指定或由 services.write.tag 属性匹配的服务具有读写访问权限;
1 - 对所有服务具有读写访问权限。
services.write.list array Service 对象数组。

将为指定的服务(包括子服务)向用户角色授予读写访问权限。读写访问权限将覆盖对服务的只读访问权限。

属性行为
- 当 services.write.mode 设置为 "0" 时,支持
services.write.tag object Service tag 对象数组。

将为标签匹配的服务(包括子服务)向用户角色授予读写访问权限。读写访问权限将覆盖对服务的只读访问权限。

属性行为
- 当 services.write.mode 设置为 "0" 时,支持
modules array module 对象数组。
modules.default_access integer 是否启用对新模块的访问。

可能的值:
0 - 禁用;
1 - (默认) 启用。
api.access integer 是否启用对 API 的访问。

可能的值:
0 - 禁用;
1 - (默认) 启用。
api.mode integer 处理 api 属性中列出的 API 方法的模式。

可能的值:
0 - (默认) 拒绝列表;
1 - 允许列表。
api array API 方法数组。
actions array action 对象数组。
actions.default_access integer 是否启用对新操作的访问。

可能的值:
0 - 禁用;
1 - (默认) 启用。

UI 元素

UI 元素对象具有以下属性:

属性 类型 描述
name string UI 元素的名称。

如果 Role 对象的 type 设置为 "User"、"Admin" 或 "Super admin",则可能的值为:
monitoring.dashboard - 仪表板
monitoring.problems - 监控 → 问题
monitoring.hosts - 监控 → 主机
monitoring.latest_data - 监控 → 最新数据
monitoring.maps - 监控 → 拓扑图
services.services - 服务 → 服务
services.sla_report - 服务 → SLA 报表
inventory.overview - 资产记录 → 概览
inventory.hosts - 资产记录 → 主机
reports.availability_report - 报表 → 可用性报表
reports.top_triggers - 报表 → 触发器 Top 100

如果 Role 对象的 type 设置为 "Admin" 或 "Super admin",则可能的值为:
monitoring.discovery - 监控 → 发现
services.sla - 服务 → SLA
reports.scheduled_reports - 报表 → 定时报表
reports.notifications - 报表 → 通知
configuration.template_groups - 数据采集 → 模板组
configuration.host_groups - 数据采集 → 主机组
configuration.templates - 数据采集 → 模板
configuration.hosts - 数据采集 → 主机
configuration.maintenance - 数据采集 → 维护
configuration.discovery - 数据采集 → 发现
configuration.trigger_actions - 告警 → 动作 → 触发器动作
configuration.service_actions - 告警 → 动作 → 服务动作
configuration.discovery_actions - 告警 → 动作 → 发现动作
configuration.autoregistration_actions - 告警 → 动作 → 自动注册动作
configuration.internal_actions - 告警 → 动作 → 内部动作

如果 Role 对象的 type 设置为 "Super admin",则可能的值为:
reports.system_info - 报表 → 系统信息
reports.audit - 报表 → 审计日志
reports.action_log - 报表 → 动作日志
configuration.event_correlation - 数据采集 → 事件关联
administration.media_types - 告警 → 媒介类型
administration.scripts - 告警 → 脚本
administration.user_groups - 用户 → 用户组
administration.user_roles - 用户 → 用户角色
administration.users - 用户 → 用户
administration.api_tokens - 用户 → API 令牌
administration.authentication - 用户 → 身份验证
administration.general - 管理 → 常规
administration.audit_log - 管理 → 审计日志
administration.housekeeping - 管理 → Housekeeping
administration.proxy_groups - 管理 → Proxy 组
administration.proxies - 管理 → Proxies
administration.macros - 管理 → 宏
administration.queue - 管理 → 队列

属性行为
- 必需
status integer 是否启用对该 UI 元素的访问。

可能的值:
0 - 禁用;
1 - (默认) 启用。

服务

属性 类型 描述
serviceid ID 服务的 ID。

属性行为
- 必需

服务标签

Property Type Description
tag string 标签名称。

如果指定为空字符串,则服务标签将不会用于服务匹配。

属性行为
- 必需
value string 标签值。

如果未指定值或指定为空字符串,则仅标签名称将用于服务匹配。

模块

模块对象具有以下属性:

属性 类型 描述
moduleid ID 模块的 ID。

属性行为
- 必需
status integer 是否启用对该模块的访问。

可能的值:
0 - 已禁用;
1 - (默认) 已启用。

操作

操作对象具有以下属性:

属性 类型 描述
name string 操作名称。

如果 Role 对象的 type 设置为“User”、“Admin”或“Super admin”,则可能的值为:
edit_dashboards - 创建和编辑仪表板;
edit_maps - 创建和编辑拓扑图;
add_problem_comments - 添加问题评论;
change_severity - 更改问题严重性;
acknowledge_problems - 确认问题;
suppress_problems - 抑制问题;
close_problems - 关闭问题;
execute_scripts - 执行脚本;
manage_api_tokens - 管理 API 令牌;
change_problem_ranking - 将问题排名从原因更改为症状,反之亦然;
edit_own_media - 允许创建/编辑自己的媒介。

如果 Role 对象的 type 设置为“Admin”或“Super admin”,则可能的值为:
edit_maintenance - 创建和编辑维护;
manage_scheduled_reports - 管理计划报告;
manage_sla - 管理 SLA。

如果 Role 对象的 type 设置为“User”或“Admin”,则可能的值为:
invoke_execute_now - 允许仅对主机具有只读权限的用户执行监控项检查。

如果 Role 对象的 type 设置为“Super admin”,则可能的值为:
edit_user_media - 允许为用户创建/编辑媒介。

属性行为
- 必需
status integer 是否启用执行该操作的访问权限。

可能的值:
0 - 禁用;
1 - (默认) 启用。