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.
Avant de commencer
Avant de pouvoir utiliser la fonctionnalité de verrou de bucket, assurez-vous d'avoir suivi les étapes des sections suivantes.
Obtenir les rôles requis
Pour obtenir les autorisations nécessaires pour utiliser le verrou de bucket, demandez à votre administrateur de vous accorder le rôle "Administrateur de l'espace de stockage" (roles/storage.admin
) sur le bucket. Ce rôle prédéfini contient les autorisations requises pour utiliser le verrou de bucket. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
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.buckets.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.
Désactiver la gestion des versions d'objets
Assurez-vous que la gestion des versions d'objets est désactivée pour le bucket que vous souhaitez utiliser. Consultez la page Utiliser la gestion des versions d'objets pour savoir comment désactiver la gestion des versions d'objets et vérifier si cette fonctionnalité est activée pour un bucket.
Définir une règle de conservation sur un bucket
Pour ajouter, modifier ou supprimer une règle de conservation sur un bucket, 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 dont vous souhaitez modifier les règles de conservation.
Sélectionnez l'onglet Protection en haut de la page.
Dans la section Règle de conservation, définissez votre règle de conservation :
Si aucune règle de conservation ne s'applique actuellement au bucket, cliquez sur le lien add_box Définir une règle de conservation. Choisissez une unité de temps et une durée pour votre période de conservation.
Si une règle de conservation s'applique actuellement à un bucket, elle apparaît dans la section. Cliquez sur Modifier pour modifier la durée de conservation ou sur Supprimer pour supprimer complètement la règle de conservation.
Consultez la section Durées de conservation pour en savoir plus sur la conversion entre les différentes unités de temps par la console Google Cloud.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées aux opérations Cloud Storage ayant échoué dans la console Google Cloud, consultez la section Dépannage.
Ligne de commande
Exécutez la commande gcloud storage buckets update
avec l'option appropriée :
gcloud storage buckets update gs://BUCKET_NAME FLAG
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
FLAG
correspond au paramètre souhaité pour la durée de conservation du bucket. Utilisez l'un des formats suivants :--retention-period
et une période de conservation, si vous souhaitez ajouter ou modifier une règle de conservation. Exemple :--retention-period=1d43200s
.--clear-retention-period
, si vous souhaitez supprimer la règle de conservation du bucket.
Si l'opération réussit, la réponse se présente comme suit :
Updating gs://my-bucket/... Completed 1
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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.
L'exemple suivant définit une règle de conservation sur un bucket :
L'exemple suivant supprime la règle de conservation d'un bucket :
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 :
{ "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.Pour supprimer la règle de conservation d'un bucket, utilisez le code suivant dans le fichier JSON :
{ "retentionPolicy": null }
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
: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?fields=retentionPolicy"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.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 ou supprimer 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.
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
- 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 verrouiller les règles de conservation.
Sélectionnez l'onglet Protection 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.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées aux opérations Cloud Storage ayant échoué dans la console Google Cloud, consultez la section Dépannage.
Ligne de commande
Exécutez la commande gcloud storage buckets update
avec l'option --lock-retention-period
:
gcloud storage buckets update gs://BUCKET_NAME --lock-retention-period
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 :
Updating gs://my-bucket/... Completed 1
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.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
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.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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
.Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Où :
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 un autre outil Cloud Storage, tel que la console Google Cloud.
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
- 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.
Si une règle de conservation est appliquée à un bucket, la durée de conservation s'affiche dans le champ Protection du bucket. Si la règle de conservation n'est pas verrouillée, une icône en forme de cadenas apparaît à côté de la durée de conservation dans un état déverrouillé. Si la règle de conservation est verrouillée, une icône en forme de cadenas s'affiche à côté de la durée de conservation dans un état verrouillé.
Ligne de commande
Exécutez la commande gcloud storage buckets describe
avec l'option --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(retention_policy)"
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 :
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
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.
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.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
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.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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
.Exécutez
cURL
pour appeler l'API JSON avec une requêteGET
Bucket incluant l'élémentfields
souhaité :curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Où
BUCKET_NAME
est le 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 un autre outil Cloud Storage, tel que la console Google Cloud.
Étapes suivantes
- Découvrez les règles de conservation.
- Découvrez comment utiliser l'obligation de conservation d'objets.
- 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.