Consulta de la lista de intrusiones detectadas
Función
Esta API se utiliza para consultar la lista de intrusión detectada.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
GET /v5/{project_id}/event/events
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID de proyecto Mínimo: 20 Máximo: 64 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
category |
Sí |
String |
Categoría de evento. Su valor puede ser:
Mínimo: 0 Máximo: 32 |
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 |
last_days |
No |
Integer |
Número de días a consultar. Este parámetro es mutuamente exclusivo con begin_time y end_time. Mínimo: 1 Máximo: 30 |
host_name |
No |
String |
Nombre del servidor Mínimo: 1 Máximo: 64 |
host_id |
No |
String |
ID de host Mínimo: 0 Máximo: 64 |
private_ip |
No |
String |
Dirección IP del servidor Mínimo: 1 Máximo: 256 |
public_ip |
No |
String |
Dirección IP pública del servidor Mínimo: 1 Máximo: 256 |
container_name |
No |
String |
Nombre de instancia de contenedor |
offset |
No |
Integer |
Desfase, que especifica la posición inicial del registro que se va a devolver. El valor debe ser un número. 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: 1000 Valor predeterminado: 10 |
event_types |
No |
Array |
Tipo de evento. Su valor puede ser:
Mínimo: 1000 Máximo: 30000 Longitud de matriz: 1 - 500 |
handle_status |
No |
String |
Estado. Su valor puede ser:
Mínimo: 1 Máximo: 32 |
severity |
No |
String |
Nivel de amenaza. Su valor puede ser:
Mínimo: 1 Máximo: 32 |
begin_time |
No |
String |
Hora de inicio personalizada de un segmento. La marca de tiempo es precisa en segundos. El begin_time no debe ser más de dos días antes que el end_time. Este parámetro es mutuamente exclusivo con la duración consultada. Mínimo: 13 Máximo: 13 |
end_time |
No |
String |
Hora de finalización personalizada de un segmento. La marca de tiempo es precisa en segundos. El begin_time no debe ser más de dos días antes que el end_time. Este parámetro es mutuamente exclusivo con la duración consultada. Mínimo: 13 Máximo: 13 |
event_class_ids |
No |
Array |
ID de evento. Su valor puede ser:
Longitud de matriz: 1 - 200 |
severity_list |
No |
Array |
Nivel de amenaza. Las opciones son las siguientes:
Mínimo: 0 Máximo: 32 Longitud de matriz: 0 - 5 |
attack_tag |
No |
String |
Indica el indicador de ataque. Las opciones son las siguientes:
Mínimo: 0 Máximo: 32 |
asset_value |
No |
String |
Importancia de los activos. Las opciones son las siguientes:
Mínimo: 0 Máximo: 128 |
tag_list |
No |
Array |
Lista de etiqueta de evento, por ejemplo, ["hot event"]. Mínimo: 0 Máximo: 10 Longitud de matriz: 0 - 20 |
att_ck |
No |
String |
Etapa de ataque ATT&CK, que incluye:
Mínimo: 0 Máximo: 32 |
event_name |
No |
String |
Nombre de alarma Mínimo: 1 Máximo: 128 |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
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 |
Sí |
String |
ID de región Mínimo: 0 Máximo: 128 |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
total_num |
Integer |
Cantidad total de eventos de alarma Mínimo: 0 Máximo: 2147483647 |
data_list |
Array of EventManagementResponseInfo objects |
Lista de eventos Longitud de matriz: 0 - 1000 |
Parámetro |
Tipo |
Descripción |
---|---|---|
event_id |
String |
ID del evento |
event_class_id |
String |
Categoría de evento. Su valor puede ser:
|
event_type |
Integer |
Tipo de evento. Su valor puede ser:
|
event_name |
String |
Nombre del evento |
severity |
String |
Nivel de amenaza. Su valor puede ser:
|
container_name |
String |
Nombre de instancia del contenedor. Esta API solo está disponible para alarmas de contenedores. |
image_name |
String |
Nombre de la imagen. Esta API solo está disponible para alarmas de contenedores. |
host_name |
String |
Nombre del servidor |
host_id |
String |
ID de host |
private_ip |
String |
Dirección IP privada del servidor |
public_ip |
String |
Dirección IP elástica |
os_type |
String |
Tipo de sistema operativo. Su valor puede ser:
|
host_status |
String |
Estado del servidor. Las opciones son las siguientes:
Mínimo: 1 Máximo: 32 |
agent_status |
String |
Estado de agente. Su valor puede ser:
Mínimo: 1 Máximo: 32 |
protect_status |
String |
Estado de protección. Su valor puede ser:
Mínimo: 1 Máximo: 32 |
asset_value |
String |
Importancia de los activos. Las opciones son las siguientes:
Mínimo: 0 Máximo: 128 |
attack_phase |
String |
Fase de ataque. Su valor puede ser:
|
attack_tag |
String |
Etiqueta de ataque. Su valor puede ser:
|
occur_time |
Integer |
Tiempo de ocurrencia, exacto a milisegundos. |
handle_time |
Integer |
Tiempo de gestión, en milisegundos. Esta API solo está disponible para alarmas gestionadas. |
handle_status |
String |
Estado de procesamiento. Su valor puede ser:
|
handle_method |
String |
Método de solución. Esta API solo está disponible para alarmas gestionadas. Las opciones son las siguientes:
|
handler |
String |
Observaciones. Esta API solo está disponible para alarmas gestionadas. |
operate_accept_list |
Array of strings |
Operación de procesamiento compatible |
operate_detail_list |
Array of EventDetailResponseInfo objects |
Lista de detalles de operación (no se muestra en la página) Longitud de matriz: 0 - 100 |
forensic_info |
Object |
Información de ataque, en formato JSON. |
resource_info |
EventResourceResponseInfo object |
Información del recurso |
geo_info |
Object |
Ubicación geográfica, en formato JSON. |
malware_info |
Object |
Información de malware, en formato JSON. |
network_info |
Object |
Información de red, en formato JSON. |
app_info |
Object |
Información de la aplicación, en formato JSON. |
system_info |
Object |
Información del sistema, en formato JSON. |
extend_info |
Object |
Información extendida de eventos, en formato JSON |
recommendation |
String |
Sugerencias sobre el manejo |
description |
String |
Descripción de alarma Mínimo: 0 Máximo: 1024 |
event_abstract |
String |
Resumen del evento Mínimo: 0 Máximo: 512 |
process_info_list |
Array of EventProcessResponseInfo objects |
Lista de información de proceso Longitud de matriz: 0 - 100 |
user_info_list |
Array of EventUserResponseInfo objects |
Lista de información de usuario Longitud de matriz: 0 - 100 |
file_info_list |
Array of EventFileResponseInfo objects |
Lista de información de archivos Longitud de matriz: 0 - 100 |
event_details |
String |
Descripción breve del evento. Mínimo: 0 Máximo: 204800 |
tag_list |
Array of strings |
Etiquetas Mínimo: 0 Máximo: 10 Longitud de matriz: 0 - 20 |
event_count |
Integer |
Ocurrencias de eventos Mínimo: 0 Máximo: 2147483647 |
Parámetro |
Tipo |
Descripción |
---|---|---|
agent_id |
String |
ID de agente |
process_pid |
Integer |
ID de proceso |
is_parent |
Boolean |
Si un proceso es un proceso principal |
file_hash |
String |
Hash de archivo |
file_path |
String |
Ruta del archivo |
file_attr |
String |
Atributo de archivo |
private_ip |
String |
Dirección IP privada del servidor |
login_ip |
String |
Dirección IP de origen de inicio de sesión |
login_user_name |
String |
Nombre de usuario de inicio de sesión |
keyword |
String |
Palabra clave de evento de alarma, que se utiliza solo para la lista blanca de alarmas. |
hash |
String |
Hash de evento de alarma, que se utiliza solo para la lista blanca de alarmas. |
Parámetro |
Tipo |
Descripción |
---|---|---|
domain_id |
String |
ID de cuenta de usuario |
project_id |
String |
ID de proyecto |
enterprise_project_id |
String |
ID del proyecto empresarial |
region_name |
String |
Nombre de la región |
vpc_id |
String |
ID de VPC |
cloud_id |
String |
ID de ECS |
vm_name |
String |
Nombre de VM |
vm_uuid |
String |
Especifica el UUID de VM, es decir, el ID del host. |
container_id |
String |
ID del contenedor |
container_status |
String |
Estado del contenedor |
pod_uid |
String |
pod uid |
pod_name |
String |
pod name |
namespace |
String |
namespace |
cluster_id |
String |
ID del clúster |
cluster_name |
String |
Nombre del clúster |
image_id |
String |
ID de imagen |
image_name |
String |
Nombre de imagen |
host_attr |
String |
Atributo de host |
service |
String |
Servicio |
micro_service |
String |
Microservicio |
sys_arch |
String |
Arquitectura de CPU de sistema |
os_bit |
String |
Versión de bits del sistema operativo |
os_type |
String |
Tipo de sistema operativo |
os_name |
String |
Nombre de sistema operativo |
os_version |
String |
Versión de sistema operativo |
Parámetro |
Tipo |
Descripción |
---|---|---|
process_name |
String |
Nombre de proceso |
process_path |
String |
Ruta de archivo de proceso |
process_pid |
Integer |
ID de proceso Mínimo: 0 Máximo: 2147483647 |
process_uid |
Integer |
ID de usuario de proceso Mínimo: 0 Máximo: 2147483647 |
process_username |
String |
Nombre de usuario de proceso |
process_cmdline |
String |
Línea de comandos del archivo de proceso |
process_filename |
String |
Nombre de archivo de proceso |
process_start_time |
Long |
Hora de inicio del proceso Mínimo: 0 Máximo: 9223372036854775807 |
process_gid |
Integer |
ID de grupo de proceso Mínimo: 0 Máximo: 2147483647 |
process_egid |
Integer |
ID de grupo de proceso válido Mínimo: 0 Máximo: 2147483647 |
process_euid |
Integer |
ID de usuario de proceso válido Mínimo: 0 Máximo: 2147483647 |
ancestor_process_path |
String |
Ruta del archivo de proceso abuelo |
ancestor_process_pid |
Integer |
ID del proceso abuelo Mínimo: 0 Máximo: 2147483647 |
ancestor_process_cmdline |
String |
Línea de comandos del archivo de proceso abuelo |
parent_process_name |
String |
Nombre de proceso padre |
parent_process_path |
String |
Ruta del archivo de proceso padre |
parent_process_pid |
Integer |
ID del proceso padre Mínimo: 0 Máximo: 2147483647 |
parent_process_uid |
Integer |
ID de usuario del proceso padre Mínimo: 0 Máximo: 2147483647 |
parent_process_cmdline |
String |
Línea de comandos del archivo de proceso padre |
parent_process_filename |
String |
Nombre de archivo de proceso principal |
parent_process_start_time |
Long |
Hora de inicio del proceso padre Mínimo: 0 Máximo: 9223372036854775807 |
parent_process_gid |
Integer |
ID de grupo de proceso padre Mínimo: 0 Máximo: 2147483647 |
parent_process_egid |
Integer |
ID de grupo de proceso padre válido Mínimo: 0 Máximo: 2147483647 |
parent_process_euid |
Integer |
ID de usuario de proceso padre válido Mínimo: 0 Máximo: 2147483647 |
child_process_name |
String |
Nombre de subproceso |
child_process_path |
String |
Ruta de archivo de subproceso |
child_process_pid |
Integer |
ID de subproceso Mínimo: 0 Máximo: 2147483647 |
child_process_uid |
Integer |
ID de usuario de subproceso Mínimo: 0 Máximo: 2147483647 |
child_process_cmdline |
String |
Línea de comandos de archivo de subproceso |
child_process_filename |
String |
Nombre de archivo de subproceso |
child_process_start_time |
Long |
Hora de inicio de subproceso Mínimo: 0 Máximo: 9223372036854775807 |
child_process_gid |
Integer |
ID de grupo de subproceso Mínimo: 0 Máximo: 2147483647 |
child_process_egid |
Integer |
ID de grupo de subproceso válido Mínimo: 0 Máximo: 2147483647 |
child_process_euid |
Integer |
ID de usuario de subproceso válido Mínimo: 0 Máximo: 2147483647 |
virt_cmd |
String |
Comando de virtualización |
virt_process_name |
String |
Nombre de proceso de virtualización |
escape_mode |
String |
Modo de escape |
escape_cmd |
String |
Comandos ejecutados después de escape |
process_hash |
String |
Hash de archivo de inicio de proceso |
process_file_hash |
String |
Hash de archivo de proceso |
parent_process_file_hash |
String |
Hash de archivo de proceso padre |
block |
Integer |
Indica si el bloqueo se ha realizado correctamente. 1: sí 0: no Mínimo: 0 Máximo: 1 |
Parámetro |
Tipo |
Descripción |
---|---|---|
user_id |
Integer |
UID de usuario Mínimo: 0 Máximo: 2147483647 |
user_gid |
Integer |
GID de usuario Mínimo: 0 Máximo: 2147483647 |
user_name |
String |
Nombre de usuario |
user_group_name |
String |
Nombre de grupo de usuarios |
user_home_dir |
String |
Directorio principal del usuario |
login_ip |
String |
Dirección IP de inicio de sesión de usuario |
service_type |
String |
Tipo de servicio. Las opciones son las siguientes:
|
service_port |
Integer |
Puerto de servicio de inicio de sesión Mínimo: 0 Máximo: 2147483647 |
login_mode |
Integer |
Modo de inicio de sesión Mínimo: 0 Máximo: 2147483647 |
login_last_time |
Long |
Hora del último inicio de sesión Mínimo: 0 Máximo: 9223372036854775807 |
login_fail_count |
Integer |
Números de intentos fallidos de inicio de sesión Mínimo: 0 Máximo: 2147483647 |
pwd_hash |
String |
Hash de contraseña |
pwd_with_fuzzing |
String |
Contraseña enmascarada |
pwd_used_days |
Integer |
Vigencia de la contraseña (días) Mínimo: 0 Máximo: 2147483647 |
pwd_min_days |
Integer |
Período mínimo de validez de contraseña Mínimo: 0 Máximo: 2147483647 |
pwd_max_days |
Integer |
Período máximo de validez de contraseña Mínimo: 0 Máximo: 2147483647 |
pwd_warn_left_days |
Integer |
Advertencia anticipada de caducidad de contraseña (días) Mínimo: 0 Máximo: 2147483647 |
Parámetro |
Tipo |
Descripción |
---|---|---|
file_path |
String |
Ruta del archivo |
file_alias |
String |
Alias de archivo |
file_size |
Integer |
Tamaño del archivo Mínimo: 0 Máximo: 2147483647 |
file_mtime |
Long |
Hora en la que se modificó por última vez un archivo Mínimo: 0 Máximo: 9223372036854775807 |
file_atime |
Long |
Hora en la que se accedió por última vez a un archivo Mínimo: 0 Máximo: 9223372036854775807 |
file_ctime |
Long |
Hora en la que se cambió por última vez el estado de un archivo Mínimo: 0 Máximo: 9223372036854775807 |
file_hash |
String |
El valor hash calculado utilizando el algoritmo SHA256. |
file_md5 |
String |
Archivo MD5 |
file_sha256 |
String |
Archivo SHA256 |
file_type |
String |
Tipo de archivo |
file_content |
String |
Contenido de archivo |
file_attr |
String |
Atributo de archivo |
file_operation |
Integer |
Tipo de operación de archivo Mínimo: 0 Máximo: 2147483647 |
file_action |
String |
Acción de archivo |
file_change_attr |
String |
Atributo antiguo/nuevo |
file_new_path |
String |
Ruta de archivo nueva |
file_desc |
String |
Descripción de archivo |
file_key_word |
String |
Palabra clave de archivo |
is_dir |
Boolean |
Si se trata de un directorio |
fd_info |
String |
Información de manejo de archivo |
fd_count |
Integer |
Número de identificadores de archivo Mínimo: 0 Máximo: 2147483647 |
Solicitudes de ejemplo
Consultar los primeros 50 eventos de servidor no procesados cuyo proyecto empresarial es xxx.
GET https://{endpoint}/v5/{project_id}/event/events?offset=0&limit=50&handle_status=unhandled&category=host&enterprise_project_id=xxx
Ejemplo de respuestas
Código de estado: 200
Lista de intrusión
{ "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 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 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) } } |
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 intrusión |
Códigos de error
Consulte Códigos de error.