Autorización de las herramientas del SDK de Cloud

Para acceder a Google Cloud Platform (GCP), generalmente, deberás autorizar las herramientas del SDK de Google Cloud. Esta página mostrará opciones de autorización disponibles y te indicará cómo administrar las cuentas que usas para la autorización. Si estás usando una instancia de Google Compute Engine o de Google Cloud Shell, no es necesario que autorices las herramientas del SDK de Cloud.

Tipos de cuenta

Para otorgar autorización a las herramientas del SDK de Cloud para acceder a GCP, puedes usar una cuenta de usuario o una cuenta de servicio.

Una cuenta de usuario es una cuenta de Google que les permite a los usuarios finales autenticarse directamente en su aplicación. Para la mayoría de los casos prácticos, especialmente mediante el uso interactivo de las herramientas del SDK de Cloud desde la línea de comandos, se recomienda usar una cuenta de usuario.

Una cuenta de servicio es una cuenta de Google asociada con tu proyecto de GCP y no con un usuario específico. Se puede usar una cuenta de servicio proporcionando una clave de cuenta de servicio a tu aplicación. Como alternativa, puedes usar la cuenta de servicio integrada disponible cuando usas Google Cloud Functions, Google App Engine, Google Compute Engine o Google Kubernetes Engine. Se recomienda una cuenta de servicio para ejecutar una secuencia de comandos de las herramientas del SDK de Cloud para su uso en varias máquinas.

Selección de un tipo de autorización

Debes autorizar a gcloud y a otras herramientas del SDK de Cloud antes de que puedas usarlas para administrar los recursos de la plataforma. El SDK de Cloud y Cloud Platform usan OAuth2 para la autenticación y autorización.

Elige uno de los siguientes tipos de autorización:

Tipo Descripción
Cuenta de usuario Recomendada si estás usando herramientas del SDK de Cloud desde la línea de comandos o si estás ejecutando secuencias de comandos de las herramientas del SDK de Cloud para su uso en una sola máquina.
Cuenta de servicio Recomendada si estás instalando y configurando el SDK de Cloud como parte de un proceso de implementación de una máquina en producción, o para su uso en instancias de máquina virtual de Google Compute Engine donde todos los usuarios tienen acceso a root.

Lee la Guía de autorización de Cloud Platform para obtener más información sobre la autorización y sobre Cloud Platform.

Cómo autorizar el acceso con una cuenta de usuario

Puedes usar los siguientes comandos de gcloud para autorizar el acceso con una cuenta de usuario:

Comando Descripción
gcloud init Autoriza el acceso y realiza otros pasos comunes de configuración del SDK de Cloud.
gcloud auth login Autoriza solo el acceso.

Durante la autorización, estos comandos obtienen credenciales de cuenta de Cloud Platform y las almacena en el sistema local. Luego, la cuenta especificada se convierte en la cuenta activa en tu configuración del SDK de Cloud. gcloud, y otras herramientas del SDK de Cloud usan las credenciales almacenadas para acceder a Cloud Platform. Puedes tener cualquier cantidad de cuentas con credenciales almacenadas para una única instalación del SDK de Cloud, pero solo una cuenta está activa todo el tiempo.

Cómo ejecutar gcloud init

gcloud init autoriza el acceso y realiza otros pasos comunes de la configuración del SDK de Cloud. Usa un flujo de autorización basado en la Web para autenticar la cuenta de usuario y otorgar permisos de acceso.

Para autorizar el acceso y realizar otros pasos comunes de configuración del SDK de Cloud:

  1. Ejecuta gcloud init:

    gcloud init
    

    O, para evitar que el comando abra automáticamente un navegador web, el siguiente:

    gcloud init --console-only
    

    El uso de la marca --console-only es útil si estás ejecutando el comando en un sistema remoto usando ssh y no tienes acceso a un navegador en ese sistema. Debes, entonces, abrir manualmente la URL proporcionada en un navegador en tu sistema local para completar el proceso de autorización.

  2. Sigue el flujo de autorización basado en el navegador para autenticar la cuenta y otorgar permisos de acceso.

Lee Inicialización del SDK de Cloud para obtener más información sobre este comando y sobre la inicialización del SDK de Cloud.

Cómo ejecutar gcloud auth login

gcloud auth login solo autoriza la cuenta de usuario.

Para autorizar el acceso sin realizar otros pasos de configuración:

  1. Ejecuta gcloud auth login:

    gcloud auth login
    

    O el siguiente:

    gcloud auth login --no-launch-browser
    

    Puedes usar la marca --no-launch-browser para evitar que el comando abra automáticamente un navegador web. Debes, entonces, abrir manualmente la URL proporcionada en un navegador en tu sistema local para completar el proceso de autorización.

  2. Sigue el flujo de autorización basado en el navegador para autenticar la cuenta y otorgar permisos de acceso.

Cómo autorizar el acceso con una cuenta de servicio

gcloud auth activate-service-account autoriza el acceso con una cuenta de servicio. Al igual que con gcloud init y gcloud auth login, este comando guarda las credenciales de la cuenta de servicio en el sistema local cuando el proceso finaliza con éxito y establece la cuenta especificada como la cuenta activa en tu configuración del SDK de Cloud.

Para autorizar el uso de una cuenta de servicio:

  1. Ve a la página Cuentas de servicio en Google Cloud Platform Console.

    Ve a la página Cuentas de servicio

  2. Haz clic en Crear cuenta de servicio o elige una cuenta existente.

  3. Haz clic en el botón MásCrear archivo de claves en la columna de Opciones de la tabla de las cuentas de servicio y, luego, selecciona Crear clave para crear y descargar un archivo de claves con formato JSON.

    Crear archivo de claves

  4. Si es necesario, mueve el archivo de claves a una ubicación en el mismo sistema donde estás autorizando las herramientas del SDK de Cloud.

    Como alternativa, en lugar de los Pasos 1-4, puedes adquirir una clave para una cuenta de servicio existente a través de gcloud iam service-accounts keys create.

  5. Ejecuta gcloud auth activate-service-account:

    gcloud auth activate-service-account --key-file [KEY_FILE]
    
  6. Borra el archivo de claves del sistema. Ten en cuenta que gcloud almacena claves y que la copia gcloud de la clave seguirá existiendo.

Lista de cuentas

Para hacer una lista de las cuentas cuyas credenciales están almacenadas en el sistema local, ejecuta gcloud auth list:

gcloud auth list

gcloud hace una lista de las cuentas y muestra cuál es la cuenta activa en ese momento:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

Cómo cambiar la cuenta activa

Para cambiar la cuenta activa, ejecuta gcloud config set:

gcloud config set account [ACCOUNT]

en el cual [ACCOUNT] es la dirección de correo electrónico completa de la cuenta.

También puedes cambiar de cuenta creando una configuración distinta que especifique la cuenta diferente y alternando entre configuraciones:

gcloud config configurations activate [CONFIGURATION]

Si deseas cambiar la cuenta usada por gcloud en una base por invocación, anula la cuenta activa usando la marca --account.

Cómo revocar credenciales para una cuenta

Puedes revocar credenciales cuando deseas desautorizar el acceso a gcloud y a otras herramientas del SDK de Cloud para una cuenta en particular. No necesitas revocar las credenciales para alternar entre cuentas.

Para revocar credenciales, ejecuta: gcloud auth revoke:

gcloud auth revoke [ACCOUNT]

Para revocar todo el acceso al SDK de Cloud para todas las máquinas, quita el SDK de Cloud de la lista de aplicaciones que tienen acceso a tu cuenta.

Cómo encontrar tus archivos de credenciales

Para encontrar la ubicación de tus archivos de credenciales, ejecuta gcloud info:

gcloud info

gcloud imprime información sobre la instalación de tu SDK de Cloud. Los archivos de credenciales se almacenan en el directorio de configuración del usuario:

User Config Directory: [/home/username/.config/gcloud]

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del SDK de Cloud