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

Desbloqueo de una dirección IP bloqueada

Función

Esta API se utiliza para desbloquear una dirección IP bloqueada.

Método de invocación

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

URI

PUT /v5/{project_id}/event/blocked-ip

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID de proyecto

Mínimo: 20

Máximo: 64

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.

Mínimo: 0

Máximo: 64

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

Tabla 4 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

data_list

No

Array of BlockedIpRequestInfo objects

Lista de direcciones IP que deben desbloquearse

Longitud de matriz: 1 - 100

Tabla 5 BlockedIpRequestInfo

Parámetro

Obligatorio

Tipo

Descripción

host_id

String

ID de host

src_ip

String

Dirección IP de origen de ataque

login_type

String

Tipo de inicio de sesión. Las opciones son las siguientes:

  • "mysql" # MySQL service

  • "rdp" # RDP service

  • "ssh" # SSH service

  • "vsftp" # vsftp service

Parámetros de respuesta

Ninguno

Solicitudes de ejemplo

Eliminar la dirección IP 192.168.1.6 bloqueada del host af423efds-214432fgsdaf-gfdsaggbvf en modo SSH.

PUT https://{endpoint}/v5/{project_id}/event/blocked-ip

{
  "data_list" : [ {
    "host_id" : "af423efds-214432fgsdaf-gfdsaggbvf",
    "src_ip" : "192.168.1.6",
    "login_type" : "ssh"
  } ]
}

Ejemplo de respuestas

Ninguna

Código de ejemplo del SDK

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

Java

Eliminar la dirección IP 192.168.1.6 bloqueada del host af423efds-214432fgsdaf-gfdsaggbvf en modo SSH.

 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
54
55
56
57
58
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.*;

import java.util.List;
import java.util.ArrayList;

public class ChangeBlockedIpSolution {

    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();
        ChangeBlockedIpRequest request = new ChangeBlockedIpRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        ChangeBlockedIpRequestInfo body = new ChangeBlockedIpRequestInfo();
        List<BlockedIpRequestInfo> listbodyDataList = new ArrayList<>();
        listbodyDataList.add(
            new BlockedIpRequestInfo()
                .withHostId("af423efds-214432fgsdaf-gfdsaggbvf")
                .withSrcIp("192.168.1.6")
                .withLoginType("ssh")
        );
        body.withDataList(listbodyDataList);
        request.withBody(body);
        try {
            ChangeBlockedIpResponse response = client.changeBlockedIp(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

Eliminar la dirección IP 192.168.1.6 bloqueada del host af423efds-214432fgsdaf-gfdsaggbvf en modo SSH.

 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
# 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 = ChangeBlockedIpRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        listDataListbody = [
            BlockedIpRequestInfo(
                host_id="af423efds-214432fgsdaf-gfdsaggbvf",
                src_ip="192.168.1.6",
                login_type="ssh"
            )
        ]
        request.body = ChangeBlockedIpRequestInfo(
            data_list=listDataListbody
        )
        response = client.change_blocked_ip(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

Eliminar la dirección IP 192.168.1.6 bloqueada del host af423efds-214432fgsdaf-gfdsaggbvf en modo SSH.

 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 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.ChangeBlockedIpRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	var listDataListbody = []model.BlockedIpRequestInfo{
        {
            HostId: "af423efds-214432fgsdaf-gfdsaggbvf",
            SrcIp: "192.168.1.6",
            LoginType: "ssh",
        },
    }
	request.Body = &model.ChangeBlockedIpRequestInfo{
		DataList: &listDataListbody,
	}
	response, err := client.ChangeBlockedIp(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

Respuesta exitosa

Códigos de error

Consulte Códigos de error.