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, para 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 borrar una clave compartida de validación y cómo agregar una clave.

Antes de comenzar

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

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

    Console

    1. En la consola de Google Cloud, 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 Agregar principal.
    4. En Principales nuevas, ingresa la cuenta de servicio de Media CDN de la siguiente manera:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      Reemplaza PROJECT_NUMBER por el número de proyecto.

    5. En Selecciona una función, selecciona Secret Manager y, luego, selecciona Descriptor de acceso a secretos 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"
        

    Reemplaza lo siguiente:

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

Cómo borrar un secreto

Console

  1. En la consola de Google Cloud, 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 tiene el Secret que deseas borrar y, luego, haz clic en Editar.

  4. Para borrar un secreto, en la sección Llaves > Claves compartidas de validación, haz clic en Borrar junto al nombre del secreto.

  5. Haz clic en Actualizar conjunto de claves.

gcloud

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

En el siguiente ejemplo, KEY_VERSION_1 no aparece en la lista, mientras que KEY_VERSION_2 y KEY_VERSION_3 sí. Si omites KEY_VERSION_1, se borrará 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'

Reemplaza lo siguiente:

  • KEYSET_NAME: Es el nombre del conjunto de claves.
  • PROJECT_NUMBER: Es el número de tu proyecto.
  • SECRET_ID: Es el ID del secreto que actualizas.
  • KEY_VERSION: es la versión de la clave.

editor de texto

  1. Exporta el 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
    

    Reemplaza lo siguiente:

    • KEYSET_NAME: Es el nombre de tu conjunto de claves, por ejemplo, prod-vod-keyset.
    • FILENAME: Es el nombre del archivo YAML.
  2. Edita el archivo de configuración del conjunto de claves exportado para quitar la clave secreta. En el siguiente ejemplo, se muestra cómo quitar 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"
    

    Reemplaza lo siguiente:

    • PROJECT_NUMBER: Es el número de tu proyecto.
    • SECRET_ID: Es el ID del secreto que actualizas.
    • KEY_VERSION: es la versión de la clave.

    El archivo editado es 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
    

Agregar un secreto

Console

  1. En la consola de Google Cloud, 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 para el que deseas agregar un secreto y, luego, haz clic en Editar.

  4. Para agregar un secreto, en la sección Claves > Claves compartidas de validación, haz clic en Secreto. Luego, selecciona un secreto de la lista, ingresa uno de forma manual especificando su ID de recurso o crea uno nuevo y, luego, selecciónalo.

  5. Selecciona una versión del Secret de la lista o crea una nueva y, luego, selecciónala.

  6. Haz clic en Actualizar conjunto de claves.

gcloud

Para agregar una clave secreta a un conjunto de claves, usa el comando gcloud edge-cache keysets update. Especifica los conjuntos de claves que tienes y el que deseas agregar.

En el siguiente ejemplo, KEY_VERSION_1 se borró anteriormente y KEY_VERSION_4 es el conjunto de claves que se agrega. La enumeración de KEY_VERSION_4, además de KEY_VERSION_2 y KEY_VERSION_3, la agrega 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'

Reemplaza lo siguiente:

  • KEYSET_NAME: Es el nombre del conjunto de claves.
  • PROJECT_NUMBER: Es el número de tu proyecto.
  • SECRET_ID: Es el ID del secreto que actualizas.
  • KEY_VERSION: es la versión de la clave.

editor de texto

  1. Exporta el 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
    

    Reemplaza lo siguiente:

    • KEYSET_NAME: el nombre de tu conjunto de claves
    • FILENAME: Es el nombre del archivo YAML.
  2. En el archivo de configuración del conjunto de claves exportado, agrega una nueva línea secretVersion que incluya una nueva versión de clave, similar a 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