Dépannage

401 Unauthorized

Problème : Les requêtes adressées directement à un bucket public ou via Cloud CDN échouent avec une erreur HTTP 401: Unauthorized (HTTP 401 : Opération non autorisée) et une réponse Authentication Required (Authentification requise).

Solution : Vérifiez que votre client ou tout proxy intermédiaire n'ajoute pas d'en-tête Authorization aux requêtes à Cloud Storage. Toute requête comportant un en-tête Authorization, même si elle est vide, est validée comme s'il s'agissait d'une tentative d'authentification.

403 Account Disabled

Problème : J'ai essayé de créer un bucket, mais une erreur 403 Account Disabled s'est affichée.

Solution : Cette erreur indique que vous n'avez pas encore activé la facturation pour le projet associé. Pour connaître la procédure à suivre, consultez la section Activer la facturation pour un projet.

Si la facturation est activée et que vous continuez à recevoir ce message d'erreur, vous pouvez contacter l'assistance en incluant l'ID du projet et une description de votre problème.

403 Access Denied

Problème : J'ai essayé de répertorier les objets dans mon bucket, mais une erreur 403 Access Denied et/ou un message semblable à Anonymous caller does not have storage.objects.list access s'est affiché.

Solution : Vérifiez que vos identifiants sont corrects. Par exemple, si vous utilisez gsutil, vérifiez que les identifiants stockés dans votre fichier .boto sont exacts. Vérifiez également que gsutil utilise le fichier .boto que vous attendez en exécutant la commande gsutil version -l et en vérifiant l'entrée config path(s).

En supposant que vous utilisiez les bons identifiants, vos requêtes sont-elles acheminées via un proxy à l'aide du protocole HTTP (au lieu de HTTPS) ? Si oui, vérifiez si votre proxy est configuré de manière à supprimer l'en-tête Authorization de ces requêtes. Si tel est le cas, assurez-vous d'utiliser le protocole HTTPS au lieu de HTTP pour vos requêtes.

409 Conflict

Problème : J'ai essayé de créer un bucket, mais l'erreur suivante s'est affichée :

409 Conflict. Sorry, that name is not available. Please try a different one.

Solution : Le nom de bucket que vous avez essayé d'utiliser (par exemple, gs://cats ou gs://dogs) est déjà attribué. Cloud Storage utilise un espace de noms global : vous ne pouvez donc pas nommer un bucket avec le même nom qu'un bucket existant. Choisissez un nom qui n'est pas déjà utilisé.

Serveurs proxy

Problème : Je me connecte via un serveur proxy. Que dois-je faire ?

Solution : Pour vous connecter à Cloud Storage via un serveur proxy, vous devez autoriser l'accès aux domaines suivants :

  • accounts.google.com pour créer des jetons d'authentification OAuth2 via gsutil config
  • oauth2.googleapis.com pour les échanges de jetons OAuth2
  • *.googleapis.com pour les requêtes de stockage

Si votre serveur proxy ou votre stratégie de sécurité ne prennent pas en charge l'ajout sur liste blanche par domaine, mais requièrent à la place l'ajout sur liste blanche par bloc réseau IP, nous vous recommandons vivement de configurer votre serveur proxy pour toutes les plages d'adresses IP Google. Vous pouvez trouver les plages d'adresses en interrogeant les données WHOIS sur le site ARIN. Il est recommandé de vérifier régulièrement les paramètres de votre serveur proxy afin de vous assurer qu'ils correspondent aux adresses IP de Google.

Nous vous déconseillons de configurer votre serveur proxy avec des adresses IP individuelles obtenues à partir de recherches ponctuelles sur oauth2.googleapis.com et storage.googleapis.com. Les services Google étant exposés via des noms DNS mappés sur un grand nombre d'adresses IP susceptibles de changer au fil du temps, la configuration de votre serveur proxy sur la base d'une recherche ponctuelle peut entraîner des échecs de connexion à Cloud Storage.

Si vos requêtes sont acheminées via un serveur proxy, vous devrez peut-être contacter votre administrateur réseau pour vous assurer que l'en-tête Authorization contenant vos identifiants n'est pas supprimé par le serveur. Si l'en-tête Authorization n'est pas présent, vos requêtes sont rejetées, et vous recevez une erreur MissingSecurityHeader.

gsutil stat

Problème : J'ai essayé d'exécuter la commande gsutil stat pour afficher l'état d'un objet dans un sous-répertoire, mais une erreur s'est affichée.

Solution : Cloud Storage utilise un espace de noms unique pour le stockage d'objets dans des buckets. Vous pouvez utiliser des barres obliques ("/") dans le nom d'un objet pour donner l'impression que celui-ci se trouve dans une structure hiérarchique, mais la commande gsutil stat traite ces barres comme faisant partie du nom de l'objet.

Par exemple, si vous exécutez la commande gsutil -q stat gs://my-bucket/my-object/, gsutil recherche des informations sur l'objet my-object/ (avec une barre oblique finale), par opposition à une opération sur des objets imbriqués sous my-bucket/my-object/. À moins qu'un objet portant ce nom n'existe réellement, l'opération échoue.

Pour obtenir la liste des sous-répertoires, exécutez plutôt la commande gsutil ls.

gcloud auth

Problème : J'ai essayé d'authentifier gsutil à l'aide de la commande gcloud auth, mais je ne parviens toujours pas à accéder à mes buckets ou à mes objets.

Solution : La version autonome et la version SDK Cloud de gsutil sont peut-être installées sur votre système. Exécutez la commande gsutil version -l et vérifiez la valeur de using cloud sdk. Si la valeur est False, votre système utilise la version autonome de gsutil lorsque vous exécutez des commandes. Vous pouvez supprimer cette version de gsutil de votre système ou vous authentifier à l'aide de la commande gsutil config.

Bucket configuré en tant que site Web

Vous trouverez ci-dessous une liste des problèmes courants que vous pouvez rencontrer lors de la configuration d'un bucket pour héberger un site Web statique.

Diffusion HTTPS

Problème : Je souhaite diffuser mon contenu via HTTPS sans utiliser d'équilibreur de charge.

Solution : Vous pouvez diffuser du contenu statique via HTTPS à l'aide d'URI directs tels que https://storage.googleapis.com/my-bucket/my-object. Pour les autres options permettant de diffuser votre contenu à travers un domaine personnalisé via SSL, vous pouvez :

Validation de domaine

Problème : Je ne parviens pas à valider mon domaine.

Solution : Le processus de validation dans Search Console vous oblige à importer un fichier dans votre domaine. Toutefois, vous ne pourrez peut-être pas le faire sans disposer au préalable d'un bucket associé, que vous ne pourrez créer qu'après avoir effectué la validation du domaine.

Dans ce cas, confirmez la propriété du domaine à l'aide de la méthode de validation du fournisseur de nom de domaine. Consultez la section Validation de la propriété pour en savoir plus sur les étapes à suivre. Cette validation peut être effectuée avant la création du bucket.

Page inaccessible

Problème : Un message d'erreur Access denied s'affiche pour une page Web diffusée par mon site Web.

Solution : Vérifiez que l'objet est partagé en mode public. Si ce n'est pas le cas, consultez la page Rendre des données publiques pour en savoir sur les étapes à suivre.

Si vous avez précédemment importé et partagé un objet, mais que vous en avez ensuite importé une nouvelle version, vous devez repartager l'objet en mode public. En effet, l'autorisation publique est remplacée par la nouvelle importation.

Téléchargement du contenu

Problème : Je suis invité à télécharger le contenu de ma page au lieu de pouvoir l'afficher dans mon navigateur.

Solution : Si vous spécifiez MainPageSuffix en tant qu'objet n'ayant pas de type de contenu Web, la page n'est pas diffusée, et les visiteurs du site sont invités à télécharger le contenu. Pour résoudre ce problème, mettez à jour l'entrée de métadonnées content-type avec une valeur appropriée, par exemple text/html. Consultez la section Modifier des métadonnées d'objets pour en savoir plus sur les étapes à suivre.

Téléchargement de contenu avec storage.cloud.google.com

Problème : Je télécharge mon contenu public depuis storage.cloud.google.com, et une erreur 403 - Forbidden s'affiche lorsque j'accède à l'objet public

https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME
dans le navigateur.

Solution : L'utilisation de storage.cloud.google.com pour télécharger des objets est appelée téléchargement authentifié via un navigateur. Elle a toujours recours à l'authentification basée sur les cookies, même lorsque les objets sont accessibles publiquement pour tous les utilisateurs (allUsers). Si vous avez activé les journaux d'audit pour Cloud Storage, l'une des restrictions de cette fonctionnalité est la désactivation des téléchargements authentifiés via un navigateur. Ces téléchargements génèrent une réponse 403 lorsque les journaux d'audit sont activés.

Pour éviter ce problème, enregistrez les journaux d'audit ou passez aux appels d'API directs, qui sont compatibles avec les téléchargements non authentifiés.

301 Moved Permanently

Problème : L'accès à un chemin de répertoire renvoie un objet vide, et un code de réponse HTTP 301 s'affiche.

Solution : Si votre navigateur télécharge un objet de zéro octet et que vous obtenez un code de réponse HTTP 301 lors de l'accès à un répertoire, par exemple http://www.example.com/dir/, votre bucket contient probablement un objet vide portant ce nom. Pour vérifier que c'est bien le cas et résoudre le problème, procédez comme suit :

  1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
    Ouvrir le navigateur Cloud Storage
  2. Cliquez sur le bouton Activer Cloud Shell en haut de Google Cloud Console.Activer Cloud Shell
  3. Exécutez gsutil ls -R gs://www.example.com/dir/. Si le résultat inclut http://www.example.com/dir/, un objet vide se trouve à cet emplacement.
  4. Supprimez l'objet vide avec la commande suivante : gsutil rm gs://www.example.com/dir/

Vous pouvez maintenant accéder à http://www.example.com/dir/. Le fichier index.html de ce répertoire est renvoyé à la place de l'objet vide.

Comprendre les erreurs dans le navigateur Cloud Storage

Problème : Lorsque j'utilise le navigateur Cloud Storage pour effectuer une opération, un message d'erreur générique s'affiche. Par exemple, un message d'erreur s'affiche lorsque j'essaie de supprimer un bucket, mais je ne vois pas les raisons de l'échec de l'opération.

Solution : Utilisez les notifications de Google Cloud Console pour afficher des informations détaillées sur l'opération ayant échoué :

  1. Cliquez sur le bouton Notifications dans l'en-tête de Google Cloud Console.

    Notifications

    Une liste déroulante affiche les dernières opérations effectuées par Google Cloud Console.

  2. Cliquez sur l'élément dont vous souhaitez en savoir plus.

    Une page s'ouvre et affiche des informations détaillées sur l'opération.

  3. Cliquez sur chaque ligne pour développer les informations détaillées sur l'erreur.

    Vous trouverez ci-dessous un exemple d'informations d'erreur pour une opération de suppression de bucket, qui explique qu'une règle de conservation de bucket a empêché la suppression du bucket.

    Détails d'erreur de suppression de bucket

Étapes suivantes