omni-admin
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOmni Admin
Omni Admin
Manage your Omni instance — connections, users, groups, user attributes, permissions, schedules, and schema refreshes.
Tip: Most admin endpoints require an Organization API Key (not a Personal Access Token).
管理你的Omni实例——包括连接、用户、组、用户属性、权限、计划和模式刷新。
提示:大多数管理端点需要Organization API Key(而非个人访问令牌Personal Access Token)。
Prerequisites
前提条件
bash
undefinedbash
undefinedVerify the Omni CLI is installed — if not, ask the user to install it
Verify the Omni CLI is installed — if not, ask the user to install it
command -v omni >/dev/null || echo "ERROR: Omni CLI is not installed."
```bashcommand -v omni >/dev/null || echo "ERROR: Omni CLI is not installed."
```bashShow available profiles and select the appropriate one
Show available profiles and select the appropriate one
omni config show
omni config show
If multiple profiles exist, ask the user which to use, then switch:
If multiple profiles exist, ask the user which to use, then switch:
omni config use <profile-name>
undefinedomni config use <profile-name>
undefinedDiscovering Commands
查看可用命令
bash
omni scim --help # User and group management
omni schedules --help # Schedule operations
omni connections --help # Connection management
omni documents --help # Document permissions
omni folders --help # Folder permissionsTip: Useto force structured output for programmatic parsing, or-o jsonfor readable tables. The default is-o human(human in a TTY, JSON when piped).auto
bash
omni scim --help # 用户和组管理
omni schedules --help # 计划操作
omni connections --help # 连接管理
omni documents --help # 文档权限
omni folders --help # 文件夹权限提示:使用强制输出结构化内容以便程序解析,或使用-o json输出易读的表格。默认模式为-o human(终端环境下输出human格式,管道传输时输出JSON格式)。auto
Connections
连接管理
bash
undefinedbash
undefinedList connections
List connections
omni connections list
omni connections list
Schema refresh schedules
Schema refresh schedules
omni connections schedules-list <connectionId>
omni connections schedules-list <connectionId>
Connection environments
Connection environments
omni connections connection-environments-list
undefinedomni connections connection-environments-list
undefinedUser Management (SCIM 2.0)
用户管理(SCIM 2.0)
bash
undefinedbash
undefinedList users
List users
omni scim users-list
omni scim users-list
Find by email
Find by email
omni scim users-list --filter 'userName eq "user@company.com"'
omni scim users-list --filter 'userName eq "user@company.com"'
Create user
Create user
omni scim users-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "newuser@company.com",
"displayName": "New User",
"active": true,
"emails": [{ "primary": true, "value": "newuser@company.com" }]
}'
omni scim users-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "newuser@company.com",
"displayName": "New User",
"active": true,
"emails": [{ "primary": true, "value": "newuser@company.com" }]
}'
Deactivate user
Deactivate user
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{ "op": "replace", "path": "active", "value": false }]
}'
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{ "op": "replace", "path": "active", "value": false }]
}'
Delete user
Delete user
omni scim users-delete <userId>
undefinedomni scim users-delete <userId>
undefinedGroup Management (SCIM 2.0)
组管理(SCIM 2.0)
bash
undefinedbash
undefinedList groups
List groups
omni scim groups-list
omni scim groups-list
Create group
Create group
omni scim groups-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Analytics Team",
"members": [{ "value": "user-uuid-1" }]
}'
omni scim groups-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Analytics Team",
"members": [{ "value": "user-uuid-1" }]
}'
Add members
Add members
omni scim groups-update <groupId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"Operations": [{ "op": "add", "path": "members", "value": [{ "value": "new-user-uuid" }] }]
}'
undefinedomni scim groups-update <groupId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"Operations": [{ "op": "add", "path": "members", "value": [{ "value": "new-user-uuid" }] }]
}'
undefinedUser Attributes
用户属性
bash
undefinedbash
undefinedList attributes
List attributes
omni user-attributes list
omni user-attributes list
Set attribute on user (via SCIM)
Set attribute on user (via SCIM)
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{
"op": "replace",
"path": "urn:omni:params:1.0:UserAttribute:region",
"value": "West Coast"
}]
}'
User attributes work with `access_filters` in topics for row-level security.omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{
"op": "replace",
"path": "urn:omni:params:1.0:UserAttribute:region",
"value": "West Coast"
}]
}'
用户属性可配合主题中的`access_filters`实现行级安全控制。Model Roles
模型角色
bash
undefinedbash
undefinedGet/set model roles for a user
Get/set model roles for a user
omni users get-model-roles <userId>
omni users assign-model-role <userId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
omni users get-model-roles <userId>
omni users assign-model-role <userId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
Get/set model roles for a group
Get/set model roles for a group
omni users user-groups-get-model-roles <groupId>
omni users user-groups-assign-model-role <groupId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
undefinedomni users user-groups-get-model-roles <groupId>
omni users user-groups-assign-model-role <groupId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
undefinedDocument Permissions
文档权限
bash
undefinedbash
undefinedGet permissions for a user (userId required)
Get permissions for a user (userId required)
omni documents get-permissions <documentId> --userid <userId>
omni documents get-permissions <documentId> --userid <userId>
Set permissions
Set permissions
omni documents update-permission-settings <documentId> --body '{
"permissions": [
{ "type": "group", "id": "group-uuid", "access": "view" },
{ "type": "user", "id": "user-uuid", "access": "edit" }
]
}'
undefinedomni documents update-permission-settings <documentId> --body '{
"permissions": [
{ "type": "group", "id": "group-uuid", "access": "view" },
{ "type": "user", "id": "user-uuid", "access": "edit" }
]
}'
undefinedFolder Permissions
文件夹权限
bash
undefinedbash
undefinedGet
Get
omni folders get-permissions <folderId>
omni folders get-permissions <folderId>
Set
Set
omni folders add-permissions <folderId> --body '{
"permissions": [{ "type": "group", "id": "group-uuid", "access": "view" }]
}'
undefinedomni folders add-permissions <folderId> --body '{
"permissions": [{ "type": "group", "id": "group-uuid", "access": "view" }]
}'
undefinedSchedules
计划管理
bash
undefinedbash
undefinedList schedules
List schedules
omni schedules list
omni schedules list
Create schedule
Create schedule
omni schedules create --body '{
"documentId": "dashboard-identifier",
"frequency": "weekly",
"dayOfWeek": "monday",
"hour": 9,
"timezone": "America/Los_Angeles",
"format": "pdf"
}'
omni schedules create --body '{
"documentId": "dashboard-identifier",
"frequency": "weekly",
"dayOfWeek": "monday",
"hour": 9,
"timezone": "America/Los_Angeles",
"format": "pdf"
}'
Manage recipients
Manage recipients
omni schedules recipients-get <scheduleId>
omni schedules add-recipients <scheduleId> --body '{ "recipients": [{ "type": "email", "value": "team@company.com" }] }'
undefinedomni schedules recipients-get <scheduleId>
omni schedules add-recipients <scheduleId> --body '{ "recipients": [{ "type": "email", "value": "team@company.com" }] }'
undefinedVerification After Changes
变更后的验证
Admin operations can silently fail or partially apply. Always read back the state after any write to confirm the change took effect.
管理操作可能会静默失败或仅部分生效。执行任何写入操作后,务必查看状态以确认变更已生效。
After User Operations
用户操作后验证
bash
undefinedbash
undefinedAfter creating or updating a user, verify they exist with correct state
After creating or updating a user, verify they exist with correct state
omni scim users-list --filter 'userName eq "newuser@company.com"'
Check that: `active` matches what you set, `displayName` is correct, and the user ID was returned (not an error).omni scim users-list --filter 'userName eq "newuser@company.com"'
检查:`active`状态是否与设置一致,`displayName`是否正确,且返回了用户ID(而非错误信息)。After Group Operations
组操作后验证
bash
undefinedbash
undefinedAfter creating a group or modifying members, verify membership
After creating a group or modifying members, verify membership
omni scim groups-list
Check that: the group exists with the expected `displayName`, and `members` array contains the expected user UUIDs.omni scim groups-list
检查:组是否存在且`displayName`符合预期,`members`数组包含预期的用户UUID。After Permission Changes
权限变更后验证
bash
undefinedbash
undefinedAfter setting document permissions, verify for the target user
After setting document permissions, verify for the target user
omni documents get-permissions <documentId> --userid <userId>
omni documents get-permissions <documentId> --userid <userId>
After setting folder permissions, verify
After setting folder permissions, verify
omni folders get-permissions <folderId>
Check that: the permission `access` level matches what you set (`view`, `edit`), and the target user/group ID is listed.omni folders get-permissions <folderId>
检查:权限`access`级别是否与设置一致(`view`、`edit`),且列出了目标用户/组ID。After User Attribute Changes
用户属性变更后验证
bash
undefinedbash
undefinedVerify the attribute value was set
Verify the attribute value was set
omni user-attributes list
If the attribute is used for row-level security (`access_filters`), test it by running a query as the target user:
```bash
omni query run --body '{ "query": { ... }, "userId": "<target-user-uuid>" }'Verify the results are correctly filtered — the user should only see rows matching their attribute value.
omni user-attributes list
如果属性用于行级安全控制(`access_filters`),请以目标用户身份运行查询进行测试:
```bash
omni query run --body '{ "query": { ... }, "userId": "<target-user-uuid>" }'验证结果是否已正确过滤——用户应仅能看到与其属性值匹配的行。
After Schedule Operations
计划操作后验证
bash
undefinedbash
undefinedVerify schedule was created with correct settings
Verify schedule was created with correct settings
omni schedules list
omni schedules list
Verify recipients were added
Verify recipients were added
omni schedules recipients-get <scheduleId>
Check that: `frequency`, `dayOfWeek`, `hour`, `timezone`, and `format` match what you set, and all intended recipients are listed.omni schedules recipients-get <scheduleId>
检查:`frequency`、`dayOfWeek`、`hour`、`timezone`和`format`是否与设置一致,且列出了所有预期收件人。Verification Checklist
验证清单
| Operation | Verify With | What to Check |
|---|---|---|
| Create/update user | | User exists, |
| Create/update group | | Group exists, members list correct |
| Set document permissions | | Access level and target correct |
| Set folder permissions | | Access level and target correct |
| Set user attribute | | Attribute value set |
| User attribute + access filter | | Row-level filtering works |
| Create schedule | | Schedule settings correct |
| Add recipients | | All recipients listed |
| 操作 | 验证命令 | 检查内容 |
|---|---|---|
| 创建/更新用户 | | 用户存在, |
| 创建/更新组 | | 组存在,成员列表正确 |
| 设置文档权限 | | 访问级别和目标对象正确 |
| 设置文件夹权限 | | 访问级别和目标对象正确 |
| 设置用户属性 | | 属性值已设置 |
| 用户属性+访问过滤器 | 指定 | 行级过滤生效 |
| 创建计划 | | 计划设置正确 |
| 添加收件人 | | 所有收件人已列出 |
Cache and Validation
缓存与验证
bash
undefinedbash
undefinedReset cache policy
Reset cache policy
omni models cache-reset <modelId> <policyName> --body '{ "resetAt": "2025-01-30T22:30:52.872Z" }'
omni models cache-reset <modelId> <policyName> --body '{ "resetAt": "2025-01-30T22:30:52.872Z" }'
Content validator (find broken field references across all dashboards and tiles)
Content validator (find broken field references across all dashboards and tiles)
Useful for blast-radius analysis: remove a field on a branch, then run the
Useful for blast-radius analysis: remove a field on a branch, then run the
validator against that branch to see what content would break.
validator against that branch to see what content would break.
See the Field Impact Analysis section in omni-model-explorer for the full workflow.
See the Field Impact Analysis section in omni-model-explorer for the full workflow.
omni models content-validator-get <modelId>
omni models content-validator-get <modelId>
Run against a specific branch (e.g., after removing a field)
Run against a specific branch (e.g., after removing a field)
omni models content-validator-get <modelId> --branch-id <branchId>
omni models content-validator-get <modelId> --branch-id <branchId>
Git configuration
Git configuration
omni models git-get <modelId>
undefinedomni models git-get <modelId>
undefinedDocs Reference
文档参考
Related Skills
相关技能
- omni-model-builder — edit the model that access controls apply to
- omni-content-explorer — find documents before setting permissions
- omni-content-builder — create dashboards before scheduling delivery
- omni-embed — manage embed users and user attributes for embedded dashboards
- omni-model-builder — 编辑访问控制所适用的模型
- omni-content-explorer — 设置权限前查找文档
- omni-content-builder — 创建仪表板后安排交付
- omni-embed — 管理嵌入式仪表板的嵌入用户和用户属性