Cette page explique comment définir des stratégies Identity and Access Management (IAM) sur des buckets, afin de pouvoir contrôler l'accès aux objets et aux dossiers gérés qu'ils contiennent.
Si vous recherchez d'autres méthodes de contrôle des accès, consultez les ressources suivantes:
Pour savoir comment obtenir un contrôle plus précis des groupes d'objets, consultez la page Définir et gérer des stratégies IAM sur des dossiers gérés.
Pour découvrir un autre moyen de contrôler l'accès à des objets individuels dans vos buckets, consultez la page Listes de contrôle d'accès.
Pour en savoir plus sur le contrôle de l'accès aux ressources Cloud Storage, consultez la page Présentation du contrôle des accès.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir et gérer les stratégies IAM d'un bucket, demandez à votre administrateur de vous accorder le rôle IAM d'administrateur de l'espace de stockage (roles/storage.admin
) sur le bucket.
Ce rôle contient les autorisations suivantes, requises pour définir et gérer les stratégies IAM des buckets :
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.buckets.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la console Google Cloud pour effectuer les tâches décrites sur cette page.
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés.
Ajouter un compte principal à une stratégie au niveau du bucket
Pour obtenir la liste des rôles associés à Cloud Storage, consultez la page Rôles IAM. Pour plus d'informations sur les entités auxquelles vous octroyez des rôles IAM, consultez la section Identifiants principaux.
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 attribuer un rôle à un compte principal.
Sélectionnez l'onglet Autorisations en haut de la page.
Cliquez sur le bouton add_box Accorder l'accès.
La boîte de dialogue Ajouter des entités principales s'affiche.
Dans le champ Nouveaux comptes principaux, saisissez une ou plusieurs identités nécessitant un accès au bucket.
Sélectionnez un ou plusieurs rôles dans le menu déroulant Select a role (Sélectionnez un rôle). Les rôles sélectionnés apparaissent dans le volet et sont accompagnés d'une brève description des autorisations auxquelles ils correspondent.
Cliquez sur Save (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 buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Où :
BUCKET_NAME
correspond au nom du bucket pour lequel vous accordez l'accès au compte principal. Par exemple,my-bucket
.PRINCIPAL_IDENTIFIER
identifie la personne à qui vous accordez l'accès au bucket. Par exemple,user:jane@gmail.com
. Pour obtenir la liste des formats des identifiants principaux, consultez la section Identifiants principaux.IAM_ROLE
correspond au rôle IAM que vous attribuez au compte principal. Exemple :roles/storage.objectViewer
.
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
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 :
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Où :
IAM_ROLE
correspond au rôle IAM que vous attribuez. Exemple :roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifie la personne à qui vous accordez l'accès au bucket. Par exemple,user:jane@gmail.com
. Pour obtenir la liste des formats des identifiants principaux, consultez la section Identifiants principaux.
Exécutez
cURL
pour appeler l'API JSON avec une requêtePUT setIamPolicy
:curl -X PUT --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/iam"
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 pour lequel vous voulez accorder l'accès au compte principal. Par exemple,my-bucket
.
Afficher la stratégie IAM pour un bucket
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 afficher la stratégie.
Sur la page Informations sur le bucket, cliquez sur l'onglet Autorisations.
La stratégie IAM qui s'applique au bucket s'affiche dans la section Autorisations.
(Facultatif) Utilisez la barre Filtre pour filtrer les résultats.
Si vous effectuez une recherche par compte principal, vos résultats affichent chaque rôle attribué au compte principal.
Ligne de commande
Exécutez la commande buckets get-iam-policy
:
gcloud storage buckets get-iam-policy gs://BUCKET_NAME
Où BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la stratégie IAM. Exemple : my-bucket
.
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
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 getIamPolicy
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Où
BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la stratégie IAM. Exemple :my-bucket
.
Supprimer un compte principal d'une stratégie au niveau du bucket
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 supprimer le rôle d'un compte principal.
Sur la page Informations sur le bucket, cliquez sur l'onglet Autorisations.
La stratégie IAM qui s'applique au bucket s'affiche dans la section Autorisations.
Dans l'onglet Afficher par compte principal, cochez la case correspondant au compte principal que vous supprimez.
Cliquez sur le bouton Supprimer l'accès.
Dans la fenêtre de superposition qui s'affiche, cliquez sur Confirmer.
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 buckets remove-iam-policy-binding
:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Où :
BUCKET_NAME
correspond au nom du bucket pour lequel vous révoquez l'accès. Par exemple,my-bucket
.PRINCIPAL_IDENTIFIER
identifie la personne dont vous révoquez l'accès. Par exemple,user:jane@gmail.com
. Pour obtenir la liste des formats des identifiants principaux, consultez la section Identifiants principaux.IAM_ROLE
correspond au rôle IAM que vous attribuez. Exemple :roles/storage.objectViewer
.
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
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
.Obtenez la stratégie existante appliquée à votre bucket. Pour ce faire, exécutez
cURL
pour appeler l'API JSON avec une requêteGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Où
BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher la stratégie IAM. Exemple :my-bucket
.Créez un fichier JSON contenant la stratégie récupérée à l'étape précédente.
Modifiez le fichier JSON pour supprimer le compte principal de la stratégie.
Exécutez
cURL
pour appeler l'API JSON avec une requêtePUT setIamPolicy
:curl -X PUT --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/iam"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier que vous avez créé à l'étape 3.BUCKET_NAME
correspond au nom du bucket pour lequel vous voulez supprimer l'accès. Exemple :my-bucket
Utiliser des conditions IAM sur des buckets
Les sections suivantes vous expliquent comment ajouter et supprimer des conditions IAM dans vos buckets. Pour afficher les conditions IAM de votre bucket, consultez la section Afficher la stratégie IAM pour un bucket. Pour en savoir plus sur l'utilisation des conditions IAM avec Cloud Storage, consultez la section Conditions.
Vous devez activer l'accès uniforme au niveau du bucket dans le bucket avant d'ajouter des conditions.
Définir une nouvelle condition dans un bucket
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 ajouter une condition.
Sur la page Informations sur le bucket, cliquez sur l'onglet Autorisations.
La stratégie IAM qui s'applique au bucket s'affiche dans la section Autorisations.
Cliquez sur + Accorder l'accès.
Pour les nouveaux comptes principaux, renseignez les comptes principaux pour lesquels vous souhaitez accorder l'accès au bucket.
Pour chaque rôle auquel vous souhaitez appliquer une condition :
Sélectionnez un rôle à accorder aux comptes principaux.
Cliquez sur Ajouter une condition pour ouvrir le formulaire Modifier la condition.
Remplissez le titre de la condition. Le champ Description est facultatif.
Utilisez le Créateur de conditions pour créer visuellement votre condition ou utilisez l'onglet Éditeur de conditions pour saisir l'expression CEL.
Cliquez sur Enregistrer pour revenir au formulaire Ajouter un compte principal. Pour ajouter plusieurs rôles, cliquez sur Ajouter un autre rôle.
Cliquez sur Save (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
Créez un fichier JSON ou YAML qui définit la condition, y compris son
title
, la logique basée sur des attributsexpression
pour la condition et, éventuellement, unedescription
pour la condition.Notez que Cloud Storage n'accepte que les attributs date/heure, type de ressource et nom de la ressource dans l'
expression
.Exécutez la commande
buckets add-iam-policy-binding
avec l'option--condition-from-file
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Où :
BUCKET_NAME
correspond au nom du bucket pour lequel vous accordez l'accès au compte principal. Par exemple,my-bucket
.PRINCIPAL_IDENTIFIER
identifie la personne à laquelle la condition s'applique. Par exemple,user:jane@gmail.com
. Pour obtenir la liste des formats des identifiants principaux, consultez la section Identifiants principaux.IAM_ROLE
correspond au rôle IAM que vous attribuez au compte principal. Exemple :roles/storage.objectViewer
.CONDITION_FILE
correspond au fichier que vous avez créé à l'étape précédente.
Vous pouvez également inclure la condition directement dans la commande avec l'option --condition
au lieu de l'option --condition-from-file
.
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
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
.Utilisez une requête
GET getIamPolicy
pour enregistrer la stratégie IAM du bucket dans un fichier JSON temporaire :curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Modifiez le fichier
tmp-policy.json
dans un éditeur de texte pour ajouter de nouvelles conditions aux liaisons dans la stratégie IAM :{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Où :
VERSION
correspond à la version de la stratégie IAM, qui doit être 3 pour les buckets avec des conditions IAM.IAM_ROLE
correspond au rôle auquel la condition s'applique. Par exemple,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifie la personne à laquelle la condition s'applique. Par exemple,user:jane@gmail.com
. Pour obtenir la liste des formats des identifiants principaux, consultez la section Identifiants principaux.TITLE
correspond au titre de la condition. Exemple :expires in 2019
.DESCRIPTION
est une description facultative de la condition. Par exemple,Permission revoked on New Year's
.EXPRESSION
est une expression logique basée sur des attributs. Exemple :request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Pour plus d'exemples d'expressions, reportez-vous à la documentation de référence sur les attributs de conditions. Notez que Cloud Storage n'accepte que les attributs date/heure, type de ressource et nom de ressource.
Ne modifiez pas
ETAG
.Utilisez une requête
PUT setIamPolicy
pour définir la stratégie IAM modifiée dans le bucket :curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Supprimer une condition d'un bucket
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 supprimer une condition.
Sur la page Informations sur le bucket, cliquez sur l'onglet Autorisations.
La stratégie IAM qui s'applique au bucket s'affiche dans la section Autorisations.
Cliquez sur l'icône Modifier (edit) pour le compte principal associé à la condition.
Dans la superposition Modifier les autorisations qui s'affiche, cliquez sur le nom de la condition que vous souhaitez supprimer.
Dans la superposition Modifier la condition qui s'affiche, cliquez sur Supprimer, puis sur Confirmer.
Cliquez sur Save (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
Utilisez la commande
buckets get-iam-policy
pour enregistrer la stratégie IAM du bucket dans un fichier JSON temporaire :gcloud storage buckets get-iam-policy gs://BUCKET_NAME > tmp-policy.json
Modifiez le fichier
tmp-policy.json
dans un éditeur de texte pour supprimer des conditions de la stratégie IAM.Utilisez
buckets set-iam-policy
pour définir la stratégie IAM modifiée dans le bucket.gcloud storage buckets set-iam-policy gs://BUCKET_NAME tmp-policy.json
Exemples de code
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
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
.Utilisez une requête
GET getIamPolicy
pour enregistrer la stratégie IAM du bucket dans un fichier JSON temporaire :curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
BUCKET_NAME
correspond au nom du bucket pour lequel vous accordez l'accès. Exemple :my-bucket
Modifiez le fichier
tmp-policy.json
dans un éditeur de texte pour supprimer des conditions de la stratégie IAM.Utilisez une requête
PUT setIamPolicy
pour définir la stratégie IAM modifiée dans le bucket :curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Où
BUCKET_NAME
est le nom du bucket dont vous souhaitez modifier la stratégie IAM. Exemple :my-bucket
Bonnes pratiques
Vous devez définir le rôle minimal requis pour accorder l'accès requis au compte principal. Par exemple, si un membre de l'équipe n'a besoin que de lire les objets stockés dans un bucket, attribuez-lui le rôle Lecteur des objets de l'espace de stockage (roles/storage.objectViewer
) au lieu du rôle Administrateur des objets de l'espace de stockage (roles/storage.objectAdmin
). De même, s'il a besoin d'avoir le contrôle total des objets du bucket, mais pas du bucket lui-même, accordez-lui le rôle d'administrateur des objets de l'espace de stockage (roles/storage.objectAdmin
) au lieu du rôle "Administrateur de l'espace de stockage" (roles/storage.admin
).
Étapes suivantes
- Découvrez comment partager publiquement vos données.
- Consultez des exemples de partage et de collaboration spécifiques.
- Découvrez les bonnes pratiques concernant l'utilisation d'IAM.
- Découvrez comment utiliser les recommandations de rôle pour les buckets.
- Pour résoudre les problèmes d'échec liés aux rôles et aux autorisations IAM, consultez la page Dépannage.