Consulta da lista de intrusões detectadas
Função
Essa API é usada para consultar a lista de intrusões detectadas.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v5/{project_id}/event/events
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto Mínimo: 20 Máximo: 64 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
category |
Sim |
String |
Categoria do evento. Seu valor pode ser:
Mínimo: 0 Máximo: 32 |
enterprise_project_id |
Não |
String |
ID do projeto empresarial. Para consultar todos os projetos empresariais, defina este parâmetro como all_granted_eps. Mínimo: 0 Máximo: 64 |
last_days |
Não |
Integer |
Número de dias a serem consultados. Este parâmetro é mutuamente exclusivo com begin_time e end_time. Mínimo: 1 Máximo: 30 |
host_name |
Não |
String |
Nome de servidor Mínimo: 1 Máximo: 64 |
host_id |
Não |
String |
ID do host Mínimo: 0 Máximo: 64 |
private_ip |
Não |
String |
Endereço IP do servidor Mínimo: 1 Máximo: 256 |
public_ip |
Não |
String |
Endereço IP público do servidor Mínimo: 1 Máximo: 256 |
container_name |
Não |
String |
Nome da instância do container |
offset |
Não |
Integer |
Deslocamento, que especifica a posição inicial do registro a ser retornado. O valor deve ser um número. Mínimo: 0 Máximo: 2000000 Padrão: 0 |
limit |
Não |
Integer |
Número de registros exibidos em cada página Mínimo: 10 Máximo: 1000 Padrão: 10 |
event_types |
Não |
Array |
Tipo de evento. Seu valor pode ser:
Mínimo: 1000 Máximo: 30000 Comprimento da matriz: 1–500 |
handle_status |
Não |
String |
Status. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
severity |
Não |
String |
Nível de ameaça. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
begin_time |
Não |
String |
Hora de início personalizada de um segmento. O carimbo de data/hora tem precisão de segundos. O begin_time não deve ser mais do que dois dias antes do end_time. Este parâmetro é mutuamente exclusivo com a duração consultada. Mínimo: 13 Máximo: 13 |
end_time |
Não |
String |
Hora de término personalizada de um segmento. O carimbo de data/hora tem precisão de segundos. O begin_time não deve ser mais do que dois dias antes do end_time. Este parâmetro é mutuamente exclusivo com a duração consultada. Mínimo: 13 Máximo: 13 |
event_class_ids |
Não |
Array |
ID do evento. Seu valor pode ser:
Comprimento da matriz: 1–200 |
severity_list |
Não |
Array |
Nível de ameaça. As opções são as seguintes:
Mínimo: 0 Máximo: 32 Comprimento da matriz: 0–5 |
attack_tag |
Não |
String |
Indica o sinalizador de ataque. As opções são as seguintes:
Mínimo: 0 Máximo: 32 |
asset_value |
Não |
String |
Importância de ativo. As opções são as seguintes:
Mínimo: 0 Máximo: 128 |
tag_list |
Não |
Array |
Lista de tags de evento, por exemplo, ["hot event"]. Mínimo: 0 Máximo: 10 Comprimento da matriz: 0–20 |
att_ck |
Não |
String |
Estágio de ataque ATT&CK, incluindo:
Mínimo: 0 Máximo: 32 |
event_name |
Não |
String |
Nome do alarme Mínimo: 1 Máximo: 128 |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. Mínimo: 1 Máximo: 32768 |
region |
Sim |
String |
ID da região Mínimo: 0 Máximo: 128 |
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
total_num |
Integer |
Número total de eventos de alarme Mínimo: 0 Máximo: 2147483647 |
data_list |
Array of EventManagementResponseInfo objects |
Lista de eventos Comprimento da matriz: 0–1000 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
event_id |
String |
ID do evento |
event_class_id |
String |
Categoria do evento. Seu valor pode ser:
|
event_type |
Integer |
Tipo de evento. Seu valor pode ser:
|
event_name |
String |
Nome do evento |
severity |
String |
Nível de ameaça. Seu valor pode ser:
|
container_name |
String |
Nome da instância do container. Esta API está disponível apenas para alarmes de container. |
image_name |
String |
Nome da imagem. Esta API está disponível apenas para alarmes de container. |
host_name |
String |
Nome de servidor |
host_id |
String |
ID do host |
private_ip |
String |
Endereço IP privado de servidor |
public_ip |
String |
Endereço IP elástico |
os_type |
String |
Tipo de SO. Seu valor pode ser:
|
host_status |
String |
Status do servidor. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
agent_status |
String |
Status de agente. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
protect_status |
String |
Status de proteção. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
asset_value |
String |
Importância de ativo. As opções são as seguintes:
Mínimo: 0 Máximo: 128 |
attack_phase |
String |
Fase de ataque. Seu valor pode ser:
|
attack_tag |
String |
Tag de ataque. Seu valor pode ser:
|
occur_time |
Integer |
Tempo de ocorrência, com precisão de milissegundos. |
handle_time |
Integer |
Tempo de manipulação, em milissegundos. Esta API está disponível apenas para alarmes manipulados. |
handle_status |
String |
Status de processamento. Seu valor pode ser:
|
handle_method |
String |
Método de manipulação. Esta API está disponível apenas para alarmes manipulados. As opções são as seguintes:
|
handler |
String |
Observações. Esta API está disponível apenas para alarmes manipulados. |
operate_accept_list |
Array of strings |
Operação de processamento suportada |
operate_detail_list |
Array of EventDetailResponseInfo objects |
Lista de detalhes da operação (não exibida na página) Comprimento da matriz: 0–100 |
forensic_info |
Object |
Informações de ataque, em formato JSON. |
resource_info |
EventResourceResponseInfo object |
Informações de recurso |
geo_info |
Object |
Localização geográfica, em formato JSON. |
malware_info |
Object |
Informações de malware, em formato JSON. |
network_info |
Object |
Informações de rede, em formato JSON. |
app_info |
Object |
Informações da aplicação, em formato JSON. |
system_info |
Object |
Informações do sistema, em formato JSON. |
extend_info |
Object |
Informações de evento estendidas, no formato JSON |
recommendation |
String |
Sugestões de manipulação |
description |
String |
Descrição do alarme Mínimo: 0 Máximo: 1024 |
event_abstract |
String |
Resumo do evento Mínimo: 0 Máximo: 512 |
process_info_list |
Array of EventProcessResponseInfo objects |
Lista de informações do processo Comprimento da matriz: 0–100 |
user_info_list |
Array of EventUserResponseInfo objects |
Lista de informações do usuário Comprimento da matriz: 0–100 |
file_info_list |
Array of EventFileResponseInfo objects |
Lista de informações do arquivo Comprimento da matriz: 0–100 |
event_details |
String |
Breve descrição do evento. Mínimo: 0 Máximo: 204800 |
tag_list |
Array of strings |
Tags Mínimo: 0 Máximo: 10 Comprimento da matriz: 0–20 |
event_count |
Integer |
Ocorrências de eventos Mínimo: 0 Máximo: 2147483647 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
agent_id |
String |
ID do agente |
process_pid |
Integer |
ID do processo |
is_parent |
Boolean |
Se um processo é um processo pai |
file_hash |
String |
Hash de arquivo |
file_path |
String |
Caminho do arquivo |
file_attr |
String |
Atributo de arquivo |
private_ip |
String |
Endereço IP privado de servidor |
login_ip |
String |
Endereço IP de origem de logon |
login_user_name |
String |
Nome de usuário de logon |
keyword |
String |
Palavra-chave de evento de alarme, que é usada apenas para a lista branca de alarmes. |
hash |
String |
Hash de evento de alarme, que é usado apenas para a lista branca de alarme. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
domain_id |
String |
ID da conta de usuário |
project_id |
String |
ID do projeto |
enterprise_project_id |
String |
ID do projeto empresarial |
region_name |
String |
Nome da região |
vpc_id |
String |
ID de VPC |
cloud_id |
String |
ID do ECS |
vm_name |
String |
Nome da VM |
vm_uuid |
String |
Especifica o UUID da VM, ou seja, o ID do host. |
container_id |
String |
ID do container |
container_status |
String |
Status do container |
pod_uid |
String |
UID do pod |
pod_name |
String |
Nome do pod |
namespace |
String |
namespace |
cluster_id |
String |
ID do cluster |
cluster_name |
String |
Nome do cluster |
image_id |
String |
ID da imagem |
image_name |
String |
Nome da imagem |
host_attr |
String |
Atributo do host |
service |
String |
Serviço |
micro_service |
String |
Microsserviço |
sys_arch |
String |
Arquitetura da CPU do sistema |
os_bit |
String |
Versão de bit do SO |
os_type |
String |
Tipo de SO |
os_name |
String |
Nome de SO |
os_version |
String |
Versão de SO |
Parâmetro |
Tipo |
Descrição |
---|---|---|
process_name |
String |
Nome do processo |
process_path |
String |
Caminho do arquivo de processo |
process_pid |
Integer |
ID do processo Mínimo: 0 Máximo: 2147483647 |
process_uid |
Integer |
ID do usuário do processo Mínimo: 0 Máximo: 2147483647 |
process_username |
String |
Nome de usuário do processo |
process_cmdline |
String |
Linha de comando do arquivo de processo |
process_filename |
String |
Nome do arquivo do processo |
process_start_time |
Long |
Hora de início do processo Mínimo: 0 Máximo: 9223372036854775807 |
process_gid |
Integer |
ID do grupo de processos Mínimo: 0 Máximo: 2147483647 |
process_egid |
Integer |
ID de grupo de processos válido Mínimo: 0 Máximo: 2147483647 |
process_euid |
Integer |
ID de usuário do processo válido Mínimo: 0 Máximo: 2147483647 |
ancestor_process_path |
String |
Caminho do arquivo de processo avô |
ancestor_process_pid |
Integer |
ID do processo avô Mínimo: 0 Máximo: 2147483647 |
ancestor_process_cmdline |
String |
Linha de comando do arquivo de processo avô |
parent_process_name |
String |
Nome do processo pai |
parent_process_path |
String |
Caminho do arquivo do processo pai |
parent_process_pid |
Integer |
ID do processo pai Mínimo: 0 Máximo: 2147483647 |
parent_process_uid |
Integer |
ID de usuário do processo pai Mínimo: 0 Máximo: 2147483647 |
parent_process_cmdline |
String |
Linha de comando do arquivo do processo pai |
parent_process_filename |
String |
Nome do arquivo do processo pai |
parent_process_start_time |
Long |
Hora de início do processo pai Mínimo: 0 Máximo: 9223372036854775807 |
parent_process_gid |
Integer |
ID do grupo de processos pai Mínimo: 0 Máximo: 2147483647 |
parent_process_egid |
Integer |
ID do grupo de processos pai válido Mínimo: 0 Máximo: 2147483647 |
parent_process_euid |
Integer |
ID de usuário do processo pai válido Mínimo: 0 Máximo: 2147483647 |
child_process_name |
String |
Nome do subprocesso |
child_process_path |
String |
Caminho do arquivo do subprocesso |
child_process_pid |
Integer |
ID do subprocesso Mínimo: 0 Máximo: 2147483647 |
child_process_uid |
Integer |
ID do usuário do subprocesso Mínimo: 0 Máximo: 2147483647 |
child_process_cmdline |
String |
Linha de comando do arquivo do subprocesso |
child_process_filename |
String |
Nome do arquivo do subprocesso |
child_process_start_time |
Long |
Hora de início do subprocesso Mínimo: 0 Máximo: 9223372036854775807 |
child_process_gid |
Integer |
ID do grupo de subprocessos Mínimo: 0 Máximo: 2147483647 |
child_process_egid |
Integer |
ID de grupo de subprocessos válido Mínimo: 0 Máximo: 2147483647 |
child_process_euid |
Integer |
ID de usuário de subprocesso válido Mínimo: 0 Máximo: 2147483647 |
virt_cmd |
String |
Comando de virtualização |
virt_process_name |
String |
Nome do processo de virtualização |
escape_mode |
String |
Modo de escape |
escape_cmd |
String |
Comandos executados após o escape |
process_hash |
String |
Hash do arquivo de inicialização do processo |
process_file_hash |
String |
Hash do arquivo de processo |
parent_process_file_hash |
String |
Hash do arquivo do processo pai |
block |
Integer |
Indica se o bloqueio foi bem-sucedido. 1: sim 0: não Mínimo: 0 Máximo: 1 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
user_id |
Integer |
UID do usuário Mínimo: 0 Máximo: 2147483647 |
user_gid |
Integer |
GID do usuário Mínimo: 0 Máximo: 2147483647 |
user_name |
String |
Nome de usuário |
user_group_name |
String |
Nome do grupo de usuários |
user_home_dir |
String |
Diretório inicial do usuário |
login_ip |
String |
Endereço IP de logon do usuário |
service_type |
String |
Tipo de serviço. As opções são as seguintes:
|
service_port |
Integer |
Porta de serviço de logon Mínimo: 0 Máximo: 2147483647 |
login_mode |
Integer |
Modo de logon Mínimo: 0 Máximo: 2147483647 |
login_last_time |
Long |
Hora do último logon Mínimo: 0 Máximo: 9223372036854775807 |
login_fail_count |
Integer |
Número de tentativas de logon com falha Mínimo: 0 Máximo: 2147483647 |
pwd_hash |
String |
Hash de senha |
pwd_with_fuzzing |
String |
Senha mascarada |
pwd_used_days |
Integer |
Idade da senha (dias) Mínimo: 0 Máximo: 2147483647 |
pwd_min_days |
Integer |
Período mínimo de validade da senha Mínimo: 0 Máximo: 2147483647 |
pwd_max_days |
Integer |
Período máximo de validade da senha Mínimo: 0 Máximo: 2147483647 |
pwd_warn_left_days |
Integer |
Aviso prévio de expiração da senha (dias) Mínimo: 0 Máximo: 2147483647 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
file_path |
String |
Caminho do arquivo |
file_alias |
String |
Alias do arquivo |
file_size |
Integer |
Tamanho do arquivo Mínimo: 0 Máximo: 2147483647 |
file_mtime |
Long |
Hora em que um arquivo foi modificado pela última vez Mínimo: 0 Máximo: 9223372036854775807 |
file_atime |
Long |
Hora em que um arquivo foi acessado pela última vez Mínimo: 0 Máximo: 9223372036854775807 |
file_ctime |
Long |
Hora em que o status de um arquivo foi alterado pela última vez Mínimo: 0 Máximo: 9223372036854775807 |
file_hash |
String |
O valor de hash calculado usando o algoritmo SHA256. |
file_md5 |
String |
Arquivo MD5 |
file_sha256 |
String |
Arquivo SHA256 |
file_type |
String |
Tipo de arquivo |
file_content |
String |
Conteúdo do arquivo |
file_attr |
String |
Atributo de arquivo |
file_operation |
Integer |
Tipo de operação de arquivo Mínimo: 0 Máximo: 2147483647 |
file_action |
String |
Ação de arquivo |
file_change_attr |
String |
Atributo anterior/novo |
file_new_path |
String |
Novo caminho de arquivo |
file_desc |
String |
Descrição do arquivo |
file_key_word |
String |
Palavra-chave do arquivo |
is_dir |
Boolean |
Se é um diretório |
fd_info |
String |
Informações sobre o identificador de arquivo |
fd_count |
Integer |
Número de identificadores de arquivo Mínimo: 0 Máximo: 2147483647 |
Exemplo de solicitações
Consultar os primeiros 50 eventos de servidor não processados cujo projeto empresarial é xxx.
GET https://{endpoint}/v5/{project_id}/event/events?offset=0&limit=50&handle_status=unhandled&category=host&enterprise_project_id=xxx
Exemplo de respostas
Código de status: 200
Lista de intrusões
{ "total_num" : 1, "data_list" : [ { "attack_phase" : "exploit", "attack_tag" : "abnormal_behavior", "event_class_id" : "lgin_1002", "event_id" : "d8a12cf7-6a43-4cd6-92b4-aabf1e917", "event_name" : "different locations", "event_type" : 4004, "forensic_info" : { "country" : "China", "city" : "Lanzhou", "ip" : "127.0.0.1", "user" : "zhangsan", "sub_division" : "Gansu", "city_id" : 3110 }, "handle_status" : "unhandled", "host_name" : "xxx", "occur_time" : 1661593036627, "operate_accept_list" : [ "ignore" ], "operate_detail_list" : [ { "agent_id" : "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8", "file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "file_path" : "/usr/test", "process_pid" : 3123, "file_attr" : 33261, "keyword" : "file_path=/usr/test", "hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "login_ip" : "127.0.0.1", "private_ip" : "127.0.0.2", "login_user_name" : "root", "is_parent" : false } ], "private_ip" : "127.0.0.1", "resource_info" : { "region_name" : "", "project_id" : "", "enterprise_project_id" : "0", "os_type" : "Linux", "os_version" : "2.5", "vm_name" : "", "vm_uuid" : "71a15ecc", "cloud_id" : "", "container_id" : "", "container_status" : "running / terminated", "image_id" : "", "pod_uid" : "", "pod_name" : "", "namespace" : "", "cluster_id" : "", "cluster_name" : "" }, "severity" : "Medium", "extend_info" : "", "os_type" : "Linux", "agent_status" : "online", "asset_value" : "common", "protect_status" : "opened", "host_status" : "ACTIVE", "event_details" : "file_path:/root/test", "user_info_list" : [ { "login_ip" : "", "service_port" : 22, "service_type" : "ssh", "user_name" : "zhangsan", "login_mode" : 0, "login_last_time" : 1661593024, "login_fail_count" : 0 } ], "process_info_list" : [ { "process_path" : "/root/test", "process_name" : "test", "process_cmdline" : "/bin/bash", "process_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "process_filename" : "test", "process_file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "process_username" : "root", "process_pid" : 372612, "process_uid" : 10000, "process_gid" : 10000, "process_egid" : 10000, "process_euid" : 10000, "process_start_time" : 1661593024, "block" : 0, "parent_process_path" : "/usr/bin/bash", "parent_process_name" : "test", "parent_process_cmdline" : "/bin/bash", "parent_process_filename" : "test", "parent_process_file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "parent_process_pid" : 372612, "parent_process_uid" : 10000, "parent_process_gid" : 10000, "parent_process_egid" : 10000, "parent_process_euid" : 10000, "parent_process_start_time" : 1661593024, "child_process_path" : "/usr/bin/bash", "child_process_name" : "test", "child_process_cmdline" : "/bin/bash", "child_process_filename" : "test", "child_process_pid" : 372612, "child_process_uid" : 10000, "child_process_gid" : 10000, "child_process_egid" : 10000, "child_process_euid" : 10000, "child_process_start_time" : 1661593024, "virt_process_name" : "test", "virt_cmd" : "/bin/bash", "escape_cmd" : "/bin/bash", "escape_mode" : "0", "ancestor_process_pid" : 372612, "ancestor_process_cmdline" : "/bin/bash", "ancestor_process_path" : "/usr/bin/bash" } ], "description" : "", "event_abstract" : "", "tag_list" : [ "Hot Event" ] } ] }
Código de amostra do SDK
O código de amostra do SDK é o seguinte.
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
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 ListSecurityEventsSolution { 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(); ListSecurityEventsRequest request = new ListSecurityEventsRequest(); request.withCategory("<category>"); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withLastDays(<last_days>); request.withHostName("<host_name>"); request.withHostId("<host_id>"); request.withPrivateIp("<private_ip>"); request.withPublicIp("<public_ip>"); request.withContainerName("<container_name>"); request.withOffset(<offset>); request.withLimit(<limit>); request.withEventTypes(); request.withHandleStatus("<handle_status>"); request.withSeverity("<severity>"); request.withBeginTime("<begin_time>"); request.withEndTime("<end_time>"); request.withEventClassIds(); request.withSeverityList(); request.withAttackTag("<attack_tag>"); request.withAssetValue("<asset_value>"); request.withTagList(); request.withAttCk("<att_ck>"); request.withEventName("<event_name>"); try { ListSecurityEventsResponse response = client.listSecurityEvents(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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# 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 = ListSecurityEventsRequest() request.category = "<category>" request.enterprise_project_id = "<enterprise_project_id>" request.last_days = <last_days> request.host_name = "<host_name>" request.host_id = "<host_id>" request.private_ip = "<private_ip>" request.public_ip = "<public_ip>" request.container_name = "<container_name>" request.offset = <offset> request.limit = <limit> request.event_types = request.handle_status = "<handle_status>" request.severity = "<severity>" request.begin_time = "<begin_time>" request.end_time = "<end_time>" request.event_class_ids = request.severity_list = request.attack_tag = "<attack_tag>" request.asset_value = "<asset_value>" request.tag_list = request.att_ck = "<att_ck>" request.event_name = "<event_name>" response = client.list_security_events(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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
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.ListSecurityEventsRequest{} request.Category = "<category>" enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest lastDaysRequest:= int32(<last_days>) request.LastDays = &lastDaysRequest hostNameRequest:= "<host_name>" request.HostName = &hostNameRequest hostIdRequest:= "<host_id>" request.HostId = &hostIdRequest privateIpRequest:= "<private_ip>" request.PrivateIp = &privateIpRequest publicIpRequest:= "<public_ip>" request.PublicIp = &publicIpRequest containerNameRequest:= "<container_name>" request.ContainerName = &containerNameRequest offsetRequest:= int32(<offset>) request.Offset = &offsetRequest limitRequest:= int32(<limit>) request.Limit = &limitRequest handleStatusRequest:= "<handle_status>" request.HandleStatus = &handleStatusRequest severityRequest:= "<severity>" request.Severity = &severityRequest beginTimeRequest:= "<begin_time>" request.BeginTime = &beginTimeRequest endTimeRequest:= "<end_time>" request.EndTime = &endTimeRequest attackTagRequest:= "<attack_tag>" request.AttackTag = &attackTagRequest assetValueRequest:= "<asset_value>" request.AssetValue = &assetValueRequest attCkRequest:= "<att_ck>" request.AttCk = &attCkRequest eventNameRequest:= "<event_name>" request.EventName = &eventNameRequest response, err := client.ListSecurityEvents(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Mais
Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.
Códigos de status
Código de status |
Descrição |
---|---|
200 |
Lista de intrusões |
Códigos de erro
Consulte Códigos de erro.