Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-29 GMT+08:00

Criação de uma chave de assinatura

Função

É uma boa prática fornecer um mecanismo de proteção para APIs para garantir a segurança do acesso. Por exemplo, autenticar fontes de solicitação da API e negar o acesso de fontes não autorizadas.

Uma chave de assinatura é um mecanismo de proteção no caso.

Crie uma chave de assinatura e vincule-a a uma API. Ao solicitar a API, o APIG usa a chave de assinatura para criptografar os dados do parâmetro de solicitação e gerar uma assinatura. O serviço de back-end da API verifica as solicitações usando a assinatura. Solicitações não autorizadas serão negadas para proteger a API contra ataques de fontes desconhecidas.

URI

A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.

Tabela 1 Método de solicitação HTTP/HTTPS e URI

Método de solicitação

URI

POST

/v1.0/apigw/signs

Solicitação

Tabela 2 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome da chave de assinatura

O nome de uma chave de assinatura consiste em 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

sign_key

Não

String

Chave de assinatura

Uma chave de assinatura consiste em 8 a 32 caracteres, começando com uma letra ou dígito. Apenas letras, números, hifens (-) e sublinhados (_) são permitidos.

Uma chave é gerada automaticamente pelo back-end se nenhuma chave for especificada.

sign_secret

Não

String

Segredo de assinatura

Um segredo de assinatura consiste em 16 a 64 caracteres, começando com uma letra ou dígito. Somente letras, dígitos e caracteres especiais (-_!@#$%) são permitidos.

Um valor é gerado automaticamente pelo back-end se nenhum valor for especificado.

Exemplo de solicitação:

{
	"name": "signature01",
	"sign_key": "abcd_123",
	"sign_secret": "******"
}

Resposta

Tabela 3 Descrição do parâmetro

Parâmetro

Tipo

Descrição

id

String

ID da chave de assinatura

name

String

Nome da chave de assinatura

sign_key

String

Chave de assinatura

sign_secret

String

Segredo de assinatura

create_time

Timestamp

Hora em que a chave de assinatura é criada

update_time

Timestamp

Hora em que a chave de assinatura foi atualizada pela última vez

Exemplo de resposta:

{
	"name": "signature01",
	"sign_key": "abcd_123",
	"sign_secret": "******",
	"id": "3a793b65a9034bdfae08924f149bfb4a",
	"create_time": "2018-02-06T12:17:36.039953112Z",
	"update_time": "2018-02-06T12:17:36.039954198Z"
}

Códigos de status

Tabela 4 Códigos de status

Código de status

Descrição

201

Criado

400

Solicitação inválida

401

Não autorizado

403

Proibido

500

Erro do servidor interno