Cette page vous explique comment activer, désactiver et vérifier l'état de l'accès uniforme au niveau du bucket, dans un bucket Cloud Storage.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir et gérer l'accès uniforme au niveau du 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 définir et gérer l'accès uniforme au niveau du bucket. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.getstorage.buckets.list- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la consoleCloud de Confiance 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.
Vérifier l'utilisation des listes de contrôle d'accès
Avant d'activer l'accès uniforme au niveau du bucket, utilisez Cloud Monitoring pour vous assurer que votre bucket n'utilise aucune liste de contrôle d'accès (LCA) pour les workflows. Pour en savoir plus, consultez la section Vérifier l'utilisation des listes de contrôle d'accès aux objets.
Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON Monitoring :curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json'
Où :
PROJECT_IDest l'ID ou le numéro du projet pour lequel vous souhaitez consulter l'utilisation des LCA. Exemple :my-project.END_TIMEcorrespond à la fin de la période pour laquelle vous souhaitez consulter l'utilisation des LCA. Exemple :2019-11-02T15:01:23.045123456Z.START_TIMEcorrespond au début de la période pour laquelle vous souhaitez consulter l'utilisation des LCA. Exemple :2016-10-02T15:01:23.045123456Z.
Si la requête renvoie un objet vide {}, cela signifie qu'il n'y a aucune utilisation de LCA récente pour votre projet.
Définir l'accès uniforme au niveau du bucket
Console
- Dans la console Cloud de Confiance , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez activer ou désactiver l'accès uniforme au niveau du bucket.
Sélectionnez l'onglet Autorisations en haut de la page.
Dans le champ nommé Contrôle des accès, cliquez sur le lien Passer à.
Dans le menu qui s'affiche, sélectionnez Uniforme ou Ultraprécis.
Cliquez sur Enregistrer.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées aux opérations Cloud Storage ayant échoué dans la console Cloud de Confiance , consultez la section Dépannage.
Ligne de commande
Exécutez la commande gcloud storage buckets update :
gcloud storage buckets update gs://BUCKET_NAME --STATE
Où :
BUCKET_NAMEcorrespond au nom du bucket concerné. Exemple :my-bucketSTATEcorrespond soit àuniform-bucket-level-accesspour activer l'accès uniforme au niveau du bucket, soit àno-uniform-bucket-level-accesspour le désactiver.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans 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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
L'exemple suivant active l'accès uniforme au niveau du bucket sur un bucket :
L'exemple suivant désactive l'accès uniforme au niveau du bucket dans un bucket :
API REST
API JSON
Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier JSON contenant les informations suivantes :
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
où STATE est
trueoufalse.Utilisez
cURLpour 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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Où :
JSON_FILE_NAMEcorrespond au chemin d'accès au fichier que vous avez créé à l'étape 2.BUCKET_NAMEcorrespond au nom du bucket concerné. Exemple :my-bucket
API XML
L'API XML ne peut pas être utilisée avec l'accès uniforme au niveau du bucket. Utilisez plutôt un autre outil Cloud Storage, tel que gcloud CLI.
Afficher l'état d'accès uniforme au niveau du bucket
Console
- Dans la console Cloud de Confiance , accédez à la page Buckets de Cloud Storage.
Cliquez sur le nom du bucket dont vous souhaitez vérifier l'état.
Cliquez sur l'onglet Configuration.
L'état d'accès uniforme du bucket est indiqué dans le champ Contrôle des accès.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées aux opérations Cloud Storage ayant échoué dans la console Cloud de Confiance , consultez la section Dépannage.
Ligne de commande
Exécutez la commande gcloud storage buckets describe avec l'option --format :
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
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 :
uniform_bucket_level_access: true
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 la page Configurer l'authentification pour les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
API REST
API JSON
Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requêteGETBucket incluant l'élémentfieldssouhaité :curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Où
BUCKET_NAMEest le nom du bucket concerné. Exemple :my-bucketSi l'accès uniforme au niveau du bucket est activé sur le bucket, la réponse se présente comme suit :
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API XML
L'API XML ne peut pas être utilisée avec l'accès uniforme au niveau du bucket. Utilisez plutôt un autre outil Cloud Storage, tel que gcloud CLI.
Étapes suivantes
- En savoir plus sur l'accès uniforme au niveau du bucket.
- Définissez des autorisations IAM sur les buckets et les projets.