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.
Método de solicitação |
URI |
---|---|
POST |
/v1.0/apigw/signs |
Solicitação
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
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
Código de status |
Descrição |
---|---|
201 |
Criado |
400 |
Solicitação inválida |
401 |
Não autorizado |
403 |
Proibido |
500 |
Erro do servidor interno |