Rotar secretos

En esta página se describe cómo actualizar las claves de Media CDN que se usan para las solicitudes firmadas. Puedes tener hasta tres claves públicas y tres claves compartidas de validación, lo que hace un total de seis claves por conjunto de claves. Para evitar superar esos límites durante una rotación de claves, consulta las siguientes instrucciones sobre cómo eliminar una clave compartida de validación y cómo añadir una clave.

Antes de empezar

  1. Configura tus claves compartidas de validación en Secret Manager.

  2. Asigna el rol de acceso a Secret Manager (roles/secretmanager.secretAccessor) a la cuenta de servicio de Media CDN.

    Consola

    1. En la Google Cloud consola, ve a la página Secret Manager.

      Ir a Secret Manager

    2. Selecciona el secreto.
    3. En el panel de información, haz clic en Añadir principal.
    4. En Principales nuevas, introduce la cuenta de servicio de Media CDN de la siguiente manera:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      Sustituye PROJECT_NUMBER por el número de tu proyecto.

    5. En Selecciona un rol, elige Secret Manager y, a continuación, selecciona Permiso para acceder a los recursos de Secret Manager.
    6. Haz clic en Guardar.

    gcloud

    Usa el 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"
        

    Haz los cambios siguientes:

    • PROJECT_NUMBER: tu número de proyecto
    • SECRET_ID: el ID del secreto

Eliminar un secreto

Consola

  1. En la Google Cloud consola, ve a la página Media CDN.

    Ir a Media CDN

  2. Haz clic en la pestaña Conjuntos de claves.

  3. Selecciona el conjunto de claves que tenga el secreto que quieras eliminar y, a continuación, haz clic en Editar.

  4. Para eliminar un secreto, en la sección Claves > Claves compartidas de validación, haga clic en Eliminar junto al nombre del secreto.

  5. Haz clic en Actualizar conjunto de claves.

gcloud

Para eliminar una clave secreta de un conjunto de claves, usa el comando gcloud edge-cache keysets update. Omite el conjunto de claves que quieras eliminar y especifica los conjuntos de claves que quieras conservar.

En el siguiente ejemplo, KEY_VERSION_1 no aparece en la lista, mientras que KEY_VERSION_2 y KEY_VERSION_3 sí. Si se omite KEY_VERSION_1, se elimina del conjunto de claves.

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'

Haz los cambios siguientes:

  • KEYSET_NAME: el nombre del conjunto de claves
  • PROJECT_NUMBER: tu número de proyecto
  • SECRET_ID: el ID del secreto que vas a actualizar
  • KEY_VERSION: la versión de la clave

Editor de texto

  1. Exporta tu conjunto de claves a un archivo YAML. Usa el comando gcloud edge-cache keysets export.

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

    Haz los cambios siguientes:

    • KEYSET_NAME: el nombre de tu conjunto de claves (por ejemplo, prod-vod-keyset)
    • FILENAME: el nombre del archivo YAML
  2. Edita el archivo de configuración del conjunto de claves exportado para eliminar la clave secreta. En el siguiente ejemplo se muestra cómo eliminar la clave secreta más antigua, que termina en 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"
    

    Haz los cambios siguientes:

    • PROJECT_NUMBER: tu número de proyecto
    • SECRET_ID: el ID del secreto que vas a actualizar
    • KEY_VERSION: la versión de la clave

    El archivo editado tendrá un aspecto similar al siguiente:

    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. Importa el conjunto de claves editado. Usa el comando gcloud edge-cache keysets import:

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

Añadir un secreto

Consola

  1. En la Google Cloud consola, ve a la página Media CDN.

    Ir a Media CDN

  2. Haz clic en la pestaña Conjuntos de claves.

  3. Selecciona el conjunto de claves al que quieras añadir un secreto y, a continuación, haz clic en Editar.

  4. Para añadir un secreto, en la sección Claves > Claves compartidas de validación, haz clic en Secreto. A continuación, selecciona un secreto de la lista, introduce un secreto manualmente especificando su ID de recurso o crea un secreto y, después, selecciónalo.

  5. Selecciona una versión del secreto de la lista o crea una y, a continuación, selecciónala.

  6. Haz clic en Actualizar conjunto de claves.

gcloud

Para añadir una clave secreta a un conjunto de claves, usa el gcloud edge-cache keysets updatecomando. Especifica los conjuntos de claves que tienes y el que quieres añadir.

En el siguiente ejemplo, KEY_VERSION_1 se ha eliminado anteriormente y KEY_VERSION_4 es el conjunto de claves que se va a añadir. Si se incluye KEY_VERSION_4 además de KEY_VERSION_2 y KEY_VERSION_3, se añade al conjunto de claves.

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'

Haz los cambios siguientes:

  • KEYSET_NAME: el nombre del conjunto de claves
  • PROJECT_NUMBER: tu número de proyecto
  • SECRET_ID: el ID del secreto que vas a actualizar
  • KEY_VERSION: la versión de la clave

Editor de texto

  1. Exporta tu conjunto de claves a un archivo YAML. Usa el comando gcloud edge-cache keysets export.

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

    Haz los cambios siguientes:

    • KEYSET_NAME: el nombre del conjunto de claves
    • FILENAME: el nombre del archivo YAML
  2. En el archivo de configuración del conjunto de claves exportado, añade una nueva línea secretVersion que incluya una nueva versión de la clave, como la siguiente:

    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. Importa el conjunto de claves editado. Usa el comando gcloud edge-cache keysets import:

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