Habilitación de la prevención de ransomware
Función
Para habilitar la protección contra ransomware, asegúrese de que CBR esté disponible en la región. La prevención de ransomware funciona con CBR.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
POST /v5/{project_id}/ransomware/protection/open
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID de proyecto Mínimo: 1 Máximo: 256 |
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 |
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ámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
operating_system |
Sí |
String |
Sistemas operativos del servidor a proteger. Las opciones son las siguientes:
Mínimo: 0 Máximo: 64 |
ransom_protection_status |
Sí |
String |
Si la protección contra ransomware está habilitada. Su valor puede ser:
Mínimo: 0 Máximo: 64 |
protection_policy_id |
No |
String |
ID de la política de protección contra ransomware. Si selecciona una política existente, este parámetro es obligatorio. Mínimo: 0 Máximo: 64 |
create_protection_policy |
No |
Crear una política de protección. Para una nueva política de protección, deje en blanco protection_policy_id y especifique create_protection_policy. |
|
backup_protection_status |
Sí |
String |
Si se debe realizar una copia de respaldo de los datos en el servidor. Su valor puede ser:
Mínimo: 0 Máximo: 64 |
backup_resources |
No |
Objeto BackupResources |
Este parámetro es obligatorio cuando la función de copia de respaldo está habilitada. Si este parámetro está vacío, el almacén vinculado a HSS_projectid es compatible. |
backup_policy_id |
No |
String |
ID de políticas de copias de respaldo Mínimo: 0 Máximo: 64 |
backup_cycle |
No |
Política de copia de respaldo. |
|
agent_id_list |
Sí |
Array of strings |
ID de los agentes en los que está habilitada la protección Mínimo: 0 Máximo: 64 Longitud de matriz: 0 - 24 |
host_id_list |
Sí |
Array of strings |
Los ID de servidores en los que está habilitada la protección Mínimo: 0 Máximo: 64 Longitud de matriz: 0 - 24 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
policy_id |
No |
String |
ID de política. Este parámetro es opcional para una nueva política. Mínimo: 0 Máximo: 64 |
policy_name |
No |
String |
Nombre de la política. Este parámetro es obligatorio al crear una política de protección. Mínimo: 0 Máximo: 64 |
protection_mode |
No |
String |
Acción de protección. Este parámetro es obligatorio al crear una política de protección. Las opciones son las siguientes:
Mínimo: 0 Máximo: 64 |
bait_protection_status |
No |
String |
Si se debe habilitar la protección honeypot. Este parámetro es obligatorio al crear una política de protección. Las opciones son las siguientes. De forma predeterminada, la protección Honeypot está habilitada.
Mínimo: 0 Máximo: 64 |
protection_directory |
No |
String |
Directorio protegido. Este parámetro es obligatorio al crear una política de protección. Mínimo: 0 Máximo: 64 |
protection_type |
No |
String |
Tipo de protección. Este parámetro es obligatorio al crear una política de protección. Mínimo: 0 Máximo: 64 |
exclude_directory |
No |
String |
Directorio excluido (opcional) Mínimo: 0 Máximo: 64 |
runtime_detection_status |
No |
String |
(Opcional) Si se deben realizar verificaciones en tiempo de ejecución. Las opciones son las siguientes. Actualmente, solo se puede deshabilitar. Este campo está reservado.
Mínimo: 0 Máximo: 64 |
operating_system |
No |
String |
Sistema operativo. Este parámetro es obligatorio al crear una política de protección. Su valor puede ser:
Mínimo: 0 Máximo: 64 |
process_whitelist |
No |
Array of TrustProcessInfo objects |
Lista blanca de procesos Longitud de matriz: 0 - 20 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
path |
No |
String |
Indica la ruta del proceso. Mínimo: 0 Máximo: 128 |
hash |
No |
String |
Proceso hash Mínimo: 0 Máximo: 128 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
vault_id |
No |
String |
Seleccione el ID del almacén que desea vincular. El valor no puede estar vacío. Mínimo: 0 Máximo: 64 |
resource_list |
No |
Array of ResourceInfo objects |
Lista de servidores para los que se debe habilitar la función de copia de respaldo Longitud de matriz: 0 - 20 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
host_id |
No |
String |
ID del servidor Mínimo: 0 Máximo: 128 |
history_backup_status |
No |
String |
La habilitación del estado de la copia de respaldo depende del error_message o del estado de los servidores disponibles. Si error_message está vacío, la copia de respaldo no está habilitada y el valor de este campo se cierra. Si error_message no está vacío, se abre el valor de este campo. Mínimo: 0 Máximo: 128 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
enabled |
No |
Boolean |
Si la política está habilitada. El valor predeterminado es true. |
policy_id |
No |
String |
ID de política. Este parámetro es obligatorio si la protección de respaldo está habilitada. Mínimo: 1 Máximo: 256 |
operation_definition |
No |
Parámetro de programación. |
|
trigger |
No |
BackupTriggerRequestInfo1 object |
Regla de programación de tiempo para la política. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
day_backups |
No |
Integer |
Cantidad máxima de copias de respaldo diarios retenidos. La última copia de respaldo de cada día se guarda a largo plazo. Este parámetro no se ve afectado por el número máximo de copias de respaldo retenidas. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
max_backups |
No |
Integer |
Número máximo de copias de respaldo automatizadas que se pueden conservar para un objeto. El valor puede ser -1 u oscilar entre 0 y 99999. Si el valor se establece en -1, las copias de respaldo no se borrarán aunque se supere el límite de cantidad de copias de respaldo retenidas configurado. Si este parámetro y retention_duration_days se dejan en blanco al mismo tiempo, las copias de respaldo se conservarán de forma permanente. Valor mínimo: 1. Valor máximo: 99999. Valor predeterminado: -1 Mínimo: -1 Máximo: 99999 |
month_backups |
No |
Integer |
Cantidad máxima de copias de respaldo mensuales retenidos. La última copia de respaldo de cada mes se guarda a largo plazo. Este parámetro no se ve afectado por el número máximo de copias de respaldo retenidas. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
retention_duration_days |
No |
Integer |
Duración de la retención de una copia de respaldo, en días. El valor máximo es 99999. Si el valor se establece en -1, las copias de respaldo no se borrarán aunque se supere la duración de retención configurada. Si este parámetro y max_backups se dejan en blanco al mismo tiempo, las copias de respaldo se conservarán permanentemente. Valor mínimo: 1. Valor máximo: 99999. Valor predeterminado: -1 Mínimo: -1 Máximo: 99999 |
timezone |
No |
String |
Zona horaria donde se encuentra el usuario, por ejemplo, UTC+08:00. Establezca este parámetro solo después de haber configurado cualquiera de los parámetros day_backups, week_backups, month_backups, and year_backups. Mínimo: 0 Máximo: 256 |
week_backups |
No |
Integer |
Cantidad máxima de copias de respaldo semanales retenidos. La última copia de respaldo de cada semana se guarda a largo plazo. Este parámetro puede ser efectivo junto con el número máximo de copias de respaldo retenidas especificado por max_backups. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Mínimo: 0 Máximo: 100 |
year_backups |
No |
Integer |
Cantidad máxima de copias de respaldo anuales retenidos. La última copia de respaldo de cada año se guarda a largo plazo. Este parámetro puede ser efectivo junto con el número máximo de copias de respaldo retenidas especificado por max_backups. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
properties |
No |
Regla de tiempo para la ejecución de políticas. Este parámetro es obligatorio si la función de copia de respaldo está habilitada con protección contra ransomware. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
pattern |
No |
Array of strings |
Regla de programación. Este parámetro es obligatorio si la función de copia de respaldo está habilitada con protección contra ransomware. Se puede configurar un máximo de 24 reglas. La regla de programación cumple con iCalendar RFC 2445, pero solo admite los parámetros FREQ, BYDAY, BYHOUR, BYMINUTE e INTERVAL. FREQ solo se puede configurar como WEEKLY o DAILY. BYDAY se puede configurar como MO, TU, WE, TH, FR, SA o SU (siete días de la semana). BYHOUR oscila entre 0 y 23 horas. BYMINUTE oscila entre 0 minutos y 59 minutos. El intervalo de programación no debe ser inferior a 1 hora. Se permite un máximo de 24 puntos de tiempo en un día. Por ejemplo, si la hora de programación es 14:00 de lunes a domingo, establezca la regla de programación de la siguiente manera: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00. Para comenzar la programación a las 14:00 todos los días, la regla es la siguiente: FREQ=DAILY;INTERVAL=1;BYHOUR=14;BYMINUTE=00'. Mínimo: 1 Máximo: 256 Longitud de matriz: 0 - 24 |
Parámetros de respuesta
Ninguna
Solicitudes de ejemplo
Habilita la protección contra ransomware para el servidor. El tipo de sistema operativo es Linux, el ID del servidor de destino es 71a15ecc-049f-4cca-bd28-5e90aca1817f y el ID del agente del servidor de destino es c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8. La copia de respaldo del servidor está deshabilitada.
POST https://{endpoint}/v5/{project_id}/ransomware/protection/open { "ransom_protection_status" : "opened", "backup_protection_status" : "closed", "operating_system" : "Linux", "protection_policy_id" : "", "agent_id_list" : [ "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8" ], "host_id_list" : [ "71a15ecc-049f-4cca-bd28-5e90aca1817f" ], "create_protection_policy" : { "bait_protection_status" : "opened", "exclude_directory" : "", "protection_mode" : "alarm_only", "policy_name" : "test111", "protection_directory" : "/etc/test", "protection_type" : "docx" } }
Ejemplo de respuestas
Ninguna
Código de ejemplo del SDK
El código de ejemplo del SDK es el siguiente.
Java
Enable ransomware protection for the server. The OS type is Linux, the target server ID is 71a15ecc-049f-4cca-bd28-5e90aca1817f, and the agent ID of the target server is c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8. Server backup is disabled.
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 |
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 StartProtectionSolution { 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(); StartProtectionRequest request = new StartProtectionRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); ProtectionInfoRequestInfo body = new ProtectionInfoRequestInfo(); List<String> listbodyHostIdList = new ArrayList<>(); listbodyHostIdList.add("71a15ecc-049f-4cca-bd28-5e90aca1817f"); List<String> listbodyAgentIdList = new ArrayList<>(); listbodyAgentIdList.add("c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8"); ProtectionProxyInfoRequestInfo createProtectionPolicybody = new ProtectionProxyInfoRequestInfo(); createProtectionPolicybody.withPolicyName("test111") .withProtectionMode("alarm_only") .withBaitProtectionStatus("opened") .withProtectionDirectory("/etc/test") .withProtectionType("docx") .withExcludeDirectory(""); body.withHostIdList(listbodyHostIdList); body.withAgentIdList(listbodyAgentIdList); body.withBackupProtectionStatus("closed"); body.withCreateProtectionPolicy(createProtectionPolicybody); body.withProtectionPolicyId(""); body.withRansomProtectionStatus("opened"); body.withOperatingSystem("Linux"); request.withBody(body); try { StartProtectionResponse response = client.startProtection(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
Enable ransomware protection for the server. The OS type is Linux, the target server ID is 71a15ecc-049f-4cca-bd28-5e90aca1817f, and the agent ID of the target server is c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8. Server backup is disabled.
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 |
# 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 = StartProtectionRequest() request.enterprise_project_id = "<enterprise_project_id>" listHostIdListbody = [ "71a15ecc-049f-4cca-bd28-5e90aca1817f" ] listAgentIdListbody = [ "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8" ] createProtectionPolicybody = ProtectionProxyInfoRequestInfo( policy_name="test111", protection_mode="alarm_only", bait_protection_status="opened", protection_directory="/etc/test", protection_type="docx", exclude_directory="" ) request.body = ProtectionInfoRequestInfo( host_id_list=listHostIdListbody, agent_id_list=listAgentIdListbody, backup_protection_status="closed", create_protection_policy=createProtectionPolicybody, protection_policy_id="", ransom_protection_status="opened", operating_system="Linux" ) response = client.start_protection(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
Enable ransomware protection for the server. The OS type is Linux, the target server ID is 71a15ecc-049f-4cca-bd28-5e90aca1817f, and the agent ID of the target server is c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8. Server backup is disabled.
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 |
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.StartProtectionRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest var listHostIdListbody = []string{ "71a15ecc-049f-4cca-bd28-5e90aca1817f", } var listAgentIdListbody = []string{ "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8", } policyNameCreateProtectionPolicy:= "test111" protectionModeCreateProtectionPolicy:= "alarm_only" baitProtectionStatusCreateProtectionPolicy:= "opened" protectionDirectoryCreateProtectionPolicy:= "/etc/test" protectionTypeCreateProtectionPolicy:= "docx" excludeDirectoryCreateProtectionPolicy:= "" createProtectionPolicybody := &model.ProtectionProxyInfoRequestInfo{ PolicyName: &policyNameCreateProtectionPolicy, ProtectionMode: &protectionModeCreateProtectionPolicy, BaitProtectionStatus: &baitProtectionStatusCreateProtectionPolicy, ProtectionDirectory: &protectionDirectoryCreateProtectionPolicy, ProtectionType: &protectionTypeCreateProtectionPolicy, ExcludeDirectory: &excludeDirectoryCreateProtectionPolicy, } protectionPolicyIdProtectionInfoRequestInfo:= "" request.Body = &model.ProtectionInfoRequestInfo{ HostIdList: listHostIdListbody, AgentIdList: listAgentIdListbody, BackupProtectionStatus: "closed", CreateProtectionPolicy: createProtectionPolicybody, ProtectionPolicyId: &protectionPolicyIdProtectionInfoRequestInfo, RansomProtectionStatus: "opened", OperatingSystem: "Linux", } response, err := client.StartProtection(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 |
Protección contra ransomware habilitada. |
Códigos de error
Consulte Códigos de error.