Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-04-08 GMT+08:00

Consulta de servidores protegidos contra el ransomware

Función

Esta API se utiliza para consultar la lista de servidores protegidos contra el ransomware. Esta API debe utilizarse junto con el Cloud Backup and Recovery (CBR). Asegúrese de que el sitio tenga CBR antes de utilizar API relacionadas con el ransomware.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

GET /v5/{project_id}/ransomware/server

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID de proyecto

Mínimo: 1

Máximo: 256

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

enterprise_project_id

No

String

ID de proyecto empresarial. Para consultar todos los proyectos empresariales, establezca este parámetro en all_granted_eps.

Valor predeterminado: 0

Mínimo: 1

Máximo: 256

offset

No

Integer

Desfase, que especifica la posición inicial del registro que se va a devolver. El valor debe ser un número no menor que 0. El valor predeterminado es 0.

Mínimo: 0

Máximo: 2000000

Valor predeterminado: 0

limit

No

Integer

Número de registros mostrados en cada página.

Mínimo: 10

Máximo: 200

Valor predeterminado: 10

host_name

No

String

Nombre del servidor

os_type

No

String

Tipo de sistema operativo. Su valor puede ser:

  • Linux

  • Windows

Mínimo: 0

Máximo: 64

host_ip

No

String

Dirección IP de servidor

Mínimo: 0

Máximo: 256

host_status

No

String

Estado del servidor. Su valor puede ser:

  • Si no se transfiere ningún parámetro, indica todos los elementos.

    • ACTIVE

    • SHUTOFF

Mínimo: 1

Máximo: 32

last_days

No

Integer

Cantidad de días en el rango de tiempo de consulta. Para consultar registros de los últimos siete días, establezca last_days=7. Si no se especifica este parámetro, se consultan de forma predeterminada los eventos y las copias de respaldo existentes en el último día.

Mínimo: 1

Máximo: 30

Parámetros de solicitud

Tabla 3 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Mínimo: 1

Máximo: 32768

region

String

ID de región

Mínimo: 0

Máximo: 128

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

total_num

Integer

Número total

Mínimo: 0

Máximo: 2097152

data_list

Array of ProtectionServerInfo objects

Consultar los servidores protegidos contra el ransomware.

Longitud de la matriz: 0 - 10241

Tabla 5 ProtectionServerInfo

Parámetro

Tipo

Descripción

host_id

String

ID del servidor

Mínimo: 0

Máximo: 128

agent_id

String

ID de agente

Mínimo: 0

Máximo: 128

host_name

String

Nombre del servidor

Mínimo: 0

Máximo: 128

host_ip

String

EIP

Mínimo: 0

Máximo: 128

private_ip

String

Dirección IP privada

Mínimo: 0

Máximo: 128

os_type

String

Tipo de sistema operativo. Su valor puede ser:

  • Linux

  • Windows

Mínimo: 0

Máximo: 128

os_name

String

Nombre de sistema operativo

Mínimo: 0

Máximo: 128

host_status

String

Estado del servidor. Las opciones son las siguientes:

  • ACTIVE

  • SHUTOFF

Mínimo: 1

Máximo: 32

ransom_protection_status

String

Estado de protección contra ransomware. Las opciones son las siguientes:

  • closed

  • opened

  • opening: se está habilitando la función.

  • closing: se está deshabilitando la función.

Mínimo: 0

Máximo: 128

agent_version

String

Versión del agente

Mínimo: 1

Máximo: 128

protect_status

String

Estado de protección. Su valor puede ser:

  • closed

  • opened: protección habilitada

Mínimo: 1

Máximo: 32

group_id

String

ID de grupo de servidores

Mínimo: 1

Máximo: 128

group_name

String

Nombre del grupo de servidores

Mínimo: 1

Máximo: 128

protect_policy_id

String

ID de política

Mínimo: 1

Máximo: 128

protect_policy_name

String

Nombre de la política de protección

Mínimo: 1

Máximo: 128

backup_error

backup_error object

Mensaje de error de copia de respaldo

backup_protection_status

String

Si se debe habilitar la copia de respaldo. Las opciones son las siguientes:

  • failed_to_turn_on_backup: no se puede habilitar la copia de respaldo.

  • closed

  • opened

Mínimo: 0

Máximo: 128

count_protect_event

Integer

Número de eventos de protección

Mínimo: 0

Máximo: 2097152

count_backuped

Integer

Copias de respaldo existentes

Mínimo: 0

Máximo: 2097152

agent_status

String

Estado de Agent

Mínimo: 1

Máximo: 128

version

String

Edición de HSS. Su valor puede ser:

  • hss.version.null

  • hss.version.basic: basic edition

  • hss.version.advanced: professional edition

  • hss.version.enterprise: enterprise edition

  • hss.version.premium: premium edition

  • hss.version.wtp: WTP edition

  • hss.version.container.enterprise: container edition

Mínimo: 1

Máximo: 32

host_source

String

Indica el tipo de servidor. Las opciones son las siguientes:

  • ecs :

  • outside: servidores locales

  • workspace: escritorio en nube

Mínimo: 1

Máximo: 32

vault_id

String

ID de almacén

Mínimo: 0

Máximo: 128

vault_name

String

Nombre de almacén

Mínimo: 0

Máximo: 128

vault_size

Integer

Capacidad total, en GB.

Mínimo: 0

Máximo: 2097152

vault_used

Integer

Capacidad utilizada, en MB.

Mínimo: 0

Máximo: 2097152

vault_allocated

Integer

Capacidad asignada del servidor vinculado, en GB.

Mínimo: 0

Máximo: 2097152

vault_charging_mode

String

En el modo repositorio, el valor puede ser post_paid (pago por uso) o pre_paid.

Mínimo: 0

Máximo: 128

vault_status

String

El estado del almacén puede ser:

  • available

  • lock

  • frozen

  • deleting

  • error

Mínimo: 0

Máximo: 128

backup_policy_id

String

Especifica el ID de la política de copia de respaldo. Si este parámetro está vacío, la política de copia de respaldo no está vinculada. Si este parámetro no está vacío, verifique si la política de copia de respaldo está habilitada según el campo backup_policy_enabled.

Mínimo: 1

Máximo: 128

backup_policy_name

String

Nombre de política de copia de respaldo

Mínimo: 1

Máximo: 128

backup_policy_enabled

Boolean

Si la política está habilitada

resources_num

Integer

Servidores vinculados

Mínimo: 0

Máximo: 2097152

Tabla 6 backup_error

Parámetro

Tipo

Descripción

error_code

Integer

Código de error. Las opciones son las siguientes:

  • 0: No hay información de error.

  • 1: No se puede habilitar la copia de respaldo porque se ha vinculado otro almacén.

  • 2: La cantidad de almacenes de copia de respaldo supera el límite superior.

  • 3: Se produce una excepción cuando se invoca a la API de CBR.

Mínimo: 0

Máximo: 128

error_description

String

Descripción del error

Mínimo: 1

Máximo: 128

Solicitudes de ejemplo

Consultar la lista de servidores de protección contra ransomware. Si no se establece el parámetro de límite, se devuelven 10 registros de forma predeterminada.

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

Ejemplo de respuestas

Código de estado: 200

Lista de servidores protegidos contra el ransomware

{
  "total_num" : 1,
  "data_list" : [ {
    "agent_id" : "2758d2a61598fd9144cfa6b201049e7c0af8c3f1280cd24e3ec95a2f0811a2a2",
    "agent_status" : "online",
    "backup_error" : {
      "error_code" : 1,
      "error_description" : "Backup cannot be enabled because another vault has been bound."
    },
    "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"
  } ]
}

Código de ejemplo del SDK

El código de ejemplo del SDK es el siguiente.

Java

 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
48
49
50
51
52
53
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");

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

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListProtectionServerRequest request = new ListProtectionServerRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        request.withHostName("<host_name>");
        request.withOsType("<os_type>");
        request.withHostIp("<host_ip>");
        request.withHostStatus("<host_status>");
        request.withLastDays(<last_days>);
        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());
        }
    }
}

Python

 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
# coding: utf-8

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 = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

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

    try:
        request = ListProtectionServerRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.offset = <offset>
        request.limit = <limit>
        request.host_name = "<host_name>"
        request.os_type = "<os_type>"
        request.host_ip = "<host_ip>"
        request.host_status = "<host_status>"
        request.last_days = <last_days>
        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)

Go

 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
48
49
50
51
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")

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

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

    request := &model.ListProtectionServerRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	hostNameRequest:= "<host_name>"
	request.HostName = &hostNameRequest
	osTypeRequest:= "<os_type>"
	request.OsType = &osTypeRequest
	hostIpRequest:= "<host_ip>"
	request.HostIp = &hostIpRequest
	hostStatusRequest:= "<host_status>"
	request.HostStatus = &hostStatusRequest
	lastDaysRequest:= int32(<last_days>)
	request.LastDays = &lastDaysRequest
	response, err := client.ListProtectionServer(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más información

Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en API Explorer. El código de ejemplo del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

200

Lista de servidores protegidos contra el ransomware

Códigos de error

Consulte Códigos de error.