Cette page explique comment utiliser la fonctionnalité de verrouillage de conservation des objets, y compris comment l'activer pour un bucket et définir des configurations de conservation pour les objets qu'il contient.
Rôles requis
Pour obtenir les autorisations nécessaires pour activer la fonctionnalité de verrou de conservation des objets sur un bucket et définir des configurations de conservation sur les objets, demandez à votre administrateur de vous accorder le rôle IAM "Administrateur de l'espace de stockage" (roles/storage.admin
) sur le bucket ou le projet contenant le bucket. Ce rôle prédéfini contient les autorisations requises pour définir et gérer les configurations de conservation. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.create
storage.buckets.enableObjectRetention
storage.buckets.get
storage.buckets.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la console Google Cloud pour suivre les instructions de cette page.
storage.objects.get
storage.objects.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la console Google Cloud pour suivre les instructions de cette page.
storage.objects.overrideUnlockedRetention
- Cette autorisation n'est requise que si vous envisagez de verrouiller ou de raccourcir une configuration de conservation existante.
storage.objects.setRetention
storage.objects.update
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés.
Pour en savoir plus sur l'attribution de rôles dans des buckets, consultez la page Utiliser IAM avec des buckets. Pour savoir comment attribuer des rôles aux projets, consultez la page Gérer l'accès aux projets.
Activer la conservation des objets pour un bucket
L'activation de la conservation des objets n'est possible qu'au moment de la création du bucket. Si la conservation des objets est activée sur un bucket, elle ne peut pas être désactivée. Suivez les instructions ci-dessous pour activer la conservation des objets pour un bucket :
Console
Créez un bucket comme à votre habitude, puis à l'étape Choisir comment protéger les données d'objet, sélectionnez Conservation (pour la conformité), puis Activer la conservation des objets.
Ligne de commande
Créez un bucket comme à votre habitude et ajoutez l'option --enable-per-object-retention
dans la commande.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Créez un bucket comme à votre habitude et incluez le paramètre de requête enableObjectRetention=true
dans la requête.
API XML
Créez un bucket comme à votre habitude et incluez l'en-tête x-goog-bucket-object-lock-enabled: True
dans la requête.
Afficher l'état de conservation des objets d'un bucket
Pour savoir si la conservation des objets est activée sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Cliquez sur le nom du bucket dont vous souhaitez vérifier l'état.
Cliquez sur l'onglet Protection.
L'état de conservation des objets du bucket s'affiche dans la section Conservation des objets.
Ligne de commande
Exécutez la commande gcloud storage buckets describe
avec l'option --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
Où BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la règle de conservation. Exemple :my-bucket
Si l'opération réussit et qu'une règle de conservation existe pour le bucket, la réponse est semblable à celle-ci :
per_object_retention: mode: Enabled
Si l'opération réussit et qu'aucune règle de conservation n'existe pour le bucket, la réponse est semblable à celle-ci :
null
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation des objets d'un bucket, suivez les instructions permettant d'afficher les métadonnées d'un bucket et recherchez le champ de conservation des objets dans la réponse.API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketGET
incluant le champobjectRetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
API XML
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API XML avec une requête de bucketGET
limitée à?object-lock
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?object-lock"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Définir la configuration de conservation d'un objet
Pour définir la configuration de conservation d'un objet, celui-ci doit être stocké dans un bucket pour lequel la conservation des objets est activée. Pour définir une configuration de conservation pour un objet, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket qui contient l'objet dont vous souhaitez définir ou modifier la configuration de conservation.
La page Informations sur le bucket s'ouvre avec l'onglet Objets sélectionné.
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur le nom de l'objet.
La page Détails de l'objet s'ouvre. Elle contient les métadonnées de l'objet.
Dans la section Protection, cliquez sur l'icône Modifier (edit) associée à À partir de la configuration de conservation des objets.
Le volet Modifier la conservation s'ouvre.
Dans la section Configuration de la conservation des objets, cliquez sur Activé ou Désactivé.
- Si la configuration de conservation est activée, sélectionnez une date et une heure pour la configuration dans Conserver jusqu'à cette date puis cliquez sur Déverrouillé ou Verrouillé dans Mode de conservation.
Cliquez sur Confirmer.
Ligne de commande
Exécutez la commande gcloud storage objects update
avec les options appropriées. Pour ajouter ou modifier une configuration de conservation, exécutez la commande suivante. Notez que vous devez également inclure l'option --override-unlocked-retention
si vous modifiez une configuration existante de manière à la verrouiller ou à raccourcir son délai de conservation :
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet concerné. Exemple :kitten.png
DATETIME
correspond à la date et à l'heure les plus anciennes auxquelles l'objet a pu être supprimé. Par exemple,2028-02-15T05:30:00Z
.STATE
correspond àLocked
ouUnlocked
.
Si l'opération réussit, la réponse se présente comme suit :
Updating gs://my-bucket/kitten.png... Completed 1
Pour supprimer une configuration de conservation d'un objet, exécutez la commande suivante :
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet concerné. Exemple :kitten.png
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier JSON contenant les informations suivantes :
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
Où :
STATE
correspond àLocked
ouUnlocked
.DATETIME
correspond à la date et à l'heure les plus anciennes auxquelles l'objet a pu être supprimé. Exemple :2028-02-15T05:30:00Z
.
Exécutez
cURL
pour appeler l'API JSON avec une requête d'objetPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier que vous avez créé à l'étape 2.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé au format URL de l'objet pertinent. Par exemple,pets/kitten.png
, encodé au format URL sous la formepets%2Fkitten.png
.- La valeur
BOOLEAN
doit êtretrue
si la requête raccourcit, supprime ou verrouille une configuration de conservation existante. Sinon, le paramètreoverrideUnlockedRetention
peut être exclu complètement de la requête.
API XML
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier XML contenant les informations suivantes :
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
Où :
STATE
correspond àGOVERNANCE
ouCOMPLIANCE
.DATETIME
correspond à la date et à l'heure les plus anciennes auxquelles l'objet a pu être supprimé. Exemple :2028-02-15T05:30:00Z
.
Utilisez
cURL
pour appeler l'API XML avec une requête d'objetPUT
limitée à?retention
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-bypass-governance-retention: BOOLEAN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Où :
XML_FILE_NAME
correspond au chemin d'accès au fichier XML que vous avez créé à l'étape 2.- La valeur
BOOLEAN
doit êtretrue
si la requête raccourcit, supprime ou verrouille une configuration de conservation existante. Sinon, l'en-têtex-goog-bypass-governance-retention
peut être exclu complètement de la requête. BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé au format URL de l'objet pertinent. Par exemple,pets/kitten.png
, encodé au format URL sous la formepets%2Fkitten.png
.
Afficher la configuration de conservation d'un objet
Pour afficher la configuration de conservation définie sur un objet, le cas échéant, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket qui contient l'objet dont vous souhaitez afficher la configuration de conservation.
La page Informations sur le bucket s'ouvre avec l'onglet Objets sélectionné.
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur le nom de l'objet.
La page Détails de l'objet s'ouvre. Elle contient les métadonnées de l'objet. Les informations sur la configuration de conservation de l'objet s'affichent dans la section Protection.
Ligne de commande
Exécutez la commande gcloud storage objects describe
avec l'option --format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet concerné. Exemple :kitten.png
Si l'opération réussit et qu'il existe une configuration de conservation pour l'objet, la réponse est semblable à celle-ci :
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
Si l'opération aboutit et qu'aucune configuration de conservation n'existe pour l'objet, la réponse est semblable à celle-ci :
null
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour afficher la configuration de conservation d'un objet, suivez les instructions permettant d'afficher les métadonnées d'un objet et recherchez le champ de conservation dans la réponse.API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requête d'objetGET
incluant le champretention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet concerné. Exemple :kitten.png
API XML
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API XML avec une requête d'objetGET
limitée à?retention
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet concerné. Exemple :kitten.png
Étapes suivantes
- Apprenez-en plus sur les configurations de conservation.
- Découvrez d'autres fonctionnalités permettant de protéger vos données Cloud Storage.
- Découvrez la gestion du cycle de vie des objets qui permet de supprimer automatiquement les fichiers une fois qu'ils ont atteint leur durée de conservation.