Fazer a rotação de secrets

Nesta página, descrevemos como atualizar as chaves do Media CDN usadas para solicitações assinadas. É possível ter até três chaves públicas e três chaves compartilhadas de validação, totalizando seis chaves por conjunto de chaves. Para evitar exceder esses limites durante uma rotação de chaves, consulte as instruções abaixo sobre como excluir uma chave compartilhada de validação e como adicionar uma chave.

Antes de começar

  1. Configure suas chaves compartilhadas de validação no Secret Manager.

  2. Conceda o papel de acesso do Secret Manager (roles/secretmanager.secretAccessor) à conta de serviço do Media CDN.

    Console

    1. No console do Google Cloud, acesse a página Secret Manager.

      Acessar o Secret Manager

    2. Selecione o secret.
    3. No painel de informações, clique em Adicionar participante.
    4. Em Novos principais, insira a conta de serviço do Media CDN da seguinte maneira:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      Substitua PROJECT_NUMBER pelo número do projeto.

    5. Em Selecionar um papel, escolha Secret Manager e Acessador de secrets do Secret Manager.
    6. Clique em Salvar.

    gcloud

    Use o comando gcloud secrets add-iam-policy-binding:

       gcloud secrets add-iam-policy-binding projects/PROJECT_NUMBER/secrets/SECRET_ID \
           --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \
           --role="roles/secretmanager.secretAccessor"
        

    Substitua:

    • PROJECT_NUMBER: o ID do seu projeto
    • SECRET_ID: o ID do secret

Excluir um secret

Console

  1. No console do Google Cloud, acesse a página Media CDN.

    Acesse Media CDN

  2. Clique na guia Conjuntos de chaves.

  3. Selecione o conjunto de chaves que contém a chave secreta que você quer excluir e clique em Editar.

  4. Para excluir um secret, na seção Chaves > Chaves compartilhadas de validação, clique em Excluir ao lado do nome do secret.

  5. Clique em Atualizar conjunto de chaves.

gcloud

Para excluir uma chave secreta de um conjunto de chaves, use o comando gcloud edge-cache keysets update. Omita o conjunto de chaves que você quer excluir e especifique aqueles que você quer manter.

No exemplo a seguir, KEY_VERSION_1 não está listado, mas KEY_VERSION_2 e KEY_VERSION_3 estão. A omissão de KEY_VERSION_1 o exclui do conjunto de chaves.

gcloud edge-cache keysets update KEYSET_NAME \
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3'

Substitua:

  • KEYSET_NAME: o nome do conjunto de chaves.
  • PROJECT_NUMBER: o ID do seu projeto
  • SECRET_ID: o ID do secret que você está atualizando.
  • KEY_VERSION: a versão da chave.

editor de texto

  1. Exporte o conjunto de chaves para um arquivo YAML. Use o comando gcloud edge-cache keysets export.

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    Substitua:

    • KEYSET_NAME: o nome do conjunto de chaves, por exemplo, prod-vod-keyset.
    • FILENAME: o nome do arquivo YAML
  2. Edite o arquivo de configuração do conjunto de chaves exportado para remover a chave secreta. O exemplo a seguir mostra como remover a chave secreta mais antiga, que termina em KEY_VERSION_1:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_1"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
    

    Substitua:

    • PROJECT_NUMBER: o ID do seu projeto
    • SECRET_ID: o ID do secret que você está atualizando.
    • KEY_VERSION: a versão da chave.

    O arquivo editado é semelhante a este:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
    
  3. Importe o conjunto de chaves editado. Use o comando gcloud edge-cache keysets import (em inglês).

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml
    

Adicionar um secret

Console

  1. No console do Google Cloud, acesse a página Media CDN.

    Acesse Media CDN

  2. Clique na guia Conjuntos de chaves.

  3. Selecione o conjunto de chaves a que você quer adicionar um secret e clique em Editar.

  4. Para adicionar um secret, na seção Chaves > Chaves compartilhadas de validação, clique em Secret. Em seguida, selecione um secret na lista, insira-o manualmente especificando o ID de recurso ou crie um novo secret e selecione-o.

  5. Selecione uma versão do secret na lista ou crie uma nova e selecione-a.

  6. Clique em Atualizar conjunto de chaves.

gcloud

Para adicionar uma chave secreta a um conjunto de chaves, use o comando gcloud edge-cache keysets update. Especifique os conjuntos de chaves que você tem e o que quer adicionar.

No exemplo a seguir, KEY_VERSION_1 foi excluído anteriormente e KEY_VERSION_4 é o conjunto de chaves que está sendo adicionado. A listagem KEY_VERSION_4 além de KEY_VERSION_2 e KEY_VERSION_3 o adiciona ao conjunto de chaves.

gcloud edge-cache keysets update KEYSET_NAME \
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4'

Substitua:

  • KEYSET_NAME: o nome do conjunto de chaves.
  • PROJECT_NUMBER: o ID do seu projeto
  • SECRET_ID: o ID do secret que você está atualizando.
  • KEY_VERSION: a versão da chave.

editor de texto

  1. Exporte o conjunto de chaves para um arquivo YAML. Use o comando gcloud edge-cache keysets export.

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    Substitua:

    • KEYSET_NAME: o nome do conjunto de chaves.
    • FILENAME: o nome do arquivo YAML
  2. No arquivo de configuração do conjunto de chaves exportado, adicione uma nova linha secretVersion que inclua uma nova versão da chave, semelhante a esta:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4"
    
  3. Importe o conjunto de chaves editado. Use o comando gcloud edge-cache keysets import (em inglês).

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml