Autenticação
As solicitações para chamar uma API podem ser autenticadas usando um dos seguintes métodos:
- Autenticação baseada em token: as solicitações são autenticadas usando um token.
- Autenticação baseada em AK/SK: as solicitações são autenticadas criptografando o corpo da solicitação usando um par AK/SK. A autenticação baseada em AK/SK é recomendada porque fornece maior segurança do que a autenticação baseada em token.
Autenticação baseada em token
O período de validade de um token é de 24 horas. Ao usar um token para autenticação, armazene-o em cache para impedir a chamada frequente da API do IAM usada para obter um token de usuário.
Um token especifica permissões temporárias em um sistema de computador. Durante a autenticação da API usando um token, o token é adicionado às solicitações para obter permissões para chamar a API.
Criação de uma solicitação de API descreve o processo de chamar a API usada para criar um grupo de APIs (veja Gerenciamento de grupos de APIs). Depois que um token é obtido, o campo de cabeçalho X-Auth-Token deve ser adicionado às solicitações para especificar o token ao chamar outras APIs. Por exemplo, se o token for ABCDEFJ...., X-Auth-Token: ABCDEFJ.... pode ser adicionado a uma solicitação da seguinte forma:
POST https://{apig_endpoint}/v2/{project_id}/apigw/instances/{instance_id}/api-groups Content-Type: application/json X-Auth-Token: ABCDEFJ....
Autenticação baseada em AK/SK
A autenticação baseada em AK/SK suporta solicitações de API com um corpo não maior que 12 MB. Para solicitações de API com um corpo maior, a autenticação baseada em token é recomendada.
Na autenticação baseada em AK/SK, AK/SK é usado para assinar solicitações e a assinatura é então adicionada às solicitações de autenticação.
- AK: o ID da chave de acesso, que é um identificador exclusivo usado em conjunto com uma chave de acesso secreta para assinar solicitações criptograficamente.
- SK: a chave de acesso secreta usada em conjunto com uma AK para assinar solicitações criptograficamente. Ele identifica um remetente da solicitação e impede que a solicitação seja modificada.
- O SDK de assinatura é usado apenas para solicitações de assinatura e é diferente dos SDKs fornecidos pelos serviços.
- A hora local no cliente deve ser sincronizada com o servidor de relógio para evitar um grande deslocamento no valor do cabeçalho da solicitação X-Sdk-Date.
O APIG verifica o formato da hora e compara a hora com a hora em que o APIG recebe a solicitação. Se a diferença de tempo for superior a 15 minutos, o APIG rejeitará o pedido.