Consulta do relatório de um item de verificação em uma verificação de configuração de segurança
Função
Essa API é usada para consultar o relatório de um item de verificação em uma verificação de configuração de segurança.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v5/{project_id}/baseline/check-rule/detail
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 |
---|---|---|---|
enterprise_project_id |
Não |
String |
ID do projeto empresarial Mínimo: 0 Máximo: 64 |
check_name |
Sim |
String |
Nome da linha de base, por exemplo, SSH, CentOS 7 e Windows. Mínimo: 0 Máximo: 255 |
check_type |
Sim |
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: 255 |
check_rule_id |
Sim |
String |
ID do item de verificação, que pode ser obtido a partir dos dados de retorno desta API: /v5/{project_id}/baseline/risk-config/{check_name}/check-rules Mínimo: 0 Máximo: 255 |
standard |
Sim |
String |
Tipo padrão. Seu valor pode ser:
Mínimo: 0 Máximo: 32 |
host_id |
Não |
String |
ID do host Mínimo: 0 Máximo: 64 |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token de usuário, que 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: 32 Máximo: 2097152 |
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
description |
String |
Descrição do item de verificação atual (regra de detecção). Mínimo: 0 Máximo: 2048 |
reference |
String |
Base para a configuração do item de verificação (regra) Mínimo: 0 Máximo: 255 |
audit |
String |
Descrição da auditoria do item de verificação (regra) Mínimo: 0 Máximo: 65534 |
remediation |
String |
Sugestões de modificação para o item de verificação (regra) Mínimo: 0 Máximo: 65534 |
check_info_list |
Array of CheckRuleCheckCaseResponseInfo objects |
Casos de teste Comprimento da matriz: 0–2147483647 |
Exemplo de solicitações
Essa API é usada para consultar o relatório dos itens de verificação de configuração cujo nome de linha de base é SSH, o ID do item de verificação é 1.12, o padrão de verificação é o padrão de prática de segurança de nuvem e o ID do projeto empresarial é xxx.
GET https://{endpoint}/v5/{project_id}/baseline/check-rule/detail?standard=hw_standard&enterprise_project_id=xxx&check_name=SSH&check_type=SSH&check_rule_id=1.12
Exemplo de respostas
Código de status: 200
Relatório de verificação de item de configuração
{ "audit" : "Run the following commands and verify that ClientAliveInterval is smaller than 300 and ClientAliveCountMax is 3 or less: \n#grep '^ClientAliveInterval' /etc/ssh/sshd_config\nClientAliveInterval 300(default is 0) \n#grep '^ClientAliveCountMax' /etc/ssh/sshd_config\nClientAliveCountMax 0(default is 3)", "description" : "The two options ClientAliveInterval and ClientAliveCountMax control the timeout of SSH sessions. The ClientAliveInterval parameter sets a timeout interval in seconds after which if no data has been received from the client, sshd will send a message through the encrypted channel to request a response from the client. The ClientAliveCountMax parameter sets the number of client alive messages which may be sent without sshd receiving any messages back from the client. For example, if the ClientAliveInterval is set to 15s and the ClientAliveCountMax is set to 3, unresponsive SSH clients will be disconnected after approximately 45s.", "reference" : "", "remediation" : "Edit the /etc/ssh/sshd_config file to set the parameter as follows: \nClientAliveInterval 300 \nClientAliveCountMax 0" }
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 |
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 ShowCheckRuleDetailSolution { 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(); ShowCheckRuleDetailRequest request = new ShowCheckRuleDetailRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withCheckName("<check_name>"); request.withCheckType("<check_type>"); request.withCheckRuleId("<check_rule_id>"); request.withStandard("<standard>"); request.withHostId("<host_id>"); try { ShowCheckRuleDetailResponse response = client.showCheckRuleDetail(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 |
# 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 = ShowCheckRuleDetailRequest() request.enterprise_project_id = "<enterprise_project_id>" request.check_name = "<check_name>" request.check_type = "<check_type>" request.check_rule_id = "<check_rule_id>" request.standard = "<standard>" request.host_id = "<host_id>" response = client.show_check_rule_detail(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 |
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.ShowCheckRuleDetailRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest request.CheckName = "<check_name>" request.CheckType = "<check_type>" request.CheckRuleId = "<check_rule_id>" request.Standard = "<standard>" hostIdRequest:= "<host_id>" request.HostId = &hostIdRequest response, err := client.ShowCheckRuleDetail(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 |
Relatório de verificação de item de configuração |
Códigos de erro
Consulte Códigos de erro.