uip gov aops 策略部署和部署策略
用于使用“uip gov aops-policy部署”和“uip gov aops-policy部署-策略”将 AOps 监管策略分配给租户、用户和组,以及在运行时解析有效策略的语法和选项。
uip gov aops-policy deployment 将 AOps 监管策略分配给监管主体(租户、用户、组);在遍历继承后,uip gov aops-policy deployed-policy 解析在运行时实际应用哪个策略。有关创作策略记录本身,请参阅aops-policy 。有关父级工具概述,请参阅uip gov 。
概念
- 解决顺序为用户 → 组 → 租户(用户优先、组优先、租户)。未为
(product, license type)明确分配的主题将从上一个级别继承。 null固定“无策略” — 传递null作为configure条目的policyIdentifier显式阻止来自下级别的继承,而不是保持条目未设置(通常继承)。- 每个
configure动词都是完整替换,而不是合并。输入文件中省略的条目会从该主题的分配列表中删除。要添加一个分配而保留其他分配,请从该主题的get输出开始,对其进行编辑,然后重新提交整个数组。 - 作用域因级别而异:租户分配按
(productIdentifier, licenseTypeIdentifier)限定作用域,即每种产品的每种许可证类型对应一个策略。用户和组覆盖仅由productIdentifier限定作用域(与许可证类型无关)。 - 删除租户上的最后一个分配被拒绝,而不是静默忽略— 监管服务将保存空的分配数组视为空操作,因此
deployment tenant remove会在保留分配原样的情况下明确出错,而不是报告成功。改为通过"policyIdentifier": null固定configure。 - 要验证实际适用的内容,请使用
deployed-policy,而不是deployment ... get— 后者仅显示一个级别的显式覆盖,而不显示解析的结果。
大纲
uip gov aops-policy deployment tenant list [--product-name <name>] [--limit <n>] [--offset <n>]
uip gov aops-policy deployment tenant get <tenantIdentifier>
uip gov aops-policy deployment tenant configure <tenantIdentifier> --tenant-name <name> --input <path>
uip gov aops-policy deployment tenant remove <tenantIdentifier> --product-name <name> [--license-type <type>]
uip gov aops-policy deployment user list [--limit <n>] [--offset <n>]
uip gov aops-policy deployment user get <userIdentifier>
uip gov aops-policy deployment user configure <userIdentifier> --user <name> --input <path> [--source <source>] [--email <email>]
uip gov aops-policy deployment user delete <userIdentifier>
uip gov aops-policy deployment group list [--limit <n>] [--offset <n>]
uip gov aops-policy deployment group get <groupIdentifier>
uip gov aops-policy deployment group configure <groupIdentifier> --group <name> --input <path> [--source <source>]
uip gov aops-policy deployment group delete <groupIdentifier>
uip gov aops-policy deployed-policy get <license-type> <product-name> <tenantIdentifier> [--s2s-token <token> [--user-id <id> | --tenant-only]]
uip gov aops-policy deployed-policy list <license-type> <product-name> <tenantIdentifier>
uip gov aops-policy deployment tenant list [--product-name <name>] [--limit <n>] [--offset <n>]
uip gov aops-policy deployment tenant get <tenantIdentifier>
uip gov aops-policy deployment tenant configure <tenantIdentifier> --tenant-name <name> --input <path>
uip gov aops-policy deployment tenant remove <tenantIdentifier> --product-name <name> [--license-type <type>]
uip gov aops-policy deployment user list [--limit <n>] [--offset <n>]
uip gov aops-policy deployment user get <userIdentifier>
uip gov aops-policy deployment user configure <userIdentifier> --user <name> --input <path> [--source <source>] [--email <email>]
uip gov aops-policy deployment user delete <userIdentifier>
uip gov aops-policy deployment group list [--limit <n>] [--offset <n>]
uip gov aops-policy deployment group get <groupIdentifier>
uip gov aops-policy deployment group configure <groupIdentifier> --group <name> --input <path> [--source <source>]
uip gov aops-policy deployment group delete <groupIdentifier>
uip gov aops-policy deployed-policy get <license-type> <product-name> <tenantIdentifier> [--s2s-token <token> [--user-id <id> | --tenant-only]]
uip gov aops-policy deployed-policy list <license-type> <product-name> <tenantIdentifier>
每个动词还接受 --login-validity <minutes>(设置 deployed-policy get 时在 --s2s-token 上忽略该操作)。
uip gov aops 策略部署租户
每个租户的基线策略分配,以 (productIdentifier, licenseTypeIdentifier) 为范围。用户和组分配将覆盖这些设置和组。
uip gov aops 策略部署租户列表
列出在监管系统中注册的租户及其当前分配。在返回之前触发从 OMS 的上游同步,因此结果反映最新的租户目录(新租户、禁用/重新启用状态),而不仅仅是监管的本地缓存。
选项
| 长 | 值 | 描述 |
|---|---|---|
--product-name <product-name> | 字符串 | 仅返回分配了此产品的租户。 |
--limit <n> | 整数 | 页面大小。默认 20。 |
--offset <n> | 整数 | 从零开始的页面索引。 |
示例
uip gov aops-policy deployment tenant list --product-name StudioX --limit 2
uip gov aops-policy deployment tenant list --product-name StudioX --limit 2
数据形状(--输出 json)
{
"Code": "AopsPolicyDeploymentTenantList",
"Data": [
{
"identifier": "a1b2c3d4-0000-0000-0000-000000000100",
"name": "Acme Tenant",
"tenantPolicies": [
{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }
]
}
]
}
{
"Code": "AopsPolicyDeploymentTenantList",
"Data": [
{
"identifier": "a1b2c3d4-0000-0000-0000-000000000100",
"name": "Acme Tenant",
"tenantPolicies": [
{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }
]
}
]
}
uip gov aops 策略部署租户获取
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<tenantIdentifier> | 是 | 租户 GUID,来自 tenant list。 |
示例
uip gov aops-policy deployment tenant get a1b2c3d4-0000-0000-0000-000000000100
uip gov aops-policy deployment tenant get a1b2c3d4-0000-0000-0000-000000000100
数据形状(--输出 json)
形状与一个 tenant list 条目相同。
uip gov aops 策略部署租户配置
从 JSON 文件替换租户的 (product, license type) 分配。完全替换— 删除不在文件中的条目。在保存前触发上游 OMS 同步,以便首先协调新创建的 (或状态更改) 的租户。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<tenantIdentifier> | 是 | 要配置的租户 GUID。 |
选项
| 长 | 值 | 必填 | 描述 |
|---|---|---|---|
--tenant-name <tenantName> | 字符串 | 是 | 显示名称 — 必须与监管服务中租户的名称匹配。 |
--input <path> | 路径 | 是 | JSON 数组。{productIdentifier, licenseTypeIdentifier, policyIdentifier}policyIdentifier: null 固定“无策略”;省略条目以正常继承。 |
示例
uip gov aops-policy deployment tenant configure a1b2c3d4-0000-0000-0000-000000000100 --tenant-name "Acme Tenant" --input tenant-policies.json
uip gov aops-policy deployment tenant configure a1b2c3d4-0000-0000-0000-000000000100 --tenant-name "Acme Tenant" --input tenant-policies.json
数据形状(--输出 json)
{
"Code": "AopsPolicyDeploymentTenantConfigure",
"Data": [
{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }
]
}
{
"Code": "AopsPolicyDeploymentTenantConfigure",
"Data": [
{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }
]
}
uip gov aops 策略部署租户删除
删除产品的租户分配,而无需自行重写完整列表 — 客户端“读取-筛选-保存”。
非必需。将读取 → 筛选 → 保存;在读取和保存操作之间对同一租户进行的并发更改操作将丢失。避免对同一租户并发运行。无法清除上一个分配— 服务将保存空数组视为无操作,因此此命令会拒绝这种情况,而不是报告错误的成功。改为通过 "policyIdentifier": null 固定 configure。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<tenantIdentifier> | 是 | 租户 GUID。 |
选项
| 长 | 值 | 必填 | 描述 |
|---|---|---|---|
--product-name <product-name> | 字符串 | 是 | 要取消固定的产品。 |
--license-type <license-type> | 字符串 | 否 | 将删除范围缩小为一种许可证类型。省略删除产品的每个许可证类型条目。 |
失败,并显示“没有要删除的匹配策略分配”如果没有任何内容匹配项。
示例
uip gov aops-policy deployment tenant remove a1b2c3d4-0000-0000-0000-000000000100 --product-name StudioX
uip gov aops-policy deployment tenant remove a1b2c3d4-0000-0000-0000-000000000100 --product-name StudioX
数据形状(--输出 json)
{
"Code": "AopsPolicyDeploymentTenantRemove",
"Data": {
"removed": [{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }],
"tenantPolicies": []
}
}
{
"Code": "AopsPolicyDeploymentTenantRemove",
"Data": {
"removed": [{ "productIdentifier": "StudioX", "licenseTypeIdentifier": "a1b2c3d4-0000-0000-0000-0000000000A1", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }],
"tenantPolicies": []
}
}
uip gov aops 策略部署用户
基于用户的覆盖,仅取决于 productIdentifier(与许可证类型无关)。用户分配优先于组和租户分配。
uip gov aops 策略部署用户列表
列出监管服务已关联(已分配策略或已导入)的用户,而非完整的身份提供程序名录。
选项
| 长 | 值 | 描述 |
|---|---|---|
--limit <n> | 整数 | 页面大小。默认 20。 |
--offset <n> | 整数 | 从零开始的页面索引。 |
示例
uip gov aops-policy deployment user list --limit 2
uip gov aops-policy deployment user list --limit 2
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentUserList", "Data": [{ "identifier": "a1b2c3d4-0000-0000-0000-000000000201", "name": "alice@acme.test", "source": "cloud" }] }
{ "Code": "AopsPolicyDeploymentUserList", "Data": [{ "identifier": "a1b2c3d4-0000-0000-0000-000000000201", "name": "alice@acme.test", "source": "cloud" }] }
uip gov aops 策略部署用户获取
覆盖显式分配给一个用户的每个产品的覆盖项 — 此处不解析租户/组继承(使用deployed-policy get作为有效值)。如果用户没有覆盖项,则返回 []。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<userIdentifier> | 是 | 用户 GUID,来自 user list。 |
示例
uip gov aops-policy deployment user get a1b2c3d4-0000-0000-0000-000000000201
uip gov aops-policy deployment user get a1b2c3d4-0000-0000-0000-000000000201
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentUserGet", "Data": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
{ "Code": "AopsPolicyDeploymentUserGet", "Data": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
uip gov aops 策略部署用户配置
覆盖用户的每个产品的覆盖。如果监管尚不知道用户,则自动注册用户(通过“添加用户”调用);否则将作为完全替换更新插入运行。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<userIdentifier> | 是 | 要配置的用户 GUID — 来自 user list 或上游身份提供程序。 |
选项
| 长 | 值 | 必填 | 描述 |
|---|---|---|---|
--user <user> | 字符串 | 是 | 与覆盖一起存储的显示名称(显示在审核日志/用户界面中)。 |
--input <path> | 路径 | 是 | JSON 数组。{productIdentifier, policyIdentifier}policyIdentifier: null 已固定“无策略”。 |
--source <source> | 字符串 | 否 | 身份提供程序来源(例如local、aad、cloud)。默认 local。仅用于更新插入路径 — 首次注册会从 CI 解析来源。 |
--email <email> | 字符串 | 否 | 仅在注册全新用户时使用的电子邮件。已知用户后可忽略该问题。默认为 --user。 |
示例
uip gov aops-policy deployment user configure a1b2c3d4-0000-0000-0000-000000000201 --user alice@acme.test --input user-policies.json
uip gov aops-policy deployment user configure a1b2c3d4-0000-0000-0000-000000000201 --user alice@acme.test --input user-policies.json
数据形状(--输出 json)
{
"Code": "AopsPolicyDeploymentUserConfigure",
"Data": { "identifier": "a1b2c3d4-0000-0000-0000-000000000201", "userPolicies": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
}
{
"Code": "AopsPolicyDeploymentUserConfigure",
"Data": { "identifier": "a1b2c3d4-0000-0000-0000-000000000201", "userPolicies": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
}
uip gov aops 策略部署用户删除
在一次调用中清除用户基于产品的所有覆盖 — 相当于使用空数组的 configure,无需 JSON 文件。之后,用户将回退到所有产品的组/租户继承。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<userIdentifier> | 是 | 用户 GUID,来自 user list。 |
示例
uip gov aops-policy deployment user delete a1b2c3d4-0000-0000-0000-000000000201
uip gov aops-policy deployment user delete a1b2c3d4-0000-0000-0000-000000000201
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentUserDelete", "Data": { "Status": "Deleted", "identifier": "a1b2c3d4-0000-0000-0000-000000000201" } }
{ "Code": "AopsPolicyDeploymentUserDelete", "Data": { "Status": "Deleted", "identifier": "a1b2c3d4-0000-0000-0000-000000000201" } }
uip gov aops 策略部署组
按组覆盖,由 productIdentifier 限定范围。按解析顺序位于用户和租户之间(用户优先于组,组优先于租户)。动词形状与 deployment user 相同 (list/get/configure/delete),只有主语不同。
uip gov aops 策略部署组列表
选项
与 deployment user list 相同(--limit、--offset)。
示例
uip gov aops-policy deployment group list --limit 2
uip gov aops-policy deployment group list --limit 2
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentGroupList", "Data": [{ "identifier": "a1b2c3d4-0000-0000-0000-000000000301", "name": "Engineering", "source": "cloud" }] }
{ "Code": "AopsPolicyDeploymentGroupList", "Data": [{ "identifier": "a1b2c3d4-0000-0000-0000-000000000301", "name": "Engineering", "source": "cloud" }] }
uip gov aops 策略部署组获取
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<groupIdentifier> | 是 | 组 GUID,来自 group list。 |
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentGroupGet", "Data": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
{ "Code": "AopsPolicyDeploymentGroupGet", "Data": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
当组没有覆盖时,返回 []。
uip gov aops 策略部署组配置
形状和自动注册行为与 deployment user configure 相同,但使用 --group <name> 代替 --user <name>(--email/--source 语义没有不同 — 此处的 --source 具有相同的默认值/含义)。对于输入文件中没有的任何产品,组成员会回退到租户继承。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<groupIdentifier> | 是 | 要配置的组 GUID。 |
选项
| 长 | 值 | 必填 | 描述 |
|---|---|---|---|
--group <group> | 字符串 | 是 | 显示名称与覆盖项一起存储。 |
--input <path> | 路径 | 是 | JSON 数组。{productIdentifier, policyIdentifier} |
--source <source> | 字符串 | 否 | 身份提供程序来源。默认 local。 |
示例
uip gov aops-policy deployment group configure a1b2c3d4-0000-0000-0000-000000000301 --group Engineering --input group-policies.json
uip gov aops-policy deployment group configure a1b2c3d4-0000-0000-0000-000000000301 --group Engineering --input group-policies.json
数据形状(--输出 json)
{
"Code": "AopsPolicyDeploymentGroupConfigure",
"Data": { "identifier": "a1b2c3d4-0000-0000-0000-000000000301", "groupPolicies": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
}
{
"Code": "AopsPolicyDeploymentGroupConfigure",
"Data": { "identifier": "a1b2c3d4-0000-0000-0000-000000000301", "groupPolicies": [{ "productIdentifier": "StudioX", "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001" }] }
}
uip gov aops 策略部署组删除
从监管中删除组及其所有策略覆盖。组本身仍保留在上游身份提供程序中——这只能清除监管状态。成员分配回退为用户级别或租户级别。
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<groupIdentifier> | 是 | 组 GUID,来自 group list。 |
数据形状(--输出 json)
{ "Code": "AopsPolicyDeploymentGroupDelete", "Data": { "Status": "Deleted", "identifier": "a1b2c3d4-0000-0000-0000-000000000301" } }
{ "Code": "AopsPolicyDeploymentGroupDelete", "Data": { "Status": "Deleted", "identifier": "a1b2c3d4-0000-0000-0000-000000000301" } }
uip gov aops 策略已部署策略
只读。在继承之后解析主题的单个有效策略 — 也就是“现在实际适用的策略”。
uip gov aops 策略的已部署策略获取
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<license-type> | 是 | 许可证类型名称(例如Attended)— 来自 license-type list。 |
<product-name> | 是 | 产品名称(例如StudioX)— 来自 product list。 |
<tenantIdentifier> | 是 | 租户 GUID — 来自 deployment tenant list。 |
选项
| 长 | 值 | 描述 |
|---|---|---|
--s2s-token <token> | 字符串 | 服务到服务持有者令牌,仅覆盖此调用的用户令牌。优先选择 UIP_S2S_TOKEN 环境变量,而不是此标志 — CLI 参数令牌在流程列表(ps aux、/proc/*/cmdline)中可见。 |
--user-id <userId> | 字符串 | 解析对此特定用户有效的策略(完整用户→组→租户离开)。需要 S2S 令牌。与 --tenant-only 互斥。 |
--tenant-only | 标记 | 仅解析租户级策略,忽略用户/组覆盖。需要 S2S 令牌。与 --user-id 互斥。 |
三种解析模式:默认(调用者自己的用户令牌,为调用者解析)、S2S + --user-id(解析为特定用户)、S2S + --tenant-only(仅限租户级别)。没有 S2S 令牌的 --user-id/--tenant-only 客户端将失败。
示例
uip gov aops-policy deployed-policy get Attended StudioX a1b2c3d4-0000-0000-0000-000000000100
uip gov aops-policy deployed-policy get Attended StudioX a1b2c3d4-0000-0000-0000-000000000100
数据形状(--输出 json)
{
"Code": "AopsPolicyDeployedPolicyGet",
"Data": { "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001", "name": "Baseline StudioX Policy", "data": { "allowAnalytics": true, "maxProjects": 5 } }
}
{
"Code": "AopsPolicyDeployedPolicyGet",
"Data": { "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001", "name": "Baseline StudioX Policy", "data": { "allowAnalytics": true, "maxProjects": 5 } }
}
当没有匹配的规则且没有默认值时,Data 为 { "Message": "No policy applies." }(服务器的 204)。
uip gov aops 策略已部署策略列表
与get (仅适用于最高优先级的有效策略)不同,系统按优先级顺序返回适用于调用用户的(license type, product, tenant)的所有规则,有助于了解特定值为何有效。仅用户令牌;此处不支持 S2S/模拟。
参数
三个位置参数与 deployed-policy get 相同。
示例
uip gov aops-policy deployed-policy list Attended StudioX a1b2c3d4-0000-0000-0000-000000000100
uip gov aops-policy deployed-policy list Attended StudioX a1b2c3d4-0000-0000-0000-000000000100
数据形状(--输出 json)
{
"Code": "AopsPolicyDeployedPolicyList",
"Data": [
{ "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001", "name": "Baseline StudioX Policy", "priority": 10, "source": "Tenant" },
{ "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000002", "name": "Restricted StudioX Policy", "priority": 20, "source": "User" }
]
}
{
"Code": "AopsPolicyDeployedPolicyList",
"Data": [
{ "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000001", "name": "Baseline StudioX Policy", "priority": 10, "source": "Tenant" },
{ "policyIdentifier": "a1b2c3d4-0000-0000-0000-000000000002", "name": "Restricted StudioX Policy", "priority": 20, "source": "User" }
]
}
没有适用的规则时返回 []。
相关内容
uip gov— 工具概述和访问策略。aops-policy— 策略 CRUD、产品/许可证类型目录、模板。compliance-packs— 将策略捆绑到命名框架中。
另请参阅
- 概念
- 大纲
- uip gov aops 策略部署租户
- uip gov aops 策略部署租户列表
- uip gov aops 策略部署租户获取
- uip gov aops 策略部署租户配置
- uip gov aops 策略部署租户删除
- uip gov aops 策略部署用户
- uip gov aops 策略部署用户列表
- uip gov aops 策略部署用户获取
- uip gov aops 策略部署用户配置
- uip gov aops 策略部署用户删除
- uip gov aops 策略部署组
- uip gov aops 策略部署组列表
- uip gov aops 策略部署组获取
- uip gov aops 策略部署组配置
- uip gov aops 策略部署组删除
- uip gov aops 策略已部署策略
- uip gov aops 策略的已部署策略获取
- uip gov aops 策略已部署策略列表
- 相关内容
- 另请参阅