Rotacionar chaves secretas

Esta página descreve como atualizar as chaves do Media CDN usadas para solicitações assinhadas. É 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 o excesso desses limites durante uma rotação de chaves, consulte as instruções a seguir sobre como excluir uma chave compartilhada de validação e como adicionar uma chave.

Antes de começar

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

  2. Conceda o papel de acesso ao Gerenciador de segredos (roles/secretmanager.secretAccessor) à conta de serviço da CDN de mídia.

    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 seu projeto.

    5. Em Selecionar um papel, selecione Secret Manager e, em seguida, selecione 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 Keysets.

  3. Selecione o conjunto de chaves que tem o secret que você quer excluir e clique em Editar.

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

  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 os conjuntos de chaves que você quer manter.

No exemplo abaixo, KEY_VERSION_1 não está listado, enquanto KEY_VERSION_2 e KEY_VERSION_3 estão. Omitir KEY_VERSION_1 exclui o elemento 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 segredo 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 segredo que você está atualizando.
    • KEY_VERSION: a versão da chave.

    O arquivo editado fica parecido com 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 Keysets.

  3. Selecione o conjunto de chaves para o qual você quer adicionar um segredo 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 segredo na lista, insira um segredo manualmente especificando o ID do recurso ou crie um novo segredo e selecione-o.

  5. Selecione uma versão do secret na lista ou crie uma nova versão 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 conjunto de chaves que você quer adicionar.

No exemplo abaixo, 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, adiciona o 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 segredo que você está atualizado.
  • 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