Appliquer une rotation des secrets

Cette page explique comment mettre à jour les clés Media CDN utilisées pour les requêtes signées. Vous pouvez avoir jusqu'à trois clés publiques et trois clés partagées de validation, pour un total de six clés par collection de clés. Pour éviter de dépasser ces limites lors d'une rotation des clés, consultez les instructions suivantes pour supprimer une clé partagée de validation et ajouter une clé.

Avant de commencer

  1. Configurez vos clés partagées de validation dans Secret Manager.

  2. Attribuez le rôle d'accès Secret Manager (roles/secretmanager.secretAccessor) au compte de service Media CDN.

    Console

    1. Dans la console Google Cloud, accédez à la page Secret Manager.

      Accéder à Secret Manager

    2. Sélectionnez le secret.
    3. Dans le panneau d'informations, cliquez sur Ajouter un compte principal.
    4. Dans le champ Nouveaux comptes principaux, saisissez le compte de service Media CDN comme suit:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      Remplacez PROJECT_NUMBER par le numéro de votre projet.

    5. Dans le champ Sélectionnez un rôle, choisissez Secret Manager, puis Accesseur de secrets Secret Manager.
    6. Cliquez sur Enregistrer.

    gcloud

    Exécutez la commande 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"
        

    Remplacez les éléments suivants :

    • PROJECT_NUMBER : votre numéro de projet
    • SECRET_ID: ID du secret

Supprimer un secret

Console

  1. Dans la console Google Cloud, accédez à la page Media CDN.

    Accéder à Media CDN

  2. Cliquez sur l'onglet Collections de clés.

  3. Sélectionnez la collection de clés contenant le secret que vous souhaitez supprimer, puis cliquez sur Modifier.

  4. Pour supprimer un secret, dans la section Clés > Clés de validation partagées, cliquez sur Supprimer à côté du nom du secret.

  5. Cliquez sur Mettre à jour la collection de clés.

gcloud

Pour supprimer une clé secrète d'une collection de clés, utilisez la commande gcloud edge-cache keysets update. Omettez la collection de clés que vous souhaitez supprimer et spécifiez celles que vous souhaitez conserver.

Dans l'exemple suivant, KEY_VERSION_1 n'est pas répertorié, contrairement à KEY_VERSION_2 et KEY_VERSION_3. Si vous omettez KEY_VERSION_1, il sera supprimé de la collection de clés.

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'

Remplacez les éléments suivants :

  • KEYSET_NAME: nom de la collection de clés
  • PROJECT_NUMBER : votre numéro de projet
  • SECRET_ID: ID du secret que vous mettez à jour
  • KEY_VERSION : version de la clé

éditeur de texte

  1. Exportez votre collection de clés dans un fichier YAML. Utilisez la commande gcloud edge-cache keysets export.

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

    Remplacez les éléments suivants :

    • KEYSET_NAME: nom de votre collection de clés (par exemple, prod-vod-keyset)
    • FILENAME: nom du fichier YAML
  2. Modifiez le fichier de configuration de collection de clés exporté pour supprimer la clé secrète. L'exemple suivant montre comment supprimer la clé secrète la plus ancienne, qui se termine par 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"
    

    Remplacez les éléments suivants :

    • PROJECT_NUMBER : votre numéro de projet
    • SECRET_ID: ID du secret que vous mettez à jour
    • KEY_VERSION : version de la clé

    Le fichier modifié se présente comme suit:

    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. Importez la collection de clés modifiée. Exécutez la commande gcloud edge-cache keysets import :

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

Ajouter un secret

Console

  1. Dans la console Google Cloud, accédez à la page Media CDN.

    Accéder à Media CDN

  2. Cliquez sur l'onglet Collections de clés.

  3. Sélectionnez la collection de clés à laquelle vous souhaitez ajouter un secret, puis cliquez sur Modifier.

  4. Pour ajouter un secret, dans la section Clés > Clés partagées de validation, cliquez sur Secret. Ensuite, sélectionnez un secret dans la liste, saisissez-en un manuellement en spécifiant son ID de ressource ou créez un secret, puis sélectionnez-le.

  5. Sélectionnez une version de secret dans la liste ou créez une version de secret, puis sélectionnez-la.

  6. Cliquez sur Mettre à jour la collection de clés.

gcloud

Pour ajouter une clé secrète à une collection de clés, utilisez la commande gcloud edge-cache keysets update. Spécifiez les collections de clés dont vous disposez et la collection de clés que vous souhaitez ajouter.

Dans l'exemple suivant, KEY_VERSION_1 a déjà été supprimé et KEY_VERSION_4 est la collection de clés à ajouter. Répertorier KEY_VERSION_4 en plus de KEY_VERSION_2 et KEY_VERSION_3 l'ajoute à la collection de clés.

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'

Remplacez les éléments suivants :

  • KEYSET_NAME: nom de la collection de clés
  • PROJECT_NUMBER : votre numéro de projet
  • SECRET_ID: ID du secret que vous mettez à jour
  • KEY_VERSION : version de la clé

éditeur de texte

  1. Exportez votre collection de clés dans un fichier YAML. Exécutez la commande gcloud edge-cache keysets export.

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

    Remplacez les éléments suivants :

    • KEYSET_NAME: nom de votre collection de clés
    • FILENAME: nom du fichier YAML
  2. Dans le fichier de configuration de la collection de clés exporté, ajoutez une ligne secretVersion incluant une nouvelle version de clé, comme suit:

    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. Importez la collection de clés modifiée. Exécutez la commande gcloud edge-cache keysets import :

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