注册模型组
要注册模型组,请向 _register
端点发送一个 POST
请求。您可以以 public
、private
或 restricted
访问模式注册模型组。
集群中每个模型组名称必须是全局唯一的。
有关更多信息,请参阅模型访问控制。
路径和 HTTP 方法
POST /_plugins/_ml/model_groups/_register
请求正文字段
下表列出了可用的请求字段。
字段 | 数据类型 | 描述 |
---|---|---|
名称 | 字符串 | 模型组名称。必需。 |
description | 字符串 | 模型组描述。可选。 |
access_mode | 字符串 | 此模型的访问模式。有效值包括 public 、private 和 restricted 。当此参数设置为 restricted 时,您必须指定 backend_roles 或 add_all_backend_roles ,但不能两者都指定。可选。如果您未指定任何安全参数(access_mode 、backend_roles 和 add_all_backend_roles ),则默认的 access_mode 为 private 。 |
backend_roles | 数组 | 要添加到模型的模型所有者的后端角色列表。只能在 access_mode 为 restricted 时指定。不能与 add_all_backend_roles 同时指定。可选。 |
add_all_backend_roles | 布尔型 | 如果为 true ,则模型所有者的所有后端角色都将添加到模型组。默认值为 false 。不能与 backend_roles 同时指定。管理员用户无法将此参数设置为 true 。可选。 |
请求示例
POST /_plugins/_ml/model_groups/_register
{
"name": "test_model_group_public",
"description": "This is a public model group",
"access_mode": "public"
}
示例响应
{
"model_group_id": "GDNmQ4gBYW0Qyy5ZcBcg",
"status": "CREATED"
}
响应正文字段
下表列出了可用的响应字段。
字段 | 数据类型 | 描述 |
---|---|---|
模型组 ID | 字符串 | 可用于访问此模型组的模型组 ID。 |
status | 字符串 | 操作状态。 |
注册公共模型组
如果您注册一个具有 public
访问模式的模型组,则该模型组中的任何模型都将对有权访问集群的任何用户可见。以下请求注册了一个公共模型组
POST /_plugins/_ml/model_groups/_register
{
"name": "test_model_group_public",
"description": "This is a public model group",
"access_mode": "public"
}
注册受限模型组
要根据后端角色限制访问,您必须使用 restricted
访问模式注册模型组。
注册模型组时,您必须使用以下两种方法之一(但不能同时使用)将一个或多个后端角色附加到模型:- 在 backend_roles
参数中提供后端角色列表。- 将 add_all_backend_roles
参数设置为 true
,以将您的所有后端角色添加到模型组。此选项对管理员用户不可用。
任何与模型组共享后端角色的用户都可以访问该模型组中的任何模型。这会授予用户与映射到后端角色的用户角色一同包含的权限。
管理员用户可以访问所有模型组,无论其访问模式如何。
示例请求:后端角色列表
以下请求注册了一个受限模型组,只有具有 IT
后端角色的用户才能访问
POST /_plugins/_ml/model_groups/_register
{
"name": "model_group_test",
"description": "This is an example description",
"access_mode": "restricted",
"backend_roles" : ["IT"]
}
示例请求:所有后端角色
以下请求注册了一个受限模型组,并将用户的所有后端角色添加到模型组
POST /_plugins/_ml/model_groups/_register
{
"name": "model_group_test",
"description": "This is an example description",
"access_mode": "restricted",
"add_all_backend_roles": "true"
}
注册私有模型组
如果您注册一个具有 private
访问模式的模型组,则该模型组中的任何模型都将仅对您和管理员用户可见。以下请求注册了一个私有模型组
POST /_plugins/_ml/model_groups/_register
{
"name": "model_group_test",
"description": "This is an example description",
"access_mode": "private"
}
如果您未指定任何 access_mode
、backend_roles
或 add_all_backend_roles
,则模型将具有 private
访问模式
POST /_plugins/_ml/model_groups/_register
{
"name": "model_group_test",
"description": "This is an example description"
}
在禁用模型访问控制的集群中注册模型组
如果您的集群上禁用了模型访问控制(未满足其中一项先决条件),您可以注册一个具有 name
和 description
的模型组,但不能指定任何访问参数(model_access_name
、backend_roles
或 add_backend_roles
)。默认情况下,在此类集群中,所有模型组都是公共的。