Consulta da lista de resultados da verificação de configuração de segurança do servidor
Função
Essa API é usada para consultar a lista de resultados da verificação de configuração de segurança do servidor de um usuário.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v5/{project_id}/baseline/risk-configs
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto Mínimo: 1 Máximo: 256 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
enterprise_project_id |
Não |
String |
ID do projeto empresarial Mínimo: 0 Máximo: 256 |
check_name |
Não |
String |
Nome da linha de base, por exemplo, SSH, CentOS 7 e Windows. Mínimo: 0 Máximo: 256 |
group_id |
Não |
String |
Indica o ID do grupo de políticas. Mínimo: 0 Máximo: 128 |
severity |
Não |
String |
Nível de risco. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
standard |
Não |
String |
Tipo padrão. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
host_id |
Não |
String |
ID do host Mínimo: 0 Máximo: 128 |
limit |
Não |
Integer |
Número de registros exibidos em cada página. O valor padrão é 10. Mínimo: 0 Máximo: 200 Padrão: 10 |
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 |
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 é o token do usuário. Mínimo: 1 Máximo: 32768 |
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
total_num |
Long |
Número total de registros Mínimo: 0 Máximo: 2147483647 |
data_list |
Array of SecurityCheckInfoResponseInfo objects |
Lista de resultados da verificação de configuração do servidor Comprimento da matriz: 0–2147483647 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
severity |
String |
Nível de risco. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
check_name |
String |
Nome da linha de base, por exemplo, SSH, CentOS 7 e Windows. Mínimo: 0 Máximo: 256 |
check_type |
String |
Tipo de linha de base. Os valores de check_type e check_name são os mesmos para servidores Linux. Por exemplo, ambos podem ser definidos como SSH ou CentOS 7. Para servidores Windows, os valores de check_type e check_name são diferentes. Por exemplo, check_type pode ser definido como Windows Server 2019 R2 ou Windows Server 2016 R2. Mínimo: 0 Máximo: 256 |
standard |
String |
Tipo padrão. Seu valor pode ser:
Mínimo: 1 Máximo: 16 |
check_rule_num |
Integer |
Indica o número total de itens de verificação do tipo de verificação de configuração atual (linha de base). Por exemplo, se o tipo padrão da linha de base do SSH for hw_standard, a segurança do servidor fornecerá 17 itens de verificação, mas apenas cinco itens de verificação da linha de base do SSH serão detectados em todos os servidores. Portanto, o valor de check_rule_num é 5. Todos os itens de verificação são verificados em um servidor. O valor de check_rule_num é 17. Mínimo: 0 Máximo: 2097152 |
failed_rule_num |
Integer |
Número de itens de verificação com falha. Se um servidor falhar ao passar um item de verificação em check_rule_num, o item será contado em failed_rule_num. Mínimo: 0 Máximo: 2097152 |
host_num |
Integer |
O número de servidores nos quais a detecção de linha de base atual é executada. Mínimo: 0 Máximo: 2097152 |
scan_time |
Long |
Hora da última detecção (ms) Mínimo: 0 Máximo: 2097152 |
check_type_desc |
String |
Descrição do tipo de linha de base, incluindo os padrões para os itens de verificação e os problemas que podem ser auditados. Mínimo: 0 Máximo: 65534 |
Exemplo de solicitações
Essa API é usada para consultar a lista de verificação de configuração de linha de base do servidor cujo ID de projeto empresarial é xxx. Os dados na primeira página (os primeiros 10 registros) são retornados por padrão.
GET https://{endpoint}/v5/{project_id}/baseline/risk-configs?enterprise_project_id=xxx
Exemplo de respostas
Código de status: 200
Resultado da verificação da configuração de segurança do servidor
{ "total_num" : 1, "data_list" : [ { "check_name" : "Docker", "check_rule_num" : 25, "check_type" : "Docker", "check_type_desc" : "Configuring security audit of Docker's host configurations and container-running-related contents based on Docker Container Security Specifications V1_0.", "failed_rule_num" : 20, "host_num" : 0, "scan_time" : 1661716860935, "severity" : "High", "standard" : "hw_standard" } ] }
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 |
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 ListRiskConfigsSolution { 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(); ListRiskConfigsRequest request = new ListRiskConfigsRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withCheckName("<check_name>"); request.withGroupId("<group_id>"); request.withSeverity("<severity>"); request.withStandard("<standard>"); request.withHostId("<host_id>"); request.withLimit(<limit>); request.withOffset(<offset>); try { ListRiskConfigsResponse response = client.listRiskConfigs(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 = ListRiskConfigsRequest() request.enterprise_project_id = "<enterprise_project_id>" request.check_name = "<check_name>" request.group_id = "<group_id>" request.severity = "<severity>" request.standard = "<standard>" request.host_id = "<host_id>" request.limit = <limit> request.offset = <offset> response = client.list_risk_configs(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.ListRiskConfigsRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest checkNameRequest:= "<check_name>" request.CheckName = &checkNameRequest groupIdRequest:= "<group_id>" request.GroupId = &groupIdRequest severityRequest:= "<severity>" request.Severity = &severityRequest standardRequest:= "<standard>" request.Standard = &standardRequest hostIdRequest:= "<host_id>" request.HostId = &hostIdRequest limitRequest:= int32(<limit>) request.Limit = &limitRequest offsetRequest:= int32(<offset>) request.Offset = &offsetRequest response, err := client.ListRiskConfigs(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 |
Resultado da verificação da configuração de segurança do servidor |
Códigos de erro
Consulte Códigos de erro.