Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Media CDN usa pares de chaves criptográficas ao assinar solicitações.
O Media CDN usa um conjunto de chaves para armazenar pares de chaves que são usados ativamente
para assinar solicitações. É possível ter até três chaves públicas e três chaves compartilhadas
de validação, totalizando seis chaves por conjunto de chaves.
Também é possível remover chaves não usadas de um conjunto de chaves. Adicionar e remover uma chave
é normalmente chamado de rotação de chave secreta. A rotação de segredos permite fazer o
seguinte:
Adicione novos segredos a um conjunto de chaves de forma segura anexando-os a ele.
Gere tokens com o secret correspondente.
Remova segredos antigos depois que o token mais antigo expirar.
Por exemplo, digamos que você definiu que os tokens de curta duração expiram após uma
hora. Em seguida, remova a chave secreta mais antiga usada para os tokens de curta duração depois que as novas solicitações forem enviadas aos usuários por uma ou mais horas.
Antes de remover um secret não usado, verifique se ele não está sendo referenciado ou buscado para
assinar solicitações de usuários no servidor do aplicativo. A remoção prematura de um secret
de um conjunto de chaves impede que o Media CDN valide as solicitações
associadas a ele. Os usuários afetados recebem uma resposta HTTP 403
Forbidden.
Para otimizar a performance, a confiabilidade e o custo de acessos simultâneos ao
Secret Manager, os segredos de chave de validação compartilhados são armazenados em cache por até
uma hora. O armazenamento em cache de segredos pode resultar no acesso contínuo de tokens depois que um secret é
excluído do Secret Manager por até uma hora.
Como prática recomendada, alterne as chaves regularmente.
Limitações conhecidas
O Media CDN rejeita solicitações assinadas com as assinaturas simétricas usadas pelo Cloud CDN com uma resposta HTTP 403.
No momento, o Media CDN oferece suporte a chaves simétricas com solicitações que usam
o formato de token e as chaves referenciadas pelo Media CDN.
As chaves assimétricas precisam ser geradas como pares Ed25519, com uma chave privada de 512 bits (64 bytes)
e uma chave pública de 256 bits (32 bytes). A
biblioteca Tink tem suporte
para geração de chaves, assinatura e validação de assinaturas Ed25519 com C++, Go,
Java e Objective-C.
As chaves assimétricas precisam ter as seguintes características:
Ser codificado em base64 com um comprimento de 44 bytes (com padding) ou 43 bytes
(sem padding). Os formatos base64 com e sem preenchimento são aceitos.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-27 UTC."],[],[],null,["# Keys overview\n\nMedia CDN uses cryptographic key pairs when signing requests.\nMedia CDN uses a *keyset* to store key pairs that are actively\nused to sign requests. You can have up to three public keys and three validation\nshared keys, for a total of six keys per keyset.\n\nYou can also remove unused keys from a keyset. Adding and removing a key\nis typically called *secret rotation*. Secret rotation lets you do the\nfollowing:\n\n- Safely add new secrets to a keyset by appending them to the keyset.\n- Generate tokens with the corresponding secret.\n- Remove old secrets after the oldest possible token expires.\n\n For example, say that you set your short-duration tokens to expire after one\n hour. Then, you'd remove the oldest secret used for the short-duration\n tokens after new requests serve users for one or more hours.\n\nBefore removing an unused secret, verify that it's not referenced or fetched to\nsign user requests on your application server. Prematurely removing a secret\nfrom a keyset prevents Media CDN from validating requests\nassociated with that secret. Affected users are served an `HTTP 403\nForbidden` response.\n\nTo optimize performance, reliability, and cost of simultaneous accesses to\nSecret Manager, your shared validation key secrets are cached for up to\none hour. Secret caching may result in continued token access after a secret is\ndeleted from Secret Manager for up to one hour.\n\nAs a best practice, rotate keys regularly.\n\nKnown limitations\n-----------------\n\nMedia CDN rejects requests that are signed with the symmetric\nsignatures used by Cloud CDN with an `HTTP 403` response.\nMedia CDN currently supports symmetric keys with requests using\nthe token format and keys referenced by Media CDN.\n\nAsymmetric keys must be generated as Ed25519 pairs, with a 512-bit (64-byte)\nprivate key, and a 256-bit (32-byte) public key. The\n[Tink library](https://github.com/google/tink) has support\nfor key generation, signing, and validating Ed25519 signatures with C++, Go,\nJava, and Objective-C.\n\nAsymmetric keys must have the following characteristics:\n\n- Be base64-encoded with a length of 44 bytes (padded) or 43 bytes\n (unpadded). Both padded and unpadded forms of base64 are accepted.\n\n- The public key must be encoded in [URL-safe base64 format](https://tools.ietf.org/html/rfc4648#section-5). The private key may be encoded in\n [standard base64 format](https://tools.ietf.org/html/rfc4648#section-4).\n\n- Have a matching private key.\n\nWhat's next?\n============\n\n- [Create keys](/media-cdn/docs/create-keys)\n- [Create a keyset](/media-cdn/docs/create-keyset)\n- [Rotate secrets](/media-cdn/docs/rotate-secrets)"]]