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 |