En esta página, se describe la instalación y configuración de gsutil, una herramienta que te permite acceder a Cloud Storage desde la línea de comandos con HTTPS.
La instalación de gsutil te brinda acceso inmediato de lectura o escritura a datos públicos. La autenticación con el servicio de Cloud Storage te proporciona acceso de lectura o escritura a los datos protegidos que se compartieron contigo. Si habilitas la facturación, podrás crear y administrar tus propios depósitos.
Requisitos del sistema
La herramienta gsutil se ejecuta en Linux o Unix, Mac OS y Windows (versión XP o posterior).
Si piensas usar objetos compuestos, debes instalar crcmod compilado. En Windows, solo está disponible para Python de 32 bits.
Instalación de gsutil
El método de instalación y actualización que se admite de forma oficial para gsutil es parte del SDK de Google Cloud.
Instala gsutil como parte del SDK de Google Cloud
Sigue las instrucciones de tu sistema operativo para instalar gsutil como parte del SDK de Google Cloud:
El SDK de Cloud requiere Python. Versiones compatibles: Python 3 (de preferencia de 3.5 a 3.8) y Python 2 (2.7.9 o versiones posteriores).
python --version
Para obtener más información sobre cómo elegir y configurar tu intérprete de Python, consultagcloud topic startup
.- Descarga una de estas opciones:
-
Como alternativa, ejecuta lo siguiente para descargar el archivo de Linux de 64 bits desde la línea de comandos:
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-323.0.0-linux-x86_64.tar.gz
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-323.0.0-linux-x86.tar.gz
- Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Si deseas reemplazar una instalación existente, quita el directorio
google-cloud-sdk
existente y extrae el archivo en la misma ubicación. - Opcional: Usa la secuencia de comandos de instalación para agregar las herramientas del SDK de Cloud a tu ruta. También podrás habilitar la finalización de comandos para tu shell y la recopilación de estadísticas de uso. Ejecuta la secuencia de comandos con este comando:
./google-cloud-sdk/install.sh
Esto también se puede hacer de forma no interactiva (por ejemplo, con una secuencia de comandos) o si proporcionas preferencias como marcas. Estas se describen a continuación:./google-cloud-sdk/install.sh --help
Abre una terminal nueva para que los cambios tengan efecto. - Ejecuta gcloud init para inicializar el SDK:
- Opcional: Instala los componentes adicionales mediante el administrador de componentes.
Plataforma | Paquete | Tamaño | Suma de verificación SHA256 |
---|---|---|---|
Linux de 64 bits (x86_64) |
google-cloud-sdk-323.0.0-linux-x86_64.tar.gz | 111.4 MB | 3c7eb5b1d7a6d1111b195cc6892b1329585f0253559aa502731fd8fa31c435a9 |
Linux de 32 bits (x86) |
google-cloud-sdk-323.0.0-linux-x86.tar.gz | 85.3 MB | 6110dbd6abb7a8350d72dba01a57a7dac33108596852c35dfdc2019dd2f66856 |
./google-cloud-sdk/bin/gcloud init
Contenido del paquete
El SDK de Cloud está disponible en formato de paquete para instalarlo en sistemas Debian y Ubuntu. Este paquete solo contiene los comandos gcloud
, gcloud alpha
, gcloud beta
, gsutil
y bq
. No incluye kubectl
o las extensiones de App Engine necesarias para implementar una aplicación con los comandos gcloud
.
Si quieres estos componentes, debes instalarlos por separado como se describe más adelante en esta sección.
Antes de instalar el SDK de Cloud, asegúrate de que tu sistema operativo sea una de las siguientes opciones:
- Una versión de Ubuntu que aún no alcanzó el final del ciclo de vida
- Una versión estable de Debian de Wheezy en adelante
- Agrega el URI de distribución del SDK de Cloud como una fuente de paquete:
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
Asegúrate de que tengas instalado apt-transport-https:sudo apt-get install apt-transport-https ca-certificates gnupg
Sugerencia para la solución de problemas: Si tu distribución no admite la opción “signed-by”, ejecuta este comando en su lugar:
echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
Sugerencia para la solución de problemas: Asegúrate de no tener entradas duplicadas del repositorio cloud-sdk.
- Importa la clave pública 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 -
Sugerencia para la solución de problemas: Si no puedes obtener las actualizaciones más recientes debido a una clave vencida, obtén el archivo de claves apt-get.gpg más reciente.
Sugerencia para la solución de problemas: Si el comando apt-key de tu distribución no admite el argumento --keyring, ejecuta este comando en su lugar:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- Instala y actualiza el SDK de Cloud:
sudo apt-get update && sudo apt-get install google-cloud-sdk
Para obtener más opciones deapt-get
, como la inhabilitación de mensajes o las ejecuciones de prueba, consulta las páginas del manual deapt-get
.Sugerencia de Docker: Si instalas el SDK de Cloud en una imagen de Docker, mejor usa un solo paso RUN:
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
- De manera opcional, instala cualquiera de estos componentes adicionales:
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
Por ejemplo, el componente
google-cloud-sdk-app-engine-java
se puede instalar de la siguiente manera:sudo apt-get install google-cloud-sdk-app-engine-java
- Ejecuta
gcloud init
para comenzar:gcloud init
Cambia a una versión inferior del SDK de Cloud
Si deseas volver a una versión específica del SDK de Cloud, en la que “VERSION” tiene el formato “123.0.0”, ejecuta sudo apt-get update && sudo apt-get install google-cloud-sdk=123.0.0-0
: Las diez actualizaciones más recientes siempre estarán disponibles en el repositorio.
Contenido del paquete
El SDK de Cloud está disponible en formato de paquete para su instalación en sistemas Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Fedora 32 y CentOS 7. Este paquete solo contiene los comandos gcloud
, gcloud alpha
, gcloud beta
, gsutil
y bq
. No incluye kubectl
ni las extensiones de App Engine necesarias para implementar una aplicación con los comandos de gcloud
, que se pueden instalar por separado como se describe más adelante en esta sección.
- Actualiza DNF con la información del repositorio del SDK de 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
- Instala el SDK de Cloud:
dnf install google-cloud-sdk
- De manera opcional, instala cualquiera de estos componentes adicionales:
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
Por ejemplo, el componente
google-cloud-sdk-app-engine-java
se puede instalar de la siguiente manera:dnf install google-cloud-sdk-app-engine-java
- Ejecuta
gcloud init
para comenzar:gcloud init
Cambia a una versión inferior del SDK de Cloud
Si deseas volver a una versión específica del SDK de Cloud, en la que “VERSION” tiene el formato “123.0.0”, ejecuta sudo dnf downgrade google-cloud-sdk-VERSION
: Las diez actualizaciones más recientes siempre estarán disponibles en el repositorio.
- El SDK de Cloud requiere Python. Versiones compatibles: Python 3 (de preferencia de 3.5 a 3.8) y Python 2 (2.7.9 o versiones posteriores). Las versiones modernas de macOS incluyen la versión apropiada de Python requerida para el SDK de Cloud.
python -V
Para obtener más información sobre cómo elegir y configurar tu intérprete de Python, consultagcloud topic startup
. - Descarga una de estas opciones:
- Extrae el archivo a cualquier ubicación de tu sistema de archivos; preferentemente, en tu directorio principal. En macOS, esto se logra abriendo el archivo .tar.gz descargado en la ubicación preferida.
Si deseas reemplazar una instalación existente, quita el directorio
google-cloud-sdk
existente y extrae el archivo en la misma ubicación. - Opcional: Usa la secuencia de comandos de instalación para agregar las herramientas del SDK de Cloud a tu ruta. También podrás habilitar la finalización de comandos para tu shell y la recopilación de estadísticas de uso. Ejecuta la secuencia de comandos con este comando:
./google-cloud-sdk/install.sh
Esto también se puede hacer de forma no interactiva (por ejemplo, con una secuencia de comandos) o si proporcionas preferencias como marcas. Estas se describen a continuación:./google-cloud-sdk/install.sh --help
Si quieres ejecutar la secuencia de comandos de instalación con el modo de lector de pantalla activado, haz lo siguiente:./google-cloud-sdk/install.sh --screen-reader=true
Abre una terminal nueva para que los cambios tengan efecto. - Ejecuta gcloud init para inicializar el SDK:
- Opcional: Instala los componentes adicionales mediante el administrador de componentes.
Plataforma | Paquete | Tamaño | Suma de verificación SHA256 |
---|---|---|---|
macOS de 64 bits (x86_64) |
google-cloud-sdk-323.0.0-darwin-x86_64.tar.gz | 109.0 MB | 17db4d373eb2607fc1e6d6c49881d0370b9e02415f52a35654a48e78233b3f7e |
macOS de 32 bits (x86) |
google-cloud-sdk-323.0.0-darwin-x86.tar.gz | 86.4 MB | d8f11372d7b69e19c6e320cdbd4f3b86fad44bbd72406a7bb5eca85389b9f4d3 |
./google-cloud-sdk/bin/gcloud init
-
Descarga el instalador del SDK de Cloud.
También puedes abrir una terminal de PowerShell y ejecutar los siguientes comandos.
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe") & $env:Temp\GoogleCloudSDKInstaller.exe
-
Inicia el instalador y sigue las instrucciones. El instalador está firmado por Google LLC.
Si deseas habilitar el modo de lector de pantalla, selecciona la opción Activar el modo lector de pantalla para brindar una experiencia de lector de pantalla más optimizada. Para obtener más información sobre la experiencia del lector de pantalla del SDK de Cloud, consulta la Guía de funciones de accesibilidad.
-
El SDK de Cloud requiere Python. Versiones compatibles: Python 3 (de preferencia de 3.5 a 3.8) y Python 2 (2.7.9 o versiones posteriores).
Se instalarán todas las dependencias necesarias, incluida la versión de Python correspondiente. Si bien en la actualidad el SDK de Cloud usa Python 3 de forma predeterminada, puedes desmarcar la opción “Install Bundled Python” para usar una instalación existente si lo necesitas.
Después de que se haya completado la instalación, el instalador presenta varias opciones:
Asegúrate de seleccionar lo siguiente:
- Iniciar el SDK de Google Cloud Shell
- Ejecutar 'gcloud init'
El instalador inicia una ventana de la terminal y ejecuta el comando
gcloud init
.- La instalación predeterminada no incluye las extensiones de App Engine necesarias para implementar una aplicación con los comandos
gcloud
. Estos componentes se pueden instalar con el administrador de componentes del SDK de Cloud.
- Si el SDK de Cloud no se ejecuta después de instalar la versión 274.0.0, consulta este error de seguimiento para conocer las soluciones más recientes.
- Si la instalación no se completa de forma correcta debido a que el comando
find
no se reconoce, asegúrate de que la variable de entorno “PATH” esté configurada para incluir la carpeta que contiene “find”. Por lo general, esa carpeta esC:\WINDOWS\system32;
. - Después de desinstalar el SDK de Cloud, deberás reiniciar el sistema antes de volver a instalarlo.
Realiza actualizaciones con el comando components update
: gcloud components update
.
Para aprender a usar gsutil, consulta la guía de inicio rápido del uso de la herramienta gsutil o ejecuta gsutil help
.
Métodos de instalación alternativos
Hay varias formas de instalar gsutil como un producto independiente. Es posible que prefieras uno de estos métodos si no quieres ninguno de los otros componentes que vienen con el SDK de Cloud o si administras paquetes con PyPI.
Si instalas gsutil como un elemento independiente, se generará un requisito adicional del sistema que establece que debes tener Python instalado en tu computadora. gsutil admite de forma oficial la versión secundaria 2.7.x hasta la 3.7.x. Python se instala de forma predeterminada en la mayoría de las distribuciones de Linux y macOS, pero no en Windows. Debes instalar Python para poder ejecutar gsutil en Windows.
Expande el método deseado para las instrucciones.
Configura las credenciales para acceder a datos protegidos
La instalación de gsutil te permite descargar objetos de acceso público y acceder a ellos, pero para acceder a datos protegidos o escribir en un bucket protegido, debes configurar las credenciales (es decir, autenticarte). Por ejemplo, si alguien más creó una cuenta de Cloud Storage y subió datos a los que solo puedes acceder tú o personas específicas, debes configurar tus credenciales en el servicio de Cloud Storage para poder acceder a estos datos.
Si instalaste gsutil como parte del SDK de Google Cloud, sigue estas instrucciones. De lo contrario, consulta la sección Autentica gsutil independiente.
Autentica el SDK de Google Cloud
Cuando se usa gsutil como parte del SDK de Google Cloud, se usa OAuth2 para autenticar y autorizar el acceso. Ten en cuenta que es posible que ya hayas realizado los pasos siguientes si seguiste las instrucciones en la sección Instala gsutil como parte del SDK de Google Cloud anterior. Si ya ejecutaste gcloud init
, se te preguntará si deseas volver a inicializar la configuración o crear una nueva.
Abre una instancia del símbolo del sistema.
Ejecuta
gcloud init
en el símbolo del sistema.Recibirás el resultado siguiente:
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)?
Escribe “Y” y presiona Intro para acceder.
El comando imprime una URL y, luego, intenta abrir una ventana del navegador para solicitar acceso a tu proyecto. Si se puede abrir una ventana del navegador, recibirás el resultado siguiente:
Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2F...
Dirígete al paso siguiente.
Si trabajas en una máquina local y tu navegador no carga la URL de forma automática, vuelve a intentar usar el comando
gcloud init
con la marca--console-only
:gcloud init --console-only
Si usas este comando o si el SDK de Cloud detecta que no se puede abrir un navegador (por ejemplo, si trabajas en una máquina remota), recibirás el resultado siguiente:
Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3A... Enter verification code:
Abre un navegador y navega hacia la URL proporcionada.
Si se te solicita, accede con la Cuenta de Google asociada a tus datos de Cloud Storage en la ventana del navegador.
Otorga el acceso.
Si la ventana del navegador se abrió de forma automática, revisa los permisos de la aplicación y haz clic en Aceptar cuando estés listo. El código de verificación se envía de forma automática a la herramienta de línea de comandos.
Si trabajas en una máquina remota o usaste la marca
--console-only
, copia el código de verificación de la URL y pégalo en la línea de comandos de la terminal después de Ingresar código de verificación:.
Elige el proyecto predeterminado para esta configuración.
Después de configurar tus credenciales, la herramienta de línea de comandos
gcloud
te solicita un proyecto predeterminado para esta configuración y te proporciona una lista de proyectos disponibles. Selecciona un ID del proyecto de la lista.Cuando configuras esta propiedad, los comandos de gsutil que requieren un proyecto, como
gsutil mb
, usan el ID del proyecto predeterminado, a menos que los anules con la marca-p
o establezcas la variable de entornoCLOUDSDK_CORE_PROJECT
.
Eso es todo. Está todo listo para acceder a los datos protegidos. Para ver una lista de los comandos de gsutil, escribe gsutil
en el símbolo del sistema.
Autentica el gsutil independiente
Autentica con HMAC
Aunque OAuth 2.0 es la forma recomendada de autenticar gsutil, también puedes usar claves HMAC para tus credenciales. Para la autenticación con HMAC, usa la marca -a
en el comando gsutil config
:
gsutil config -a
Usar este comando te lleva a través de un proceso similar al de la autenticación del gsutil independiente (consulta la sección anterior), excepto que se te solicita el ID de acceso y el secreto asociados con la clave HMAC.
Si usas el SDK de Google Cloud, también debes inhabilitar el paso de credenciales con este comando:
gcloud config set pass_credentials_to_gsutil false
Habilita la mTLS
También te recomendamos habilitar la TLS mutua (mTLS). Cuando se habilita mTLS en tu dispositivo, este intentará conectarse a storage.mtls.googleapis.com
. Antes de que se permita la conexión, Cloud Storage verificará el certificado de tu dispositivo.
La manera más sencilla de obtener un certificado es a través del SDK de Google Cloud. Puedes configurar uno de forma manual en el archivo .boto si configuras los siguientes valores en "Credenciales":
-
use_client_certificate
: Una marca que controla si usa la mTLS o no -
cert_provider_command
: Un comando de shell que imprime un certificado en stdout para que gsutil lo lea