Configurer la règle de conservation de la corbeille

Par défaut, Compute Engine conserve les instantanés standards supprimés dans la corbeille pendant une période de conservation de trois jours avant de les effacer définitivement. Vous pouvez configurer une période de conservation plus courte ou désactiver la corbeille en modifiant la règle de conservation de la corbeille.

Ce document explique comment afficher et configurer la stratégie de conservation de la corbeille.

Pour afficher le contenu d'une corbeille ou récupérer un instantané à partir de la corbeille, consultez Gérer la corbeille.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux services et aux API Cloud de Confiance by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Cloud de Confiance pour accéder aux services Cloud de Confiance by S3NS et aux API, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init
  • Définissez une région et une zone par défaut.
  • REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .

Rôles et autorisations nécessaires

Pour obtenir les autorisations nécessaires pour afficher et gérer le règlement de conservation de la corbeille, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Compute (roles/compute.admin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour afficher et gérer la règle de conservation de la corbeille. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour afficher et gérer la règle de conservation de la corbeille :

  • Pour définir, modifier et supprimer des règles dans la règle de conservation de la corbeille : compute.snapshotRecycleBinPolicy.patch
  • Pour afficher la règle de conservation de la corbeille : compute.snapshotRecycleBinPolicy.get
  • Pour afficher la règle de conservation de la corbeille pour un instantané standard : compute.snapshots.getEffectiveRecycleBinRule sur l'instantané

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Fonctionnement de la règle de conservation de la corbeille

La règle de conservation de la corbeille est un ensemble global de règles qui définissent la période de conservation des instantanés standards dans tous les projets et organisations.

La règle de conservation de la corbeille présente les caractéristiques suivantes :

  • La période de conservation par défaut de trois jours est appelée règle système par défaut. Vous ne pouvez pas supprimer la règle système par défaut, mais vous pouvez la remplacer.

  • Pour remplacer la règle système par défaut, vous pouvez ajouter des règles par défaut pour un projet ou une organisation qui s'appliquent respectivement à un projet ou à une organisation. Vous pouvez également ajouter des règles basées sur des tags à la règle de conservation de la corbeille.

  • Les conflits de règles dans la règle de conservation sont résolus comme suit :

    1. Les règles basées sur des tags remplacent les règles par défaut au niveau du projet et de l'organisation.
    2. Si plusieurs règles basées sur des tags s'appliquent à un instantané standard, c'est la règle dont la période de conservation est la plus longue qui s'applique. Toutefois, une règle par défaut au niveau du projet ne remplacera pas une règle basée sur des tags, même si la période de conservation de la première est plus longue.
    3. Les règles par défaut du projet remplacent celles de l'organisation.
    4. Si aucune règle ne s'applique à un instantané standard, la règle système par défaut s'applique.

    Pour en savoir plus, consultez Hiérarchie des règles dans la règle de conservation de la corbeille.

  • Bien que Google ne recommande pas de désactiver la corbeille, vous pouvez le faire pour un projet, une organisation ou un tag en créant une règle avec une période de conservation de zéro jour. Tous les instantanés standards soumis à la règle sont immédiatement effacés lorsque vous les supprimez.

  • Les modifications apportées à la règle de conservation de la corbeille ne s'appliquent pas aux instantanés récupérables existants, c'est-à-dire aux instantanés standards supprimés existants qui se trouvent dans la corbeille.

Limites

  • Seuls les instantanés standards sont acceptés. Les instantanés d'archive, les instantanés immédiats, les disques et les images sont immédiatement et définitivement effacés lors de leur suppression.
  • Les modifications apportées à la règle de conservation de la corbeille ne s'appliquent pas aux instantanés récupérables existants, c'est-à-dire aux instantanés standards supprimés existants qui se trouvent dans la corbeille.
  • Pour spécifier une règle de conservation pour un tag, celui-ci doit déjà exister.
  • Vous ne pouvez définir des règles de conservation que pour les projets, les organisations ou les tags.
  • Si vous définissez une règle de conservation pour un tag, elle ne s'applique qu'aux instantanés standards associés à ce tag. Les instantanés d'archive, les instantanés immédiats, les disques et toutes les autres ressources portant ce tag ne sont pas compatibles avec la corbeille et sont définitivement effacés lorsque vous les supprimez.

Définir ou supprimer la période de conservation par défaut pour un projet ou une organisation

Pour remplacer la règle système par défaut de trois jours dans un projet ou une organisation, ou pour désactiver la corbeille, définissez la règle de conservation par défaut pour le projet ou l'organisation.

Vous pouvez utiliser gcloud CLI ou REST.

CLI gcloud

Utilisez la commande gcloud beta compute snapshot-recycle-bin-policy update. Utilisez le flag --set-rule=default pour définir la règle de conservation par défaut et le flag --standard-snapshots-retention-duration-days pour spécifier la période de conservation de la règle.

  • Pour définir la règle de conservation par défaut d'une organisation, utilisez la commande suivante :

    gcloud beta compute snapshot-recycle-bin-policy update \
      --set-rule=default \
      --standard-snapshots-retention-duration-days=DEFAULT_RETENTION_PERIOD_DAYS \
      --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants par les valeurs correspondantes :

    • DEFAULT_RETENTION_PERIOD_DAYS : période de conservation, en jours, pour le projet ou l'organisation. Spécifiez une valeur comprise entre 0 et 7. Pour désactiver la corbeille, spécifiez 0.
    • ORGANIZATION_ID (facultatif) : ID de l'organisation pour laquelle vous souhaitez définir la règle de conservation par défaut. Exemple : 123456789012. Vous devez spécifier l'ID d'organisation ou l'ID du projet, mais pas les deux.

    Pour définir la règle de conservation par défaut d'un projet, remplacez l'indicateur --organization par --project=<var>PROJECT_ID</var> dans la commande précédente, où PROJECT_ID correspond à l'ID du projet.

  • Pour supprimer la règle de conservation par défaut d'un projet ou d'une organisation, utilisez la même commande, mais spécifiez --remove-rule=default au lieu de --set-rule=default.

    Par exemple, pour supprimer la règle de conservation par défaut d'une organisation :

    gcloud beta compute snapshot-recycle-bin-policy update \
      --organization=ORGANIZATION_ID \
      --remove-rule=default
    

    Remplacez ORGANIZATION_ID par l'ID de l'organisation.

REST

Envoyez une requête PATCH à la méthode snapshotRecycleBinPolicy.

Dans le corps de la requête, incluez un objet rules qui spécifie la période par défaut de la corbeille, en jours.

  • Pour ajouter ou modifier une règle de conservation pour un projet :

    PATCH  https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    {
    "rules": {
      "default": {
        "standardSnapshots": {
          "retentionDurationDays": DEFAULT_RETENTION_PERIOD_DAYS
        }
      }
    }
    }
    

    Remplacez les éléments suivants par les valeurs correspondantes :

    • PROJECT_ID : ID du projet, par exemple dev-project.
    • DEFAULT_RETENTION_PERIOD_DAYS : période de conservation par défaut, en jours. Spécifiez une valeur comprise entre 0 et 7. Pour désactiver la corbeille, spécifiez 0.
  • Pour ajouter ou modifier une règle de conservation pour une organisation, envoyez une requête PATCH comme dans l'exemple précédent, mais utilisez l'URL suivante.

    PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

    Le corps de la requête est le même que dans l'exemple précédent.

    Remplacez ORGANIZATION_ID par l'ID de l'organisation. Par exemple, 123456789012.

  • Pour supprimer la règle de conservation par défaut d'un projet ou d'une organisation, effectuez une requête PATCH semblable, mais spécifiez null pour la règle default.

    Par exemple, pour supprimer la règle de conservation par défaut d'une organisation :

    PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
    {
    "rules": {
       "default": null
     }
    }
    

    Remplacez ORGANIZATION_ID par l'ID de l'organisation.

Définir ou supprimer la règle de conservation d'un tag

Pour définir une période de conservation spécifique pour les instantanés standards associés à un tag spécifique, définissez une règle basée sur les tags au niveau du projet ou de l'organisation. Les règles basées sur des tags remplacent la règle par défaut d'un projet ou d'une organisation, et présentent les caractéristiques suivantes :

  • Les règles basées sur des tags au niveau de l'organisation ou du projet s'appliquent à tous les instantanés standards de l'organisation ou du projet, respectivement, qui comportent le tag.
  • Les règles de tag au niveau du projet remplacent celles au niveau de l'organisation uniquement si la période de conservation de la règle au niveau du projet est plus longue.

    Par exemple, une règle de tag au niveau de l'organisation avec une période de conservation de deux jours remplace une règle de tag au niveau du projet d'un jour.

Pour en savoir plus, consultez Hiérarchie des règles dans la règle de conservation de la corbeille.

Vous pouvez utiliser gcloud CLI ou REST.

CLI gcloud

Pour définir une règle de conservation pour un tag, utilisez la commande gcloud beta compute snapshot-recycle-bin-policy update. Utilisez l'indicateur --set-rule pour spécifier le nom du tag et l'indicateur --standard-snapshots-retention-duration-days pour spécifier la période de conservation dans la corbeille, en jours, pour le tag.

gcloud beta compute snapshot-recycle-bin-policy update \
  --set-rule=TAG_NAMESPACED_NAME \
  --standard-snapshots-retention-duration-days=RETENTION_PERIOD_DAYS \
  --organization=ORGANIZATION_ID

Remplacez les éléments suivants par les valeurs correspondantes :

  • TAG_NAMESPACED_NAME : nom de l'espace de noms du tag, y compris sa valeur. Par exemple, my-project-id/tag-key/tag-value ou my-organization-id/tag-key/tag-value.
  • RETENTION_PERIOD_DAYS : durée de conservation en jours, de 0 à 7. Pour désactiver la corbeille pour les instantanés associés à ce tag, spécifiez 0.
  • ORGANIZATION_ID (facultatif) : ID de l'organisation à laquelle la règle s'applique. Par exemple, 123456789012. Vous devez spécifier l'ID d'organisation ou l'ID du projet, mais pas les deux.

Pour définir la règle de conservation par défaut d'un projet, remplacez l'indicateur --organization par --project=<var>PROJECT_ID</var> dans la commande précédente, où PROJECT_ID correspond à l'ID du projet.

Pour supprimer une règle de conservation pour un tag, utilisez la même commande, mais spécifiez --remove-rule=TAG_NAMESPACED_NAME au lieu de --set-rule. Par exemple, pour supprimer une règle basée sur des tags pour une organisation :

gcloud beta compute snapshot-recycle-bin-policy update \
  --organization=ORGANIZATION_ID \
  --remove-rule=TAG_NAMESPACED_NAME

REST

Pour définir une règle de stratégie de rétention pour un tag, envoyez une requête PATCH à la méthode snapshotRecycleBinPolicy. Dans le corps de la requête, incluez un objet rules qui spécifie le nom du tag et la période de conservation, en jours.

  • Pour définir ou mettre à jour une règle de conservation pour un tag dans un projet :
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy/
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": {
      "standardSnapshots": { 
        "retentionDurationDays": RETENTION_PERIOD_DAYS
      }
    }
  }
}

Remplacez les éléments suivants par les valeurs correspondantes :

  • PROJECT_ID : ID du projet
  • TAG_NAMESPACED_NAME : nom de l'espace de noms du tag, y compris sa valeur. Par exemple, my-project-id/env/prod ou my-organization-id/env/build.
  • RETENTION_PERIOD_DAYS : durée de conservation en jours, de 0 à 7. Pour désactiver la corbeille pour les instantanés associés à ce tag, spécifiez 0.

  • Pour définir ou mettre à jour une règle de conservation pour un tag dans une organisation, envoyez une requête PATCH comme dans l'exemple précédent, mais utilisez l'URL suivante.

PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

Remplacez ORGANIZATION_ID par l'ID de l'organisation. Le corps de la requête est identique à celui de l'exemple précédent.

  • Pour supprimer une règle de conservation pour un tag, créez une requête PATCH comme dans les exemples précédents, mais spécifiez null pour la règle basée sur le tag. Par exemple, pour supprimer la règle de conservation d'une règle basée sur des tags dans un projet :
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": null
  }
}

Afficher la règle de conservation de la corbeille pour un projet ou une organisation

Pour déterminer si un projet ou une organisation possède des règles personnalisées pour la corbeille, consultez les règles basées sur des tags ou vérifiez si la corbeille est désactivée. Pour ce faire, consultez les règles de la règle de conservation de la corbeille du projet ou de l'organisation.

Pour afficher les règles de la stratégie de conservation de la corbeille d'un projet ou d'une organisation, utilisez la gcloud CLI ou REST.

CLI gcloud

Pour afficher la règle de conservation de la corbeille pour un projet ou une organisation, y compris les règles basées sur des tags, utilisez la commande gcloud beta compute snapshot-recycle-bin-policy describe :

  • Pour afficher la règle de conservation de la corbeille d'une organisation :

    gcloud beta compute snapshot-recycle-bin-policy describe \
      --organization=ORGANIZATION_ID
    

    Remplacez ORGANIZATION_ID par l'ID de l'organisation.

  • Pour afficher la règle de conservation de la corbeille d'un projet :

    gcloud beta compute snapshot-recycle-bin-policy describe \
    --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet.

Le résultat est une liste d'objets de règle semblable à ce qui suit. La règle système par défaut de trois jours est incluse dans le résultat.

  rules:
    default:
      standardSnapshots:
        retentionDurationDays: '2'
    database-project/Testing-tag-key/build:
      standardSnapshots:
        retentionDurationDays: '0'
    database-project/Testing-tag-key/critical:
      standardSnapshots:
        retentionDurationDays: '5'
    systemRules:
      default:
        standardSnapshots:
          retentionDurationDays: '3'

Le champ retentionDurationDays de chaque règle indique sa durée de conservation en jours. Dans cet exemple, le projet database-project comporte trois règles :

  • une règle de cinq jours pour tous les instantanés portant le tag Testing-tag-key/critical.
  • suppression immédiate de tous les instantanés portant le tag Testing-tag-key/build.
  • une durée de conservation par défaut de deux jours pour tous les autres instantanés du projet.

REST

Pour afficher toutes les règles de conservation d'un projet ou d'une organisation, y compris celles basées sur des tags, envoyez une requête GET à la méthode snapshotRecycleBinPolicy.get.

  • Pour afficher la règle de conservation d'une organisation :

    GET https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy
    

    Remplacez ORGANIZATION_ID par l'ID de l'organisation.

  • Pour afficher la règle de conservation d'un projet :

    GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    

    Remplacez PROJECT_ID par l'ID du projet.

La réponse est semblable à ce qui suit. La règle système par défaut de trois jours est incluse dans le résultat.

  {
    "rules": {
     "default": {
      "standardSnapshots": {
        "retentionDurationDays": "2"
      }
    },
    "database-project/Testing-tag-key/build": {
      "standardSnapshots": {
        "retentionDurationDays": "0"
      }
    },
    "database-project/Testing-tag-key/critical": {
      "standardSnapshots": {
        "retentionDurationDays": "5"
      }
    },
     "systemRules": {
      "default": {
       "standardSnapshots": {
         "retentionDurationDays": "3"
      }
     }
    }
  }
 }

Le champ retentionDurationDays de chaque règle indique la période de conservation de la règle, en jours. Dans cet exemple, le projet database-project comporte trois règles :

  • une règle de cinq jours pour tous les instantanés portant le tag Testing-tag-key/critical.
  • suppression immédiate de tous les instantanés portant le tag Testing-tag-key/build.
  • une période de conservation par défaut de deux jours pour tous les autres instantanés du projet.

Si la période de conservation est nulle, Compute Engine efface définitivement l'instantané immédiatement après sa suppression. Sinon, la période de conservation indique la durée pendant laquelle Compute Engine conservera l'instantané dans la corbeille avant de l'effacer définitivement.

Afficher la période de conservation dans la corbeille pour une balise

Pour afficher la règle de conservation d' un tag, récupérez la règle de conservation du projet ou de l'organisation dans laquelle le tag est défini.

Vérifier la période de conservation dans la corbeille pour un instantané spécifique

Pour savoir si un instantané standard sera conservé dans la corbeille en cas de suppression et pendant combien de temps, vérifiez sa période de conservation. Si la période de conservation est nulle, l'instantané est définitivement effacé immédiatement après sa suppression. Sinon, la période de conservation indique la durée pendant laquelle l'instantané sera conservé dans la corbeille s'il est supprimé.

Vous pouvez vérifier la période de conservation d'un instantané spécifique à l'aide de la consoleCloud de Confiance , de la gcloud CLI ou de REST.

Console Cloud de Confiance

  1. Dans la console Cloud de Confiance , accédez à la page Instantanés.

Accéder à la page Instantanés

  1. Dans l'onglet Instantanés, affichez la liste des instantanés du projet.

  2. Dans la colonne Nom, cliquez sur le nom de l'instantané standard. La page Détails de l'instantané de l'instantané sélectionné s'affiche.

  3. La propriété Conservation de la corbeille indique la période de conservation de l'instantané dans la corbeille.

CLI gcloud

Pour afficher la période de conservation d'un instantané spécifique, utilisez la commande gcloud beta compute snapshots get-effective-recycle-bin-rule.

gcloud beta compute snapshots get-effective-recycle-bin-rule \
  SNAPSHOT_NAME \
  --project=PROJECT_ID

Remplacez les éléments suivants par les valeurs correspondantes :

  • PROJECT_ID : ID du projet contenant l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané.

Le résultat ressemble à ce qui suit :

retentionDurationDays: '5'

Le champ retentionDurationDays indique la durée de conservation des instantanés dans la corbeille, en jours.

REST

Pour afficher la période de conservation d'un instantané spécifique, envoyez une requête GET à la méthode getEffectiveRecycleBinRule.

GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/getEffectiveRecycleBinRule

Remplacez les éléments suivants par les valeurs correspondantes :

  • PROJECT_ID : ID du projet contenant l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané.

La réponse est semblable à ce qui suit :

{
  "retentionDurationDays": "5"
}

Le champ retentionDurationDays indique la durée de conservation des instantanés dans la corbeille, en jours.

Si la période de conservation est nulle, Compute Engine efface définitivement l'instantané immédiatement après sa suppression. Sinon, la période de conservation indique la durée pendant laquelle Compute Engine conserve l'instantané dans la corbeille avant de l'effacer définitivement.

Pour déterminer les règles de la règle de conservation qui s'appliquent à l'instantané, comparez les tags de l'instantané aux tags et à la règle par défaut de la règle de conservation pour le projet et l'organisation.

Pour modifier la période de conservation d'un instantané standard, choisissez l'une des options suivantes :

Étapes suivantes