Chaves HMAC

Configuração

Esta página aborda as chaves do código de autenticação de mensagens baseado em hash (HMAC), que pode usar para autenticar pedidos à API XML do Cloud Storage. As chaves HMAC são úteis quando quer mover dados entre outros fornecedores de armazenamento na nuvem e o Cloud Storage, porque as chaves HMAC permitem reutilizar o seu código existente para aceder ao Cloud Storage.

Vista geral

Uma chave HMAC é um tipo de credencial associada a uma conta, normalmente uma conta de serviço. Usa uma chave HMAC para criar assinaturas com o algoritmo de assinatura HMAC-SHA256. As assinaturas que criar são, em seguida, incluídas em pedidos à API XML do Cloud Storage. As assinaturas mostram que um determinado pedido é autorizado pela conta associada à chave HMAC.

As chaves HMAC têm duas partes principais: um ID de acesso e um segredo.

  • ID de acesso: uma string alfanumérica associada a uma conta específica.

    • Quando associada a uma conta de serviço, a string tem 61 carateres.

    Segue-se um exemplo de um ID de acesso:

    GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA

  • Segredo: uma string codificada em Base64 de 40 carateres que está associada a um ID de acesso específico. Um segredo é uma chave pré-partilhada que apenas o utilizador e o Cloud Storage conhecem. Usa o seu segredo para criar assinaturas como parte do processo de autenticação. Segue-se um exemplo de um segredo:

    bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ

O ID de acesso e o segredo identificam exclusivamente uma chave HMAC, mas o segredo é uma informação muito mais sensível, porque é usado para criar assinaturas.

Opcionalmente, pode ativar a restrição restrictAuthTypes num recurso, o que restringe o acesso a pedidos assinados por chaves HMAC.

Armazenar secrets

Quando cria uma chave HMAC para uma conta de serviço, recebe o segredo da chave uma vez. Tem de armazenar o segredo em segurança, juntamente com o ID de acesso associado. Se perder o segredo, não o pode recuperar nem Cloud de Confiance by S3NS, e tem de criar uma nova chave HMAC para a conta de serviço para continuar a autenticar pedidos.

Práticas recomendadas para armazenar segredos

  • Não partilhe o segredo da chave HMAC. Deve tratar os segredos da chave HMAC como trataria qualquer conjunto de credenciais de acesso.

  • Como prática recomendada de segurança, deve alterar regularmente as suas chaves como parte de uma rotação de chaves.

  • Se considerar que outra pessoa está a usar as suas chaves HMAC, deve eliminar imediatamente as chaves HMAC afetadas e criar novas.

  • Quando alterar as chaves HMAC, deve atualizar o seu código com as novas chaves HMAC antes de eliminar as chaves antigas. Quando elimina chaves HMAC, estas tornam-se imediatamente inválidas e não são recuperáveis.

Restrições

  • As chaves HMAC só podem ser usadas para fazer pedidos à API XML e não à API JSON.

  • Pode ter um máximo de 10 chaves HMAC por conta de serviço. As chaves eliminadas não são contabilizadas para este limite.

  • Após a criação, uma chave HMAC de conta de serviço pode demorar até 60 segundos a ficar utilizável. Após eliminar uma conta de serviço, as chaves HMAC que lhe pertencem podem continuar a funcionar durante um máximo de 5 minutos. Por outro lado, as chaves HMAC podem demorar até 5 minutos a ficar novamente utilizáveis depois de anular a eliminação da conta de serviço que as detém.

  • Se ativar a restrição restrictAuthTypes num recurso, deixa de poder criar ou ativar chaves HMAC para o tipo de conta especificado nesse recurso.

O que se segue?