Cette page décrit comment appliquer la fonctionnalité de verrou de bucket, y compris comment utiliser les règles de conservation et les verrouiller de manière permanente sur les buckets.
Prérequis
Avant d'utiliser cette fonctionnalité dans Cloud Storage, vous devez satisfaire aux critères suivants :
Vous devez disposer des autorisations suffisantes pour afficher et mettre à jour les buckets dans Cloud Storage :
Si vous possédez le projet contenant le bucket, vous disposez probablement des autorisations nécessaires.
Si vous utilisez IAM, vous devez disposer des autorisations
storage.buckets.update
etstorage.buckets.get
sur le bucket concerné. Consultez la page Utiliser des autorisations Cloud IAM pour savoir comment obtenir un rôle doté de ces autorisations, par exemple Administrateur de l'espace de stockage.Si vous utilisez des listes de contrôle d'accès, vous devez disposer de l'autorisation OWNER (propriétaire) sur le bucket approprié. Pour savoir comment procéder, consultez la section Configurer des LCA.
Vérifiez que la gestion des versions d'objet est désactivée pour le bucket.
Définir une règle de conservation sur un bucket
Pour définir une règle de conservation sur un bucket, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez ajouter une règle de conservation.
Sélectionnez l'onglet Conservation en haut de la page.
Dans l'entrée Règle de conservation, cliquez sur le lien + Définir une règle de conservation.
La boîte de dialogue Définir une règle de conservation apparaît.
Dans le menu déroulant, sélectionnez l'unité de temps pour votre durée de conservation.
Consultez la section Durées de conservation pour en savoir plus sur la conversion entre les différentes unités de temps.
Dans la zone de valeur, saisissez la durée de conservation.
Cliquez sur Enregistrer.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Exécutez la commande gsutil retention set
:
gsutil retention set TIME_DURATION gs://BUCKET_NAME
Où :
TIME_DURATION
correspond à la durée pendant laquelle les objets du bucket doivent être conservés. Exemple :2678400s
. Pour savoir comment gsutil effectue la conversion entre les différentes unités de temps, consultez la section Durées de conservation.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
.
Si l'opération réussit, la réponse se présente comme suit :
Setting retention policy on gs://my-bucket/...
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
Créez un fichier .json contenant les informations suivantes :
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
Où
TIME_IN_SECONDS
correspond à la durée, exprimée en secondes, pendant laquelle les objets du bucket doivent être conservés. Exemple :2678400
. Pour plus d'informations sur la mesure des différentes unités de temps en secondes, consultez la section Durées de conservation.Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Où :
JSON_FILE_NAME
correspond au nom du fichier que vous avez créé à l'étape 2.OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
.
API XML
L'API XML ne peut pas être utilisée pour définir une règle de conservation sur un bucket existant. Elle ne peut être utilisée que pour inclure une règle de conservation dans un nouveau bucket.
Supprimer une règle de conservation d'un bucket
Pour supprimer une règle de conservation d'un bucket, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez supprimer la règle de conservation.
Sélectionnez l'onglet Conservation en haut de la page.
Dans l'entrée Règle de conservation, cliquez sur le bouton Supprimer.
La boîte de dialogue Supprimer la règle de conservation ? s'affiche.
Cliquez sur Supprimer.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Exécutez la commande gsutil retention clear
:
gsutil retention clear gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Exemple : my-bucket
.
Si l'opération réussit, la réponse se présente comme suit :
Clearing retention policy on gs://my-bucket/...
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
Créez un fichier .json contenant les informations suivantes :
{ "retentionPolicy": null }
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Où :
JSON_FILE_NAME
correspond au nom du fichier que vous avez créé à l'étape 2.OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
.
API XML
L'API XML ne peut pas être utilisée pour supprimer une règle de conservation d'un bucket. Utilisez plutôt l'un des autres outils de Cloud Storage, tels que gsutil.
Verrouiller un bucket
Pour verrouiller un bucket et limiter de façon permanente les modifications apportées à la règle de conservation du bucket, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez verrouiller la règle de conservation.
Sélectionnez l'onglet Conservation en haut de la page.
Dans l'entrée Règle de conservation, cliquez sur le bouton Verrouiller.
La boîte de dialogue Verrouiller la règle de conservation ? s'affiche.
Lisez l'avis d'action permanente.
Dans la zone de texte Nom du bucket, saisissez le nom de votre bucket.
Cliquez sur Verrouiller la règle.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Exécutez la commande
gsutil retention lock
:gsutil retention lock gs://BUCKET_NAME
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
.Lorsque vous êtes invité à continuer, saisissez
y
.
Si l'opération réussit, la réponse se présente comme suit :
Locking retention policy on gs://my-bucket/...
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Où :
OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1 ;BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
.BUCKET_METAGENERATION_NUMBER
est la valeur de métagénération du bucket. Exemple :8
. Pour obtenir la valeur de métagénération du bucket, appelez l'API JSON avec une requête de bucketGET
.
API XML
L'API XML ne peut pas être utilisée pour verrouiller un bucket. Utilisez plutôt l'un des autres outils de Cloud Storage, tels que gsutil.
Afficher la règle de conservation et l'état de verrouillage d'un bucket
Pour afficher quelle règle de conservation est définie sur un bucket (le cas échéant) et si cette règle de conservation est verrouillée, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans le menu Options d'affichage des colonnes (
), assurez-vous que la case Règle de conservation est cochée.
Dans la liste des buckets, la durée de conservation de chaque bucket est indiquée dans la colonne Règle de conservation. Si la règle de conservation est verrouillée, une image de verrou apparaît directement à gauche de la durée de conservation.
gsutil
Exécutez la commande gsutil retention get
:
gsutil retention get gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Exemple : my-bucket
.
Si l'opération réussit, la réponse se présente comme suit :
gs://my-bucket/ has no retention policy.
ou :
gs://retention-test/: Retention policy LOCK_STATUS: Duration: TIME_LENGTH Effective Time: SET_DATE
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketGET
incluant l'élémentfields
souhaité :curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Où :
OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1 ;BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
.
Si une règle de conservation est définie dans le bucket, la réponse se présente comme suit :
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
API XML
L'API XML ne peut pas être utilisée pour afficher une règle de conservation d'un bucket. Utilisez plutôt l'un des autres outils de Cloud Storage, tels que gsutil.
Étapes suivantes
- Découvrez les règles de conservation.
- Découvrez comment utiliser la préservation à titre conservatoire des objets.
- Découvrez la gestion du cycle de vie des objets qui permet de supprimer automatiquement les fichiers une fois qu'ils ont atteint la fin de leur période de conservation.