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 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.
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.
Console
Pour afficher les métriques d'une ressource surveillée à l'aide de l'explorateur de métriques, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page leaderboardExplorateur de métriques :
Accéder à l'explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans l'élément Métrique, développez le menu Sélectionner une métrique, saisissez
ACLs usage
dans la barre de filtre, puis utilisez les sous-menus pour sélectionner un type de ressource et des métriques spécifiques :- Dans le menu Ressources actives, sélectionnez Bucket GCS.
- Dans le menu Catégories de métriques actives, sélectionnez Authz.
- Dans le menu Métriques actives, sélectionnez Utilisation des LCA.
- Cliquez sur Appliquer.
- Configurez le mode d'affichage des données. Par exemple, pour afficher vos données via l'opération de LCA, pour le paramètre Agrégation définissez le premier menu sur Somme et le second menu sur acl_operation.
Pour plus d'informations sur la configuration d'un graphique, consultez la page Sélectionner des métriques lors de l'utilisation de l'explorateur de métriques.
Pour obtenir la liste complète des métriques disponibles pour Cloud Storage, consultez la page storage
. Pour plus d'informations sur les séries temporelles, consultez la section Métriques, séries temporelles et ressources.
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 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
Pour activer ou désactiver l'accès uniforme au niveau du bucket dans votre 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 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 Google 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é. Par 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.
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.
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.
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.
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.
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.
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.
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.
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 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 :
{ "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.googleapis.com/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 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 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 Google 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.
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.
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.
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.
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.
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
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=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.