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

查询勒索防护服务器列表

功能介绍

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

调用方法

请参见如何调用API

URI

GET /v5/{project_id}/ransomware/server

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID,查询所有企业项目时填写:all_granted_eps

offset

Integer

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

limit

Integer

每页显示个数

host_name

String

服务器名称

os_type

String

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

  • Linux :Linux。

  • Windows :Windows。

host_ip

String

服务器IP地址

host_status

String

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

  • 不传参默认为全部。

  • ACTIVE :正在运行。

  • SHUTOFF :关机。

last_days

Integer

查询时间范围天数,最近7天为last_days=7,若不填,则默认查询一天内的防护事件和已有备份数

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)

region

String

Region ID

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

总数

data_list

Array of ProtectionServerInfo objects

查询勒索防护服务器列表

表5 ProtectionServerInfo

参数

参数类型

描述

host_id

String

服务器ID

agent_id

String

Agent ID

host_name

String

服务器名称

host_ip

String

弹性公网IP地址

private_ip

String

私有IP地址

os_type

String

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

  • Linux :Linux。

  • Windows :Windows。

os_name

String

系统名称

host_status

String

服务器状态,包含如下2种。

  • ACTIVE :运行中。

  • SHUTOFF :关机。

ransom_protection_status

String

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

  • closed :关闭。

  • opened :开启。

  • opening :开启中。

  • closing :关闭中。

agent_version

String

agent版本

protect_status

String

防护状态,包含如下2种。

  • closed :未防护。

  • opened :防护中。

group_id

String

服务器组ID

group_name

String

服务器组名称

protect_policy_id

String

防护策略ID

protect_policy_name

String

防护策略名称

backup_error

backup_error object

备份错误信息

backup_protection_status

String

是否开启备份,包含如下3种。

  • failed_to_turn_on_backup: 无法开启备份

  • closed :关闭。

  • opened :开启。

count_protect_event

Integer

防护事件数

count_backuped

Integer

已有备份数

agent_status

String

Agent状态

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 :ecs。

  • outside :线下主机。

  • workspace :云桌面。

vault_id

String

存储库ID

vault_name

String

存储库名称

vault_size

Integer

总容量,单位GB

vault_used

Integer

已使用容量,单位MB

vault_allocated

Integer

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

vault_charging_mode

String

存储库创建模式,按需:post_paid,包周期:pre_paid

vault_status

String

存储库状态。

  • available :可用。

  • lock :被锁定。

  • frozen:冻结。

  • deleting:删除中。

  • error:错误。

backup_policy_id

String

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

backup_policy_name

String

备份策略名称

backup_policy_enabled

Boolean

策略是否启用

resources_num

Integer

已绑定服务器(个)

表6 backup_error

参数

参数类型

描述

error_code

Integer

错误编码,包含如下2种。

  • 0 :无错误信息。

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

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

  • 3 :CBR接口调用异常。

error_description

String

错误描述

请求示例

查询勒索防护服务器列表,不传limit默认返回10条。

GET https://{endpoint}/v5/{project_id}/ransomware/server

响应示例

状态码: 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 ListProtectionServerSolution {

    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();
        ListProtectionServerRequest request = new ListProtectionServerRequest();
        try {
            ListProtectionServerResponse response = client.listProtectionServer(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 = ListProtectionServerRequest()
        response = client.list_protection_server(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.ListProtectionServerRequest{}
	response, err := client.ListProtectionServer(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

勒索病毒防护服务器列表

错误码

请参见错误码

相关文档