Para poder acceder Google CloudNormalmente, tendrás que autorizar la CLI de Google Cloud. Esta página muestra las opciones de autorización disponibles y cómo administrar las cuentas que usas para la autorización. Si usas una instancia de Compute Engine o Cloud Shell, no es necesario autorizar la CLI de gcloud.
Tipos de cuentas
Para otorgar autorización a la CLI de gcloud para accederGoogle Cloud, puede utilizar una cuenta de usuario o una cuenta de servicio .
Una cuenta de usuario es una Google Cloud Cuenta que permite a los usuarios finales autenticarse en la aplicación. Para la mayoría de los casos de uso, especialmente al usar la CLI de gcloud de forma interactiva, se recomienda usar una cuenta de usuario.
Una cuenta de servicio es una Google Cloud cuenta asociada a suGoogle Cloud Proyecto, no un usuario específico. Puedes usar la cuenta de servicio integrada disponible al usar las funciones de Cloud Run, App Engine, Compute Engine o Google Kubernetes Engine. Se recomienda usar una cuenta de servicio para ejecutar scripts de la CLI de gcloud en varias máquinas.
Elija un tipo de autorización
Debe autorizar la CLI de Google Cloud para administrar Google Cloudrecursos. Tanto Google Cloud CLI como Google Cloud Utilice OAuth2 para autenticación y autorización.
Elija uno de los siguientes tipos de autorización:
Tipo | Descripción |
---|---|
Cuenta de usuario | Recomendado si está utilizando la CLI de gcloud desde la línea de comandos o está escribiendo scripts con la CLI de gcloud para usar en una sola máquina. |
Cuenta de servicio | Se recomienda si está instalando y configurando la CLI de gcloud como parte de un proceso de implementación de máquina en producción, o para usar en instancias de máquinas virtuales de Compute Engine donde todos los usuarios tienen acceso a root . |
Para obtener más información sobre la autenticación y Google Cloud, consulte Descripción general de autenticación .
Autorizar con una cuenta de usuario
En esta sección se describe cómo autorizar con una cuenta de usuario.
Autenticación con una cuenta de Google
Utilice los siguientes comandos CLI de gcloud para autorizar el acceso con una cuenta de usuario:
Dominio | Descripción |
---|---|
gcloud init | Autoriza el acceso y realiza otros pasos de configuración comunes. |
gcloud auth login | Autoriza únicamente el acceso. |
Durante la autorización, estos comandos obtienen las credenciales de la cuenta deGoogle Cloud y almacenarlas en el sistema local. La cuenta especificada se convierte en la cuenta activa en su configuración . La CLI de gcloud usa las credenciales almacenadas para acceder.Google CloudPuede tener cualquier cantidad de cuentas con credenciales almacenadas para una sola instalación de gcloud CLI, pero solo una cuenta está activa a la vez.
Ejecutar gcloud init
gcloud init
autoriza el acceso y realiza otros pasos de configuración comunes . gcloud init
utiliza un flujo de autorización basado en web para autenticar la cuenta de usuario y otorgar permisos de acceso.
Para autorizar el acceso y realizar otros pasos de configuración comunes:
Ejecute
gcloud init
:gcloud init
O bien, para evitar que el comando abra automáticamente un navegador web:
gcloud init --console-only
Usar la opción
--console-only
es útil si ejecuta el comando en un sistema remoto mediantessh
y no tiene acceso a un navegador en ese sistema. A continuación, debe abrir manualmente la URL proporcionada en un navegador de su sistema local para completar el proceso de autorización.Siga el flujo de autorización basado en el navegador para autenticar la cuenta y otorgar permisos de acceso.
Para obtener más información sobre gcloud init
, consulte Inicialización de la CLI de gcloud .
Ejecutar gcloud auth login
Al ejecutar gcloud auth login
se autoriza únicamente la cuenta de usuario. Para autorizar el acceso sin realizar otros pasos de configuración, utilice una de las siguientes opciones.
Si desea autorizar la CLI de gcloud en una máquina con un navegador, siga estos pasos.
Autorizar la CLI de gcloud:
gcloud auth login
Siga el flujo de autorización basado en el navegador para autenticar la cuenta y otorgar permisos de acceso.
Si desea autorizar la CLI de gcloud en una máquina que no tiene un navegador y puede instalar la CLI de gcloud en otra máquina con un navegador, use el indicador
--no-browser
.Autorizar la CLI de gcloud:
gcloud auth login --no-browser
Copie el comando largo que comienza con
gcloud auth login --remote-bootstrap="
.Pegue y ejecute este comando en la línea de comandos de una máquina diferente y confiable que tenga instalaciones locales de un navegador web y la herramienta CLI gcloud versión 372.0 o posterior.
Copie la salida URL larga de la máquina con el navegador web.
Pegue la URL larga en la primera máquina debajo del mensaje "Ingrese la salida del comando anterior" y presione Entrar para completar la autorización.
Si desea autorizar la CLI de gcloud en una máquina sin navegador y no puede instalarla en otra máquina con navegador, use el indicador --no
--no-launch-browser
--no-launch-browser
. Este indicador impide que el comando abra automáticamente un navegador web.Autorizar la CLI de gcloud:
gcloud auth login --no-launch-browser
Copie la URL larga que comienza con
https://accounts.google.com/o/oauth2/auth...
Pegue esta URL en el navegador de una máquina diferente y confiable que tenga un navegador web.
Copie el código de autorización de la máquina con el navegador web.
Pegue el código de autorización en la primera máquina cuando aparezca el mensaje "Ingresar código de verificación" y presione Entrar para completar la autorización.
Si ya tiene un token de acceso, utilice uno de los siguientes métodos para pasar el token de acceso a la CLI de gcloud:
- Almacene el token de acceso en un archivo y establezca su ruta a través del indicador --access-token-file .
- Almacene el token de acceso en un archivo y establezca su ruta en la propiedad auth/access_token_file .
- Establezca la variable de entorno
CLOUDSDK_AUTH_ACCESS_TOKEN
en el valor del token de acceso.
Autenticación con Workforce Identity Federation
Esta sección describe cómo iniciar sesión en la CLI de gcloud usando Workforce Identity Federation.
Inicio de sesión basado en navegador de la CLI de gcloud
Para iniciar sesión en la CLI de gcloud mediante un flujo de inicio de sesión basado en navegador, haga lo siguiente:
Crear un archivo de configuración de inicio de sesión.
Para crear el archivo de configuración de inicio de sesión, ejecute el siguiente comando. Opcionalmente, puede activar el archivo como predeterminado para la CLI de gcloud añadiendo el indicador
--activate
. A continuación, puede ejecutargcloud auth login
sin especificar la ruta del archivo de configuración cada vez.gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Reemplace lo siguiente:
-
WORKFORCE_POOL_ID
: el identificador del grupo de fuerza laboral -
PROVIDER_ID
: el ID del proveedor -
LOGIN_CONFIG_FILE_PATH
: la ruta a un archivo de configuración que usted especifique, por ejemplo,login.json
El archivo contiene los puntos finales que utiliza la CLI de gcloud para habilitar el flujo de autenticación basado en navegador y establecer la audiencia en el IdP configurado en el proveedor del grupo de identidades de la fuerza laboral. El archivo no contiene información confidencial.
El resultado será similar al siguiente:
Para evitar que{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://googleapis.com/v1/introspect", }
gcloud auth login
use este archivo de configuración automáticamente, puedes deshabilitarlo ejecutandogcloud config unset auth/login_config_file
.-
Inicie sesión mediante la autenticación basada en navegador.
Para autenticarse mediante la autenticación de inicio de sesión basada en navegador, puede utilizar uno de los siguientes métodos:
Si utilizó el indicador
--activate
cuando creó el archivo de configuración, o si activó el archivo de configuración congcloud config set auth/login_config_file
, la CLI de gcloud utiliza su archivo de configuración automáticamente:gcloud auth login
Para iniciar sesión especificando la ubicación del archivo de configuración, ejecute el siguiente comando:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
- Para utilizar una variable de entorno para especificar la ubicación del archivo de configuración, establezca
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
en la ruta de configuración.
Para dejar de utilizar el archivo de configuración de inicio de sesión, haga lo siguiente:
Si utilizó el indicador
--activate
cuando creó el archivo de configuración, o si activó el archivo de configuración congcloud config set auth/login_config_file
, debe ejecutar el siguiente comando para desconfigurarlo:gcloud config unset auth/login_config_file
- Borre la variable de entorno
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, si está configurada.
Inicio de sesión sin interfaz gráfica de usuario de gcloud CLI
Para iniciar sesión en gcloud CLI, utilizando un flujo sin interfaz gráfica, haga lo siguiente:
OIDC
Inicie sesión con un usuario en su aplicación IdP y obtenga el token OIDC.
Para obtener información sobre cómo obtener el token, consulte la documentación OIDC de su IdP.
Guarde el token OIDC devuelto por IdP en una ubicación segura en su máquina local.
Genere un archivo de configuración ejecutando el siguiente comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \ --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \ --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \ --output-file="config.json"
Reemplace lo siguiente:
-
WORKFORCE_POOL_ID
: el identificador del grupo de fuerza laboral -
PROVIDER_ID
: el ID del proveedor -
PATH_TO_OIDC_TOKEN
: la ruta al archivo de credenciales del IdP de OIDC -
WORKFORCE_POOL_USER_PROJECT
: el número de proyecto asociado con el proyecto de usuario de los grupos de fuerza de trabajo
El director debe tener permiso serviceusage.services.use
en este proyecto.
Cuando ejecuta el comando, se produce un archivo de configuración de IdP de OIDC con un formato similar al siguiente:
{
"type": "external_account",
"audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
"subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
"token_url": "https://sts.googleapis.com/v1/token",
"workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
"credential_source": {
"file": "PATH_TO_OIDC_CREDENTIALS_FILE"
}
}
SAML
Inicie sesión con un usuario en su aplicación IdP y obtenga la afirmación SAML.
Para obtener información sobre cómo obtener la afirmación SAML de su IdP, consulte la documentación SAML de su IdP.
Guarde la respuesta SAML devuelta por IdP en una ubicación segura en su máquina local y luego almacene la ruta de la siguiente manera:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Para generar un archivo de configuración, ejecute el siguiente comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \ --credential-source-file="SAML_ASSERTION_PATH" \ --workforce-pool-user-project="PROJECT_ID" \ --output-file="config.json"
Reemplace lo siguiente:
-
WORKFORCE_PROVIDER_ID
: el ID del proveedor de fuerza laboral que creó anteriormente en esta guía. -
WORKFORCE_POOL_ID
: el ID del grupo de fuerza de trabajo que creó anteriormente en esta guía. -
SAML_ASSERTION_PATH
: la ruta del archivo de aserción SAML. -
PROJECT_ID
: el ID del proyecto
El archivo de configuración que se genera es similar al siguiente:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
-
Para iniciar sesión en gcloud
mediante el intercambio de tokens, ejecute el siguiente comando:
gcloud auth login --cred-file="config.json"
Luego, gcloud
intercambia de forma transparente sus credenciales de IdP por credenciales temporales. Google Cloud tokens de acceso, lo que le permite realizar otras llamadas gcloud
a Google Cloud.
La salida es similar a la siguiente:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Para enumerar las cuentas acreditadas y su cuenta actualmente activa, ejecute el siguiente comando:
gcloud auth list
Autorizar con una cuenta de servicio
El comando gcloud auth login
permite autorizar el acceso a una cuenta de servicio mediante un archivo de credenciales almacenado en el sistema de archivos local. Esta credencial puede ser una credencial de usuario con permiso para suplantar la cuenta de servicio, un archivo de configuración de credenciales para Workload Identity Federation o una clave de cuenta de servicio.
Autorizar una cuenta de servicio mediante la suplantación de cuenta de servicio
Para autorizar a la CLI de gcloud a utilizar credenciales de cuenta de servicio suplantadas , haga lo siguiente:
En el Google Cloud consola, vaya a la página Cuentas de servicio.
Elija una cuenta existente o cree una nueva cuenta haciendo clic en Crear cuenta de servicio .
Para obtener el permiso necesario para suplantar una cuenta de servicio, solicite a su administrador que le otorgue el rol de IAM " Creador de tokens de cuenta de servicio" (
roles/iam.serviceAccountTokenCreator
) en la cuenta de servicio. Para obtener más información sobre cómo otorgar roles, consulte "Administrar el acceso a proyectos, carpetas y organizaciones" .Esta función predefinida contiene el permiso
iam.serviceAccounts.getAccessToken
, que es necesario para suplantar una cuenta de servicio.También es posible que puedas obtener este permiso con roles personalizados u otros roles predefinidos .
Autorice la CLI de gcloud con su identidad de usuario ejecutando
gcloud auth login
.Para configurar la CLI de gcloud para usar la identidad y el acceso proporcionados por una cuenta de servicio de manera predeterminada, utilice el comando config de la CLI de gcloud :
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Para dejar de usar credenciales de cuenta de servicio suplantadas con la CLI de gcloud de manera predeterminada, desactive la marca con el comando config de la CLI de gcloud :
gcloud config unset auth/impersonate_service_account
Autorizar una cuenta de servicio mediante Workload Identity Federation
Para autorizar la CLI de gcloud con una cuenta de servicio usando credenciales externas de Workload Identity Federation, haga lo siguiente:
En el Google Cloud consola, vaya a la página Cuentas de servicio.
Elija una cuenta existente o cree una nueva cuenta haciendo clic en Crear cuenta de servicio .
Cree un archivo de configuración de credenciales para Workload Identity Federation siguiendo las instrucciones de su proveedor de identidad compatible.
Para activar su cuenta de servicio, ejecute
gcloud auth login
con el indicador--cred-file
:gcloud auth login --cred-file=CONFIGURATION_FILE
Reemplace CONFIGURATION_FILE con la ruta a un archivo de configuración de credenciales para Workload Identity Federation.
Autorizar una cuenta de servicio utilizando una clave de cuenta de servicio
Para autorizar la CLI de gcloud con una cuenta de servicio usando una clave de cuenta de servicio, haga lo siguiente:
En el Google Cloud consola, vaya a la página Cuentas de servicio.
Elija una cuenta existente o cree una nueva cuenta haciendo clic en Crear cuenta de servicio .
Para crear claves de cuenta de servicio, consulte las instrucciones de IAM para Crear una clave de cuenta de servicio .
Para activar su cuenta de servicio, ejecute
gcloud auth login
con el indicador--cred-file
:gcloud auth login --cred-file=KEY_FILE
Reemplace KEY_FILE con la ruta a un archivo de clave de cuenta de servicio.
Lista de cuentas
Para enumerar las cuentas cuyas credenciales están almacenadas en el sistema local, ejecute gcloud auth list
:
gcloud auth list
La CLI de gcloud enumera las cuentas y muestra qué cuenta está activa:
Credentialed accounts: - user-1@gmail.com (active) - user-2@gmail.com
Cambiar la cuenta activa
Para cambiar la cuenta activa, ejecute gcloud config set
:
gcloud config set account ACCOUNT
donde [ACCOUNT]
es la dirección de correo electrónico completa de la cuenta.
También puedes cambiar de cuenta creando una configuración independiente que especifique las diferentes cuentas y alternando entre configuraciones:
gcloud config configurations activate CONFIGURATION
Si desea cambiar la cuenta utilizada por la CLI de gcloud en cada invocación, anule la cuenta activa utilizando el indicador --account
.
Establecer la duración de la sesión autorizada
Como administrador, puede controlar el tiempo que los distintos usuarios pueden acceder a la CLI de gcloud sin tener que volver a autenticarse. Por ejemplo, puede obligar a los usuarios con privilegios elevados a volver a autenticarse con más frecuencia que los usuarios normales.
Para obtener más información, consulte Establecer la duración de la sesión para Google Cloud servicios .
Revocar credenciales para una cuenta
Puedes revocar las credenciales cuando quieras impedir el acceso a la CLI de gcloud a una cuenta específica. No es necesario revocarlas para cambiar de cuenta.
Para revocar las credenciales, ejecute gcloud auth revoke
:
gcloud auth revoke ACCOUNT
Para revocar todo acceso a la CLI de gcloud para todas las máquinas, elimine la CLI de gcloud de la lista de aplicaciones que tienen acceso a su cuenta .
Trabajar con archivos de credenciales
Encuentra tus archivos de credenciales
Para encontrar la ubicación de sus archivos de credenciales, ejecute gcloud info
:
gcloud info
La CLI de gcloud imprime información sobre la instalación. Los archivos de credenciales se almacenan en el directorio de configuración del usuario:
User Config Directory: [/home/USERNAME/.config/gcloud]
Configurar las credenciales predeterminadas de la aplicación
La CLI de gcloud permite administrar las Credenciales Predeterminadas de la Aplicación (ADC) con el grupo de comandos gcloud auth application-default
. Para que las credenciales de usuario estén disponibles para el ADC, ejecute gcloud auth application-default login
:
gcloud auth application-default login
La CLI de gcloud no utiliza estas credenciales. Para más información sobre cómo configurar ADC, consulte Configurar las credenciales predeterminadas de la aplicación .
unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login
¿Qué sigue?
- Para obtener más información sobre la autenticación y Google Cloud, consulte Descripción general de autenticación .
- Para obtener más información sobre cómo personalizar gcloud CLI, consulte Propiedades de gcloud CLI .
- Para obtener más información sobre cómo administrar conjuntos de propiedades de gcloud CLI con nombre, consulte Configuraciones de gcloud CLI .