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 dans Cloud Storage.
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.
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, tel qu'Administrateur de l'espace de stockage.
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 Google Cloud Console, accédez à la page Monitoring.
Si vous n'avez jamais utilisé Cloud Monitoring, la première fois que vous y accédez dans Google Cloud Console, un espace de travail est automatiquement créé et votre projet lui est associé. Sinon, si votre projet n'est pas associé à un espace de travail, une boîte de dialogue s'affiche. Vous pouvez soit créer un espace de travail, soit ajouter le projet à un espace de travail existant. Nous vous recommandons de créer un espace de travail. Après avoir effectué votre sélection, cliquez sur Ajouter.
- Dans le volet de navigation "Surveillance", cliquez sur
Explorateur de métriques.
- Assurez-vous que l'onglet Métrique est sélectionné.
- Dans le champ Rechercher un type de ressource et une métrique, sélectionnez des valeurs dans le menu ou saisissez le nom de la ressource et de la métrique. Remplissez les champs à l'aide des informations suivantes :
- Pour le champ Ressource, sélectionnez ou saisissez gcs_bucket.
- Pour le champ Métrique, sélectionnez ou saisissez ACLs usage.
- Pour modifier l'affichage des données, utilisez les menus Filtre, Grouper par et Agrégateur. Par exemple, pour regrouper les données par bucket et opération de LCA, sélectionnez acl_operation dans le champ Grouper par et sum dans le champ Agrégateur. Pour en savoir plus, consultez la page Sélectionner des 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
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
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 OAUTH2_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
.OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.
Si la requête renvoie un objet vide {}
, cela signifie qu'il n'y a aucune utilisation de LCA récente pour votre projet.
Activer l'accès uniforme au niveau du bucket
Pour activer l'accès uniforme au niveau du bucket dans votre 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 souhaité.
Sélectionnez l'onglet Autorisations en haut de la page.
Dans la zone de texte intitulée Contrôle des accès, cliquez sur Passer aux autorisations uniformes.
Dans la fenêtre pop-up qui s'affiche, sélectionnez Uniforme.
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
Utilisez l'option on
d'une commande uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set on 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 :
Enabling uniform bucket-level access for gs://test-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 :
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true } } }
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=iamConfiguration"
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 avec l'accès uniforme au niveau du bucket. Utilisez plutôt l'un des autres outils de Cloud Storage, tels que gsutil.
Afficher l'état d'accès uniforme au niveau du bucket
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 Contrôle des accès est sélectionné.
Dans la liste des buckets, l'état d'accès uniforme de chaque bucket est indiqué dans la colonne Contrôle des accès.
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 uniformbucketlevelaccess get
:
gsutil uniformbucketlevelaccess get gs://BUCKET_NAME
où BUCKET_NAME
est le nom du bucket concerné. Exemple : my-bucket
.
Si l'accès uniforme au niveau du bucket est activé, la réponse se présente comme suit :
Uniform bucket-level access setting for gs://my-bucket/: Enabled: True LockedTime: LOCK_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êteGET
Bucket incluant l'élémentfields
souhaité :curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Où :
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
.
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 l'un des autres outils de Cloud Storage, tels que gsutil.
Désactiver l'accès uniforme au niveau du bucket
Vous devez supprimer toutes les conditions IAM de la stratégie IAM du bucket avant de pouvoir désactiver l'accès uniforme au niveau du bucket.
Pour désactiver l'accès uniforme au niveau du bucket dans votre 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 souhaité.
Sélectionnez l'onglet Autorisations en haut de la page.
Dans la zone de texte intitulée Contrôle des accès, cliquez sur Passer aux autorisations précises. Notez que la zone de texte disparaît 90 jours après l'activation de l'accès uniforme au niveau du bucket.
Dans la fenêtre pop-up qui s'affiche, sélectionnez Ultraprécis.
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
Utilisez l'option off
d'une commande uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set off 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 :
Disabling uniform bucket-level access for 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 :
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": false } } }
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=iamConfiguration"
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 avec l'accès uniforme au niveau du bucket. Utilisez plutôt l'un des autres outils de Cloud Storage, tels que gsutil.
Étape suivante
- En savoir plus sur l'accès uniforme au niveau du bucket.
- Définissez des autorisations IAM sur les buckets et les projets.