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
Suivez les instructions ci-dessous pour autoriser les configurations de conservation pour les objets d'un bucket. Si vous souhaitez activer des configurations de conservation des objets pour un bucket existant, vous devez suivre les instructions de la console Google Cloud.
Console
Pour activer les configurations de conservation des objets pour un nouveau bucket:
- 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.
Pour activer les configurations de conservation des objets pour un bucket existant:
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez activer la conservation des objets.
Sélectionnez l'onglet Protection en haut de la page.
L'état de conservation des objets du bucket s'affiche dans la section Conservation des objets.
Dans la section Conservation des objets, cliquez sur Conservation des objets non activée.
Dans la boîte de dialogue qui s'affiche, cliquez sur Confirmer.
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 la page Configurer l'authentification pour les 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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 des configurations de conservation peuvent être définies pour les objets d'un bucket:
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
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, ce qui vous permet de générer un jeton d'accès pour 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 une configuration de conservation pour 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 contenant 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 la conservation des objets.
Le volet Modifier la durée de conservation s'affiche.
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 la page Configurer l'authentification pour les 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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour 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
.
Utilisez
cURL
pour appeler l'API JSON avec une requêtePATCH
Object: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, ce qui vous permet de générer un jeton d'accès pour 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 contenant 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 sont affichées 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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêteGET
Object 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, ce qui vous permet de générer un jeton d'accès pour 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.