Consulta do resultado da verificação de um item de configuração de segurança
Função
Essa API é usada para consultar o resultado da verificação de um item de configuração de segurança especificado.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v5/{project_id}/baseline/risk-config/{check_name}/detail
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto Mínimo: 20 Máximo: 64 |
check_name |
Sim |
String |
Nome da linha de base, por exemplo, SSH, CentOS 7 e Windows. Mínimo: 0 Máximo: 256 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
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 |
standard |
Sim |
String |
Tipo padrão. Seu valor pode ser:
Mínimo: 0 Máximo: 32 |
host_id |
Não |
String |
ID do servidor. Se esse parâmetro não for especificado, todos os servidores do usuário serão consultados. Mínimo: 0 Máximo: 64 |
limit |
Não |
Integer |
Número de registros em cada página. 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 é um token. Mínimo: 32 Máximo: 2097152 |
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
severity |
String |
Nível de risco. Seu valor pode ser:
Mínimo: 0 Máximo: 65534 |
check_type |
String |
Tipo de verificação de configuração (linha de base), por exemplo, SSH, CentOS 7, Windows Server 2019 R2, Windows Server 2016 R2 e MySQL5-Windows. Mínimo: 0 Máximo: 256 |
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 |
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: 2147483647 |
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: 2147483647 |
passed_rule_num |
Integer |
Número de itens de verificação aprovados. Se um servidor passar um item de verificação em check_rule_num, o item de verificação será contado em passed_rule_num. Mínimo: 0 Máximo: 2147483647 |
ignored_rule_num |
Integer |
Número de itens de verificação ignorados. Se um servidor ignorar um item de verificação em check_rule_num, o item de verificação será contado em ignored_rule_num. Mínimo: 0 Máximo: 2147483647 |
host_num |
Long |
O número de servidores nos quais a detecção de linha de base atual é executada. Mínimo: 0 Máximo: 2147483647 |
Exemplo de solicitações
Essa API é usada para consultar a lista de verificação de configuração cujo nome de linha de base é SSH, o padrão de verificação é o padrão de prática de segurança na nuvem e o ID do projeto empresarial é xxx.
GET https://{endpoint}/v5/{project_id}/baseline/risk-config/SSH/detail?standard=hw_standard&enterprise_project_id=xxx
Exemplo de respostas
Código de status: 200
Resultado da verificação do item de configuração de segurança
{ "check_rule_num" : 17, "check_type_desc" : "This policy checks the basic security configuration items of the SSH service to improve the security of the SSH service.", "failed_rule_num" : 15, "host_num" : 2, "ignored_rule_num" : 1, "passed_rule_num" : 14, "severity" : "Medium" }
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 |
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 ShowRiskConfigDetailSolution { 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(); ShowRiskConfigDetailRequest request = new ShowRiskConfigDetailRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withStandard("<standard>"); request.withHostId("<host_id>"); request.withLimit(<limit>); request.withOffset(<offset>); try { ShowRiskConfigDetailResponse response = client.showRiskConfigDetail(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 |
# 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 = ShowRiskConfigDetailRequest() request.enterprise_project_id = "<enterprise_project_id>" request.standard = "<standard>" request.host_id = "<host_id>" request.limit = <limit> request.offset = <offset> response = client.show_risk_config_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 44 |
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.ShowRiskConfigDetailRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest request.Standard = "<standard>" hostIdRequest:= "<host_id>" request.HostId = &hostIdRequest limitRequest:= int32(<limit>) request.Limit = &limitRequest offsetRequest:= int32(<offset>) request.Offset = &offsetRequest response, err := client.ShowRiskConfigDetail(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 do item de configuração de segurança |
Códigos de erro
Consulte Códigos de erro.