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.get
storage.buckets.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la consoleTrusted 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.
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
cURL
pour 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_ID
est l'ID ou le numéro du projet pour lequel vous souhaitez consulter l'utilisation des LCA. Exemple :my-project
.END_TIME
correspond à la fin de la période pour laquelle vous souhaitez consulter l'utilisation des LCA. Exemple :2019-11-02T15:01:23.045123456Z
.START_TIME
correspond 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 Trusted Cloud , 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 Trusted Cloud , 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_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
STATE
correspond soit àuniform-bucket-level-access
pour activer l'accès uniforme au niveau du bucket, soit àno-uniform-bucket-level-access
pour 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
true
oufalse
.Utilisez
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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
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
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 Trusted Cloud , 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 Trusted Cloud , 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
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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Si 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.