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 sur la suppression d'une clé partagée de validation et l'ajout d'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. Pour 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. Pour Sélectionner un rôle, sélectionnez 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 l'ensemble 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 partagées de validation, cliquez sur Supprimer à côté du nom du secret.

  5. Cliquez sur Mettre à jour le keyset.

gcloud

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

Dans l'exemple suivant, KEY_VERSION_1 n'est pas listé, contrairement à KEY_VERSION_2 et KEY_VERSION_3. Si vous omettez KEY_VERSION_1, il sera supprimé du trousseau 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 ensemble 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 ensemble de clés, par exemple prod-vod-keyset
    • FILENAME : nom du fichier YAML
  2. Modifiez le fichier de configuration du keyset 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é ressemble à ceci :

    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 le trousseau de clés modifié. 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 l'ensemble de clés auquel vous souhaitez ajouter un secret, puis cliquez sur Modifier.

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

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

  6. Cliquez sur Mettre à jour le keyset.

gcloud

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

Dans l'exemple suivant, KEY_VERSION_1 a été supprimé précédemment et KEY_VERSION_4 est l'ensemble de clés en cours d'ajout. L'ajout de KEY_VERSION_4 en plus de KEY_VERSION_2 et KEY_VERSION_3 à la liste l'ajoute au keyset.

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 ensemble 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 du trousseau de clés exporté, ajoutez une ligne secretVersion qui inclut 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 le trousseau de clés modifié. Exécutez la commande gcloud edge-cache keysets import :

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