Nesta página, você encontrará informações sobre as chaves de código de autenticação de mensagem baseado em hash (HMAC, na sigla em inglês), que podem ser usadas para autenticar solicitações para a API Cloud Storage XML. As chaves HMAC são úteis quando você quer mover dados entre outros provedores de armazenamento em nuvem e o Cloud Storage. As chaves HMAC permitem reutilizar seu código existente para acessar o Cloud Storage.
Visão geral
Uma chave HMAC é um tipo de credencial associada a uma conta, normalmente uma conta de serviço. Use uma chave HMAC para criar assinaturas usando o algoritmo de assinatura HMAC-SHA256. As assinaturas criadas são incluídas nas solicitações para a API XML do Cloud Storage. As assinaturas mostram que uma determinada solicitação foi autorizada pela conta associada à chave HMAC.
As chaves HMAC têm dois componentes principais: um ID de acesso e uma chave secreta.
ID de acesso: uma string alfanumérica vinculada a uma conta específica.
Quando vinculada a uma conta de serviço, a string tem 61 caracteres.
Veja a seguir um exemplo de ID de acesso:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Secret: uma string codificada com Base-64 de 40 caracteres vinculada a um ID de acesso específico. Trata-se de uma chave pré-compartilhada que apenas você e o Cloud Storage conhecem. Você usa seu secret para criar assinaturas como parte do processo de autenticação. Veja a seguir um exemplo de secret:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
Tanto o ID de acesso quanto a chave secreta identificam uma chave HMAC de modo único. No entanto, o secret é uma informação extremamente confidencial porque é usada para criar assinaturas.
Também é possível ativar a restrição restrictAuthTypes
em um recurso, o que restringe o acesso a solicitações assinadas por chaves HMAC.
Como armazenar chaves secretas
Ao criar uma chave HMAC para uma conta de serviço, você recebe uma chave secreta apenas uma vez. É necessário armazená-la em segurança, junto com o respectivo ID de acesso. Se você perder o secret, ele não poderá ser recuperado por você ou pelo Trusted Cloud by S3NS, e você precisará criar uma nova chave HMAC para a conta de serviço para continuar a autenticar solicitações.
Práticas recomendadas para armazenar secrets
Não compartilhe o secret da sua chave HMAC. Trate os secrets da chave HMAC como faria com qualquer conjunto de credenciais de acesso.
Como prática de segurança recomendada, altere regularmente suas chaves como parte do processo de rotação de chaves.
Se você acha que outra pessoa está usando suas chaves HMAC, exclua imediatamente as chaves HMAC afetadas e crie novas.
Quando você alterar suas chaves HMAC, atualize o código com as chaves novas antes de excluir as antigas. Depois de excluídas, as chaves HMAC se tornam inválidas imediatamente e não podem ser recuperadas.
Restrições
As chaves HMAC podem ser usadas para fazer solicitações à API XML, mas não à API JSON.
Cada conta de serviço pode ter no máximo 10 chaves HMAC. As chaves excluídas não contam nesse limite.
Após a criação, pode levar até 60 segundos para uma chave HMAC da conta de serviço ficar utilizável. Depois de excluir uma conta de serviço, as chaves HMAC que pertencem a ela podem continuar funcionando por até cinco minutos. Por outro lado, pode levar até cinco minutos para que as chaves HMAC se tornem utilizáveis novamente após cancelar a exclusão da conta de serviço proprietária delas.
Se a restrição
restrictAuthTypes
for ativada em um recurso, não será mais possível criar ou ativar chaves HMAC para o tipo de conta especificado nesse recurso.