Installer gsutil

Cette page décrit l'installation et la configuration de gsutil, un outil qui vous permet d'accéder à Cloud Storage à partir de la ligne de commande à l'aide du protocole HTTPS.

Il vous suffit d'installer gsutil pour bénéficier d'un accès immédiat en lecture et/ou en écriture aux données publiques. L'authentification auprès du service Cloud Storage vous permet d'accéder en lecture et/ou en écriture aux données protégées qui vous ont été transmises. L'activation de la facturation vous donne la possibilité de créer et de gérer vos propres buckets.

Configuration système requise

  • L'outil gsutil s'exécute sous Linux/Unix, Mac OS et Windows (XP ou version ultérieure).

  • Si vous envisagez d'utiliser des objets composites, vous devez installer la bibliothèque compilée crcmod. Sous Windows, cette option n'est disponible que pour Python 32 bits.

Installer gsutil

La méthode d'installation et de mise à jour officielle pour gsutil intègre l'utilisation du SDK Google Cloud.

Installer gsutil dans le cadre du SDK Google Cloud

Suivez les instructions correspondant à votre système d'exploitation pour installer gsutil dans le cadre du SDK Google Cloud :

Linux
  1. Le SDK Cloud nécessite Python. Les versions compatibles sont Python 3 (de préférence, 3.5 à 3.8) et Python 2 (2.7.9 ou version ultérieure).

    python --version
    Pour plus d'informations sur le choix et la configuration de votre interpréteur Python, consultez la page gcloud topic startup.
  2. Téléchargez l'un des packages ci-dessous :
  3. Plate-forme Package Taille Somme de contrôle SHA256
    Linux 64 bits

    (x86_64)

    google-cloud-sdk-322.0.0-linux-x86_64.tar.gz 111,3 Mo cac741b00578e56ebdc13e1b30a288efe41d1d306b249dbd35a99ebdd7a13f96
    Linux 32 bits

    (x86)

    google-cloud-sdk-322.0.0-linux-x86.tar.gz 85,2 Mo 4a6f813547d8d73d082bc265069f4e7a617f2243d8c73f17b149e638b8bca29c

  4. Sinon, pour télécharger le fichier d'archive Linux 64 bits à partir de votre ligne de commande, exécutez :

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-322.0.0-linux-x86_64.tar.gz

    Pour le fichier d'archive 32 bits, exécutez :

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-322.0.0-linux-x86.tar.gz
  5. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Si vous souhaitez remplacer une installation existante, supprimez le répertoire google-cloud-sdk existant et extrayez l'archive au même emplacement.
  6. Facultatif. Exécutez le script d'installation pour ajouter des outils du SDK Cloud à votre chemin. Vous pouvez également activer l'achèvement de commande pour votre interface système et la collecte des statistiques d'utilisation. Exécutez le script en utilisant cette commande :
    ./google-cloud-sdk/install.sh
    
    Cette opération peut également être effectuée de manière non interactive (par exemple, à l'aide d'un script) en fournissant des préférences sous forme d'options. Celles-ci sont décrites dans l'aide :
    ./google-cloud-sdk/install.sh --help
    
    Ouvrez un nouveau terminal pour que les modifications prennent effet.
  7. Exécutez gcloud init pour initialiser le SDK :
  8. ./google-cloud-sdk/bin/gcloud init
    
  9. Facultatif. Installez des composants supplémentaires à l'aide du gestionnaire de composants.
Debian/Ubuntu

Contenu du package

Le SDK Cloud est disponible sous forme de package pour l'installation sur des systèmes Debian et Ubuntu. Ce package ne contient que les commandes gcloud, gcloud alpha, gcloud beta, gsutil et bq. Il n'inclut pas kubectl, ni les extensions App Engine requises pour déployer une application à l'aide des commandes gcloud. Si vous voulez ces composants, vous devez les installer séparément, comme indiqué dans la suite de cette section.

Prérequis

Avant d'installer le SDK Cloud, assurez-vous d'utiliser l'un des systèmes d'exploitation suivants :

Installation
  1. Ajoutez l'URI de distribution du SDK Cloud en tant que source de package :
    echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
    Assurez-vous que apt-transport-https est installé :
    sudo apt-get install apt-transport-https ca-certificates gnupg

    Conseil de dépannage : Si votre distribution n'accepte pas l'option de signature, exécutez plutôt cette commande :

    echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

    Conseil de dépannage : Vérifiez que vous n'avez pas d'entrées en double pour le dépôt cloud-sdk.

  2. Importez la clé publique de Google Cloud :
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

    Conseil de dépannage : Si vous ne parvenez pas à obtenir les dernières mises à jour en raison d'une clé arrivée à expiration, procurez-vous le dernier fichier de clé apt-get.gpg.

    Conseil de dépannage : Si la commande apt-key de votre distribution n'accepte pas l'argument --keyring, exécutez cette commande à la place :

    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

  3. Mettez à jour le SDK Cloud, puis installez-le :
    sudo apt-get update && sudo apt-get install google-cloud-sdk
    Pour en savoir plus sur d'autres options apt-get, telles que la désactivation des invites ou des simulations, consultez les pages man apt-get.

    Conseil Docker : Si vous installez le SDK Cloud dans une image Docker, utilisez plutôt une étape RUN unique.

    RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - && apt-get update -y && apt-get install google-cloud-sdk -y
          

  4. (Facultatif) Installez l'un de ces composants supplémentaires :
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

    Par exemple, vous pouvez installer le composant google-cloud-sdk-app-engine-java comme suit :

    sudo apt-get install google-cloud-sdk-app-engine-java
  5. Pour commencer, exécutez gcloud init :
    gcloud init

Revenir à une version antérieure du SDK Cloud

Si vous souhaitez rétablir une version spécifique du SDK Cloud, où "VERSION" est au format "123.0.0", exécutez la commande suivante : sudo apt-get update && sudo apt-get install google-cloud-sdk=123.0.0-0 Les 10 dernières versions seront toujours disponibles dans le dépôt.

Red Hat/Fedora/CentOS

Contenu du package

Le SDK Cloud est disponible sous forme de package pour l'installation sur les systèmes Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Fedora 32 et CentOS 7. Ce package ne contient que les commandes gcloud, gcloud alpha, gcloud beta, gsutil et bq. Il n'inclut pas kubectl, ni les extensions App Engine requises pour le déploiement d'une application à l'aide des commandes gcloud, que vous pouvez installer séparément, comme décrit plus loin dans cette section.

Installation
  1. Mettez à jour DNF à l'aide des informations de dépôt du SDK Cloud :
    sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
    [google-cloud-sdk]
    name=Google Cloud SDK
    baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
           https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    
  2. Installez le SDK Cloud :
    dnf install google-cloud-sdk
  3. (Facultatif) Installez l'un de ces composants supplémentaires :
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

    Par exemple, vous pouvez installer le composant google-cloud-sdk-app-engine-java comme suit :

    dnf install google-cloud-sdk-app-engine-java
  4. Pour commencer, exécutez gcloud init :
    gcloud init

Revenir à une version antérieure du SDK Cloud

Si vous souhaitez rétablir une version spécifique du SDK Cloud, où "VERSION" est au format "123.0.0", exécutez la commande suivante : sudo dnf downgrade google-cloud-sdk-VERSION Les 10 dernières versions seront toujours disponibles dans le dépôt.

macOS
  1. Le SDK Cloud nécessite Python. Les versions compatibles sont Python 3 (de préférence, 3.5 à 3.8) et Python 2 (2.7.9 ou version ultérieure). Les versions modernes de macOS incluent la version de Python requise pour le SDK Google Cloud.
      python -V
      
    Pour plus d'informations sur le choix et la configuration de votre interpréteur Python, consultez la page gcloud topic startup.
  2. Téléchargez l'un des packages ci-dessous :
  3. Plate-forme Package Taille Somme de contrôle SHA256
    macOS 64 bits

    (x86_64)

    google-cloud-sdk-322.0.0-darwin-x86_64.tar.gz 108,8 Mo 6b22e0b37741f0f513ea3ea21f741ee88749affc5be9143ba63256321651cae5
    macOS 32 bits

    (x86)

    google-cloud-sdk-322.0.0-darwin-x86.tar.gz 86,3 Mo b48cf3292472122dd264ba1b41fd571aa02bbd319812bdb4414388d671f47cac

    1. Extrayez l'archive dans n'importe quel emplacement de votre système de fichiers, de préférence votre répertoire de base. Sous macOS, cette opération peut être effectuée en ouvrant le fichier d'archive ".tar.gz" téléchargé à l'emplacement de votre choix.

      Si vous souhaitez remplacer une installation existante, supprimez le répertoire google-cloud-sdk existant et extrayez l'archive au même emplacement.

    2. Facultatif. Exécutez le script d'installation pour ajouter des outils du SDK Cloud à votre chemin. Vous pouvez également activer l'achèvement de commande pour votre interface système et la collecte des statistiques d'utilisation. Exécutez le script en utilisant cette commande :
      ./google-cloud-sdk/install.sh
      
      Cette opération peut également être effectuée de manière non interactive (par exemple, à l'aide d'un script) en fournissant des préférences sous forme d'options. Celles-ci sont décrites dans l'aide :
      ./google-cloud-sdk/install.sh --help
      
      Pour exécuter le script d'installation en mode lecteur d'écran, procédez comme suit :
      ./google-cloud-sdk/install.sh --screen-reader=true
      
      Ouvrez un nouveau terminal pour que les modifications prennent effet.
    3. Exécutez gcloud init pour initialiser le SDK :
    4. ./google-cloud-sdk/bin/gcloud init
      
    5. Facultatif. Installez des composants supplémentaires à l'aide du gestionnaire de composants.
Windows
  1. Téléchargez le programme d'installation du SDK Cloud.

    Sinon, vous pouvez ouvrir un terminal PowerShell et exécuter les commandes PowerShell suivantes.

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
    
    & $env:Temp\GoogleCloudSDKInstaller.exe
          

  2. Lancez le programme d'installation, puis suivez les instructions. Ce programme est signé par Google LLC.

    Si vous souhaitez activer le mode Lecteur d'écran, sélectionnez l'option Activer le mode Lecteur d'écran pour une expérience de lecture d'écran plus fluide. Pour en savoir plus sur l'expérience de lecteur d'écran du SDK Cloud, consultez le guide des fonctionnalités d'accessibilité.

    Boîte de dialogue d&#39;accueil à la configuration au SDK Google Cloud pour Windows avec une case à cocher permettant d&#39;activer le mode Lecteur d&#39;écran

  3. Le SDK Cloud nécessite Python. Les versions compatibles sont Python 3 (de préférence, 3.5 à 3.8) et Python 2 (2.7.9 ou version ultérieure).

    Le programme d'installation installe toutes les dépendances nécessaires, y compris la version Python requise. Bien que le SDK Cloud utilise actuellement Python 3 par défaut, vous pouvez exploiter une installation Python existante si nécessaire. Pour ce faire, décochez l'option "Install Bundled Python"

  4. Une fois l'installation terminée, le programme d'installation présente plusieurs options :

    Invites du programme d&#39;installation Windows

    Vérifiez que les options suivantes sont bien sélectionnées :

    • Start Google Cloud SDK Shell (Démarrer l'interface système du SDK Google Cloud)
    • Run 'gcloud init' (Exécuter 'gcloud init')

    Le programme d'installation affiche une fenêtre de terminal, puis exécute la commande gcloud init.

  5. L'installation par défaut n'inclut pas les extensions App Engine requises pour déployer une application à l'aide des commandes gcloud. Ces composants peuvent être installés à l'aide du gestionnaire de composants du SDK Cloud.
Conseils de dépannage :
  • Si le SDK Cloud ne parvient pas à s'exécuter après l'installation de la version 274.0.0, reportez-vous à cette page de suivi de bug pour découvrir les dernières solutions.
  • Si l'installation échoue parce que la commande find n'est pas reconnue, assurez-vous que votre variable d'environnement PATH est définie de manière à inclure le dossier contenant "find". Il s'agit généralement de C:\WINDOWS\system32;.
  • Si vous venez de désinstaller le SDK Cloud, vous devez redémarrer votre système avant de l'installer à nouveau.

Effectuez des mises à jour à l'aide de la commande components update : gcloud components update.

Pour apprendre à utiliser gsutil, consultez le guide de démarrage rapide sur l'utilisation de l'outil gsutil ou exécutez gsutil help.

Autres méthodes d'installation

Il existe plusieurs façons d'installer gsutil en tant que produit autonome. Vous pouvez suivre l'une de ces méthodes si vous ne souhaitez utiliser aucun des autres composants fournis avec le SDK Cloud ou si vous gérez des packages avec PyPI.

Si vous installez gsutil de manière autonome, Python doit également être installé sur votre ordinateur. L'outil gsutil est officiellement compatible avec les versions mineures 2.7.x à 3.7.x. Python est installé par défaut sur la plupart des distributions Linux et macOS, mais pas sur Windows. Vous devez installer Python pour pouvoir exécuter gsutil sous Windows.

Développez la méthode souhaitée pour voir les instructions.

Configurer des identifiants pour l'accès aux données protégées

L'installation de gsutil vous permet de télécharger des objets accessibles au public et d'y accéder, mais pour accéder à des données protégées ou écrire sur un bucket protégé, vous devez configurer des identifiants (authentification). Par exemple, si une autre personne a créé un compte Cloud Storage et importé des données accessibles seulement à vous-même ou à d'autres personnes, vous devez configurer vos identifiants sur le service Cloud Storage pour pouvoir accéder à ces données.

Si vous avez installé gsutil dans le cadre du SDK Google Cloud, suivez ces instructions. Sinon, consultez la section Authentifier l'outil gsutil autonome.

Authentifier le SDK Google Cloud

Lorsque vous utilisez gsutil dans le cadre du SDK Google Cloud, OAuth2 est utilisé pour l'authentification et l'autorisation de l'accès. Notez que vous avez peut-être déjà accompli les étapes suivantes si vous avez procédé à l'installation de gsutil dans le cadre du SDK Google Cloud décrite ci-dessus. Si vous avez déjà exécuté gcloud init, il vous est demandé si vous souhaitez réinitialiser la configuration ou en créer une nouvelle.

  1. Ouvrez une instance d'invite de commande.

  2. Exécutez gcloud init dans l'invite de commande.

    Vous obtenez le résultat suivant :

    Welcome! This command will take you through the configuration of gcloud.
     
    Your current configuration has been set to: [default]
     
    To continue, you must login. Would you like to login (Y/n)?
    

  3. Appuyez sur la touche "Y", puis sur Entrée pour vous connecter.

    • La commande imprime une URL et tente d'ouvrir une fenêtre de navigateur pour demander l'accès à votre projet. Si une fenêtre de navigateur peut être ouverte, vous obtenez le résultat suivant :

      Your browser has been opened to visit:
       
      https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2F...
      

      Passez à l'étape suivante.

    • Si vous travaillez sur un ordinateur local et que votre navigateur ne charge pas automatiquement l'URL, exécutez de nouveau la commande gcloud init en ajoutant l'indicateur --console-only :

      gcloud init --console-only
      

      Si vous utilisez cette commande ou si le SDK Cloud détecte qu'un navigateur ne peut pas être ouvert (par exemple, si vous travaillez sur un ordinateur à distance), vous obtenez le résultat suivant :

      Go to the following link in your browser:
       
      https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3A...
       
      Enter verification code:
      

      Ouvrez un navigateur et accédez à l'URL fournie.

  4. Si vous y êtes invité, connectez-vous avec le compte Google associé à vos données Cloud Storage dans la fenêtre du navigateur.

  5. Accordez l'accès.

    • Si la fenêtre du navigateur s'est ouverte automatiquement, vérifiez les autorisations de l'application, puis cliquez sur Accepter lorsque vous êtes prêt. Le code de vérification est ensuite automatiquement envoyé à l'outil de ligne de commande.

    • Si vous travaillez sur un ordinateur à distance ou si vous avez utilisé l'indicateur --console-only, copiez le code de validation à partir de l'URL et collez-le sur la ligne de commande du terminal, après le message Saisissez le code de validation.

  6. Choisissez le projet par défaut pour cette configuration.

    Une fois vos identifiants configurés, l'outil de ligne de commande gcloud vous invite à désigner un projet par défaut pour cette configuration. Il fournit pour cela une liste des projets disponibles. Sélectionnez un ID de projet dans la liste.

    Lorsque vous définissez cette propriété, les commandes gsutil nécessitant un projet, telles que gsutil mb, utilisent l'ID du projet par défaut, sauf si vous les remplacez par l'indicateur -p ou si vous définissez la variable d'environnement CLOUDSDK_CORE_PROJECT.

Et voilà ! Vous pouvez désormais accéder aux données protégées. Pour consulter la liste des commandes gsutil, saisissez gsutil dans l'invite de commande.

Authentifier l'outil gsutil autonome

Authentifier avec HMAC

Bien qu'il soit recommandé d'utiliser OAuth 2.0 pour authentifier gsutil, vous pouvez également vous servir de clés HMAC pour vos identifiants. Pour effectuer l'authentification avec HMAC, utilisez l'option -a dans la commande gsutil config :

gsutil config -a

L'utilisation de cette commande est semblable au processus d'authentification de l'outil gsutil autonome (voir la section précédente), si ce n'est que vous êtes invité à saisir l'ID d'accès et le code secret associés à votre clé HMAC.

Si vous utilisez le SDK Google Cloud, vous devez également désactiver la transmission des identifiants à l'aide de la commande suivante :

gcloud config set pass_credentials_to_gsutil false

Activer mTLS

Vous pouvez également activer le protocole TLS mutuel (mTLS). Lorsque l'authentification mTLS est activée sur votre appareil, celui-ci tente de se connecter à storage.mtls.googleapis.com. Avant d'autoriser la connexion, Cloud Storage vérifie le certificat sur votre appareil.

Le moyen le plus simple d'obtenir un certificat consiste à utiliser le SDK Google Cloud. Vous pouvez en définir une manuellement dans le fichier .boto en définissant les valeurs suivantes sous "Identifiants" :

  1. use_client_certificate : option indiquant si les protocoles TLS doivent être utilisés ou non.
  2. cert_provider_command : commande d'interface système qui affiche un certificat sur stdout à lire par gsutil.