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 a fin de que puedan 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 la CLI de gcloud y otras herramientas en el SDK de Cloud antes de poder 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 Se recomienda si instalas y configuras el SDK de Cloud como parte de un proceso de implementación de máquinas en producción o para usar con las instancias de máquinas virtuales de Google Compute Engine a las que 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.

Autoriza el acceso con una cuenta de usuario

Puedes usar los siguientes comandos de la CLI 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. La cuenta especificada se convierte en la cuenta activa en la configuración del SDK de Cloud. La CLI de 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.

Ejecuta gcloud init

gcloud init autoriza el acceso y realiza otros pasos comunes de 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
    

    Usar la marca --console-only es útil si ejecutas el comando desde un sistema remoto mediante 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.

Ejecuta 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 un navegador web automáticamente. 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.

Autoriza el acceso con una cuenta de servicio

gcloud auth activate-service-account autoriza el acceso mediante 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 se completa correctamente y configura la cuenta especificada como la cuenta activa en la 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 Console.

    Ir 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 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 realizar los pasos 1 a 4, puedes obtener 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 [ACCOUNT] --key-file=[KEY_FILE]
    
  6. Borra el archivo de claves del sistema. Ten en cuenta que la CLI de gcloud almacena las claves, y que la copia de la CLI de gcloud de la clave permanecerá allí.

Lista de cuentas

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

gcloud auth list

La CLI de gcloud muestra la lista las cuentas y qué cuenta está activa actualmente:

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

Cambia 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 que usa la CLI de gcloud por invocación, anula la cuenta activa mediante la marca --account.

Revoca credenciales para una cuenta

Puedes revocar credenciales cuando desees inhabilitar el acceso a la CLI de gcloud y otras herramientas del SDK de Cloud de 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.

Encuentra tus archivos de credenciales

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

gcloud info

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

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

Próximos pasos