文档首页/ 企业主机安全 HSS/ API参考/ API说明/ 勒索防护/ 查询勒索防护服务器列表2.0
更新时间:2025-08-15 GMT+08:00
分享

查询勒索防护服务器列表2.0

功能介绍

查询勒索防护服务器列表,与云备份服务配合使用。因此使用勒索相关接口之前确保该局点有云备份服务

调用方法

请参见如何调用API

URI

GET /v5/{project_id}/ransomware/servers

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产。获取方式请参见获取项目ID

约束限制:

不涉及

取值范围:

字符长度1-256位

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

参数解释:

企业项目ID,用于过滤不同企业项目下的资产。获取方式请参见获取企业项目ID

如需查询所有企业项目下的资产请传参“all_granted_eps”。

约束限制:

开通企业项目功能后才需要配置企业项目ID参数。

取值范围:

字符长度1-256位

默认取值:

0,表示默认企业项目(default)。

offset

Integer

参数解释:

偏移量:指定返回记录的开始位置

约束限制:

不涉及

取值范围:

最小值0,最大值2000000

默认取值:

不涉及

limit

Integer

参数解释:

每页显示个数

约束限制:

不涉及

取值范围:

取值10-200

默认取值:

10

host_name

String

服务器名称

host_id

String

服务器ID

os_type

String

操作系统类型,包含如下2种。

  • Linux :Linux。

  • Windows :Windows。

host_ip

String

服务器IP地址,服务器公网IP地址

private_ip

String

服务器私有IP

host_status

String

主机状态,包含如下3种。

  • 不传参默认为全部。

  • ACTIVE :正在运行。

  • SHUTOFF :关机。

ransom_protection_status

String

勒索防护状态,包含如下6种。

  • closed :未开启。

  • opened :防护中。

  • opening :开启中。

  • closing :关闭中。

  • protect_failed:防护失败。

  • protect_degraded:防护降级。

protect_policy_name

String

勒索防护策略名称

policy_name

String

防护策略名称

policy_id

String

防护策略id

agent_status

String

Agent状态

group_id

String

服务器组ID

group_name

String

服务器组名称

last_days

Long

查询时间范围天数,1~30天,若不填,则默认查询一天

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token,包含了用户的身份、权限等信息,在调用API接口时,可通过Token进行身份认证。获取方式请参见获取用户Token

约束限制:

不涉及

取值范围:

字符长度1-32768位

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

参数解释:

总数

取值范围:

取值0-65535

data_list

Array of ProtectionServerInfo objects

参数解释:

查询勒索防护服务器列表

取值范围:

取值0-65535个ProtectionServerInfo对象

表5 ProtectionServerInfo

参数

参数类型

描述

project_id

String

参数解释:

项目ID

取值范围:

字符长度0-128

enterprise_project_id

String

参数解释:

企业项目ID

取值范围:

字符长度0-128

host_id

String

参数解释:

服务器ID

取值范围:

字符长度0-128

agent_id

String

参数解释:

Agent ID

取值范围:

字符长度0-128

host_name

String

参数解释:

服务器名称

取值范围:

字符长度0-128

host_ip

String

参数解释:

弹性公网IP地址

取值范围:

字符长度0-128

private_ip

String

参数解释:

私有IP地址

取值范围:

字符长度0-128

os_type

String

参数解释:

操作系统类型

取值范围:

包含如下2种。

- Linux :Linux。

- Windows :Windows。

os_name

String

参数解释:

系统名称

取值范围:

字符长度0-128

host_status

String

参数解释:

服务器状态

取值范围:

包含如下2种。

  • ACTIVE :运行中。

  • SHUTOFF :关机。

ransom_protection_status

String

参数解释:

勒索防护状态

取值范围:

包含如下6种。

  • closed :未开启。

  • opened :防护中。

  • opening :开启中。

  • closing :关闭中。

  • protect_failed:防护失败。

  • protect_degraded:防护降级

ransom_protection_fail_reason

String

参数解释:

勒索防护失败细分原因

取值范围:

包含如下4种。

  • driver_load_failed :驱动加载失败。

  • protect_interrupted :防护中断。

  • decoy_deploy_totally_failed :全部诱饵部署失败。

  • decoy_deploy_partially_failed :部分诱饵部署失败。

failed_decoy_dir

String

参数解释:

诱饵防护失败的目录(仅部分诱饵部署失败状态有值)

取值范围:

字符长度0-512

agent_version

String

参数解释:

agent版本

取值范围:

字符长度1-128

protect_status

String

参数解释:

防护状态

取值范围:

包含如下2种。

  • closed :未防护。

  • opened :防护中。

group_id

String

参数解释:

服务器组ID

取值范围:

字符长度1-128

group_name

String

参数解释:

服务器组名称

取值范围:

字符长度1-128

protect_policy_id

String

参数解释:

防护策略ID

取值范围:

字符长度1-128

protect_policy_name

String

参数解释:

防护策略名称

取值范围:

字符长度1-128

backup_error

backup_error object

备份错误信息

backup_protection_status

String

参数解释:

是否开启备份

取值范围:

包含如下3种。

  • failed_to_turn_on_backup: 无法开启备份

  • closed :关闭。

  • opened :开启。

count_protect_event

Integer

参数解释:

防护事件数

取值范围:

取值0-2097152

count_backuped

Integer

参数解释:

已有备份数

取值范围:

取值0-2097152

agent_status

String

参数解释:

Agent状态

取值范围:

字符长度1-128

version

String

参数解释:

主机开通的版本

取值范围:

包含如下7种输入:

  • hss.version.null :无。

  • hss.version.basic :基础版。

  • hss.version.advanced :专业版。

  • hss.version.enterprise :企业版。

  • hss.version.premium :旗舰版。

  • hss.version.wtp :网页防篡改版。

  • hss.version.container.enterprise :容器版。

host_source

String

参数解释:

服务器类型

取值范围:

包含如下3种输入:

  • ecs :弹性云服务器。

  • outside :线下主机。

  • workspace :云桌面。

vault_id

String

参数解释:

存储库ID

取值范围:

字符长度0-128

vault_name

String

参数解释:

存储库名称

取值范围:

字符长度0-128

vault_size

Integer

参数解释:

总容量,单位GB

取值范围:

取值0-2097152

vault_used

Integer

参数解释:

已使用容量,单位MB

取值范围:

取值0-2097152

vault_allocated

Integer

参数解释:

已分配容量,单位GB,指绑定的服务器大小

取值范围:

取值0-2097152

vault_charging_mode

String

参数解释:

存储库创建模式

取值范围:

包含如下2种:

  • 按需:post_paid

  • 包周期:pre_paid

vault_status

String

参数解释:

存储库状态。

取值范围:

包含如下5种:

  • available :可用。

  • lock :被锁定。

  • frozen:冻结。

  • deleting:删除中。

  • error:错误。

backup_policy_id

String

参数解释:

备份策略ID,若为空,则为未绑定状态,若不为空,通过backup_policy_enabled字段判断策略是否启用。

取值范围:

字符长度1-128

backup_policy_name

String

参数解释:

备份策略名称

取值范围:

字符长度1-128

backup_policy_enabled

Boolean

参数解释:

策略是否启用

取值范围:

包含如下2种:

  • true :策略已启用。

  • false :策略未启用。

resources_num

Integer

参数解释:

已绑定服务器(个)

取值范围:

取值0-2097152

表6 backup_error

参数

参数类型

描述

error_code

Integer

参数解释:

错误编码

取值范围:

包含如下4种。

  • 0 :无错误信息。

  • 1 :已綁定至其它存储库,无法开启备份。

  • 2 :备份库已超过最大限额。

  • 3 :CBR接口调用异常。

error_description

String

参数解释:

错误描述

取值范围:

字符长度1-128

请求示例

响应示例

状态码:200

请求已成功

{
  "total_num" : 1,
  "data_list" : [ {
    "agent_id" : "2758d2a61598fd9144cfa6b201049e7c0af8c3f1280cd24e3ec95a2f0811a2a2",
    "agent_status" : "online",
    "backup_error" : {
      "error_code" : 1,
      "error_description" : "已綁定至其它存储库,无法开启备份"
    },
    "ransom_protection_status" : "opened",
    "backup_protection_status" : "failed_to_turn_on_backup",
    "count_backuped" : 0,
    "count_protect_event" : 0,
    "group_id" : "7c659ea3-006f-4687-9f1c-6d975d955f37",
    "group_name" : "333",
    "host_id" : "caa958ad-a481-4d46-b51e-6861b8864515",
    "host_ip" : "100.85.119.68",
    "host_name" : "Euler",
    "host_status" : "ACTIVE",
    "os_name" : "EulerOS",
    "os_type" : "Linux",
    "private_ip" : "100.85.123.9",
    "protect_policy_id" : "0253edfd-30e7-439d-8f3f-17c54c99706",
    "protect_policy_name" : "tst",
    "protect_status" : "opened"
  } ]
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.hss.v5.region.HssRegion;
import com.huaweicloud.sdk.hss.v5.*;
import com.huaweicloud.sdk.hss.v5.model.*;


public class ListRansomwareProtectionNodesSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListRansomwareProtectionNodesRequest request = new ListRansomwareProtectionNodesRequest();
        try {
            ListRansomwareProtectionNodesResponse response = client.listRansomwareProtectionNodes(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhss.v5.region.hss_region import HssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkhss.v5 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = HssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(HssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListRansomwareProtectionNodesRequest()
        response = client.list_ransomware_protection_nodes(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListRansomwareProtectionNodesRequest{}
	response, err := client.ListRansomwareProtectionNodes(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

请求已成功

错误码

请参见错误码

相关文档