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 en ajouter une.

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 votre numéro de projet.

    5. Pour Sélectionner un rôle, sélectionnez Gestionnaire de secrets, puis Accesseur de secrets du gestionnaire de secrets.
    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 le jeu 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 jeu de clés.

gcloud

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

Dans l'exemple suivant, KEY_VERSION_1 n'est pas listé, tandis que KEY_VERSION_2 et KEY_VERSION_3 le sont. Si vous omettez KEY_VERSION_1, il est supprimé du jeu 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 du jeu 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 jeu de clés (par exemple, prod-vod-keyset)
    • FILENAME: nom du fichier YAML
  2. Modifiez le fichier de configuration du jeu 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 le jeu 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 le jeu 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-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-en une, puis sélectionnez-la.

  6. Cliquez sur Mettre à jour le jeu de clés.

gcloud

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

Dans l'exemple suivant, KEY_VERSION_1 a déjà été supprimé et KEY_VERSION_4 est le jeu de clés ajouté. L'ajout de KEY_VERSION_4 en plus de KEY_VERSION_2 et KEY_VERSION_3 l'ajoute au jeu 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 du jeu 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 jeu de clés
    • FILENAME: nom du fichier YAML
  2. Dans le fichier de configuration du jeu de clés exporté, ajoutez une ligne secretVersion qui inclut une nouvelle version de clé, semblable à celle-ci:

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

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