Para acceder a Trusted Cloud, por lo general, deberás autorizar Google Cloud CLI. Esta página muestra opciones de autorización disponibles y te indica cómo administrar las cuentas que usas para la autorización. Si usas una instancia de Compute Engine o Cloud Shell, no es necesario que autorices la CLI de gcloud.
Tipos de cuenta
Para otorgar autorización a la CLI de gcloud para acceder a Trusted Cloud, puedes usar una cuenta de usuario o una cuenta de servicio.
Una cuenta de usuario es una cuenta Trusted Cloud que les permite a los usuarios finales autenticarse en tu aplicación. Para la mayoría de los casos de uso, especialmente con el uso interactivo de la CLI de gcloud, se recomienda usar una cuenta de usuario.
Una cuenta de servicio es una Trusted Cloud cuenta asociada con tu Trusted Cloud proyecto y no con un usuario específico. Puedes usar la cuenta de servicio integrada disponible cuando usas funciones de Cloud Run, App Engine, Compute Engine o Google Kubernetes Engine. Se recomienda una cuenta de servicio para ejecutar secuencias de comandos de la CLI de gcloud en varias máquinas.
Elige un tipo de autorización
Debes autorizar Google Cloud CLI para administrar los recursos de Trusted Cloud. Tanto la CLI de Google Cloud como Trusted Cloud usan OAuth2 para la autenticación y la autorización.
Elige uno de los siguientes tipos de autorización:
Tipo | Descripción |
---|---|
Cuenta de usuario | Se recomienda si usas la CLI de gcloud desde la línea de comandos o si escribes secuencias de comandos con la CLI de gcloud para usarlas en una sola máquina. |
Cuenta de servicio | Se recomienda si instalarás y configurarás la CLI de gcloud
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 Compute Engine en las que todos los usuarios tienen acceso
a root . |
Para obtener más información sobre la autenticación y Trusted Cloud, consulta Descripción general de la autenticación.
Autoriza el acceso con una cuenta de usuario
En esta sección, se describe cómo acceder a la CLI de gcloud con la federación de identidades de personal.
Antes de acceder a gcloud CLI, debes establecer la propiedadcore/universe_domain
en tu configuración. Para ello, ejecuta
el siguiente comando:
gcloud config set universe_domain s3nsapis.fr
Acceso con el navegador de la gcloud CLI
Para acceder a la gcloud CLI con un flujo de acceso basado en el navegador, haz lo siguiente:
Crea un archivo de configuración de acceso.
Para crear el archivo de configuración de acceso, ejecuta el siguiente comando. De manera opcional, puedes activar el archivo como predeterminado para la CLI de gcloud agregando la marca
--activate
. Luego, puedes ejecutargcloud auth login
sin especificar la ruta de acceso 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
Reemplaza lo siguiente:
WORKFORCE_POOL_ID
: el ID del grupo de personalPROVIDER_ID
: el ID del proveedorLOGIN_CONFIG_FILE_PATH
: La ruta de acceso a un archivo de configuración que especifiques, por ejemplo,login.json
El archivo contiene los extremos que usa la gcloud CLI para habilitar el flujo de autenticación basado en el navegador y establecer el público en el IdP que se configuró en el proveedor del grupo de identidad de personal. El archivo no contiene información confidencial.
El resultado es similar al siguiente:
{ "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.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://s3nsapis.fr/v1/introspect", }
gcloud auth login
use este archivo de configuración automáticamente, puedes ejecutargcloud config unset auth/login_config_file
para anular la configuración.Accede con la autenticación basada en el navegador.
Para autenticar con la autenticación de acceso basada en el navegador, puedes usar uno de los siguientes métodos:
-
Si usaste la marca
--activate
cuando creaste el archivo de configuración o si activaste el archivo de configuración congcloud config set auth/login_config_file
, gcloud CLI usa el archivo de configuración de forma automática:gcloud auth login
-
Para acceder mediante la especificación de la ubicación del archivo de configuración, ejecuta el siguiente comando:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Para usar una variable de entorno a fin de especificar la ubicación del archivo de configuración, establece
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
en la ruta de configuración.
-
Para dejar de usar el archivo de configuración de acceso, haz lo siguiente:
-
Si usaste la marca
--activate
cuando creaste el archivo de configuración o si activaste el archivo de configuración congcloud config set auth/login_config_file
, debes ejecutar el siguiente comando para anularlo:gcloud config unset auth/login_config_file
-
Borra la variable de entorno
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, si está configurada.
Acceso sin interfaz gráfica de la CLI de gcloud
Para acceder a la gcloud CLI con un flujo sin interfaz gráfica, haz lo siguiente:
OIDC
Haz que un usuario acceda a tu app de IdP y obtén el token de OIDC.
Para obtener información sobre cómo obtener el token, consulta la documentación de OIDC de tu IdP.
Guarda el token de OIDC que muestra el IdP en una ubicación segura de tu máquina local.
Ejecuta el siguiente comando para generar un archivo de configuración:
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"
Reemplaza lo siguiente:
WORKFORCE_POOL_ID
: el ID del grupo de personalPROVIDER_ID
: el ID del proveedorPATH_TO_OIDC_TOKEN
: la ruta de acceso al archivo de credenciales del IdP de OIDCWORKFORCE_POOL_USER_PROJECT
: el número de proyecto asociado con el proyecto de usuario de grupos de personal.
La principal debe tener el permiso serviceusage.services.use
en este proyecto.
Cuando ejecutas el comando, se produce un archivo de configuración del 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
Haz que un usuario acceda a tu app de IdP y obtén la aserción de SAML.
Para obtener información sobre cómo obtener la aserción de SAML de tu IdP, consulta la documentación de SAML de tu IdP.
Guarda la respuesta SAML que muestra el IdP en una ubicación segura de tu máquina local y, luego, almacena la ruta de acceso de la siguiente manera:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Para generar un archivo de configuración, ejecuta 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"
Reemplaza lo siguiente:
WORKFORCE_PROVIDER_ID
: el ID del proveedor de personal que creaste antes en esta guía.WORKFORCE_POOL_ID
: el ID del grupo de personal que creaste antes en esta guía.SAML_ASSERTION_PATH
: la ruta de acceso del archivo de aserción de 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 acceder a gcloud
mediante el intercambio de tokens, ejecuta el siguiente comando:
gcloud auth login --cred-file="config.json"
Luego, gcloud
intercambia de manera transparente tus credenciales de IdP por tokens de acceso temporales de Trusted Cloud , lo que te permite realizar otras llamadas de gcloud
a Trusted Cloud.
El resultado es similar a este:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Para enumerar las cuentas con credenciales y tu cuenta activa actual, ejecuta el siguiente comando:
gcloud auth list
Autoriza con una cuenta de servicio
El comando gcloud auth login
puede autorizar el acceso con una cuenta de servicio mediante un archivo de credenciales almacenado en tu sistema de archivos local. Esta credencial puede ser una credencial de usuario con permiso para robar la identidad de la cuenta de servicio, un archivo de configuración de credenciales para la federación de identidades para cargas de trabajo o una clave de cuenta de servicio.
Cómo autorizar una cuenta de servicio con la identidad temporal como cuenta de servicio
Para autorizar a la CLI de gcloud a usar credenciales de cuenta de servicio suplantadas, haz lo siguiente:
En la Trusted Cloud consola, ve a la página Cuentas de servicio.
Elige una cuenta existente o crea una nueva con un clic en Crear cuenta de servicio.
-
Para obtener el permiso que necesitas para usar la identidad de otra cuenta de servicio, pídele a tu administrador que te 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, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene el permiso
iam.serviceAccounts.getAccessToken
, que se requiere para usar la identidad de otra cuenta de servicio.También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Ejecuta
gcloud auth login
para autorizar la CLI de gcloud con tu identidad de usuario.Para configurar la CLI de gcloud para usar la identidad y el acceso que proporciona una cuenta de servicio de forma predeterminada, usa el comando de configuración de la CLI de gcloud:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Para dejar de usar las credenciales de cuenta de servicio con identidad de otra cuenta con la CLI de gcloud de forma predeterminada, anula la marca con el comando de configuración de la CLI de gcloud:
gcloud config unset auth/impersonate_service_account
Autoriza una cuenta de servicio con la federación de Workload Identity
Para autorizar la CLI de gcloud con una cuenta de servicio que use credenciales externas de la federación de identidades de cargas de trabajo, haz lo siguiente:
En la Trusted Cloud consola, ve a la página Cuentas de servicio.
Elige una cuenta existente o crea una nueva con un clic en Crear cuenta de servicio.
Crea un archivo de configuración de credenciales para la federación de Workload Identity siguiendo las instrucciones para tu proveedor de identidad compatible.
Para activar tu cuenta de servicio, ejecuta
gcloud auth login
con la marca--cred-file
:gcloud auth login --cred-file=CONFIGURATION_FILE
Reemplaza CONFIGURATION_FILE por la ruta de acceso a un archivo de configuración de credenciales para la federación de Workload Identity.
Cómo autorizar una cuenta de servicio con una clave de cuenta de servicio
Para autorizar la CLI de gcloud con una cuenta de servicio mediante una clave de cuenta de servicio, haz lo siguiente:
En la Trusted Cloud consola, ve a la página Cuentas de servicio.
Elige una cuenta existente o crea una nueva con un clic en Crear cuenta de servicio.
Para crear claves de cuenta de servicio, consulta las instrucciones de IAM para crear una clave de cuenta de servicio.
Para activar tu cuenta de servicio, ejecuta
gcloud auth login
con la marca--cred-file
:gcloud auth login --cred-file=KEY_FILE
Reemplaza KEY_FILE por la ruta de acceso a un archivo de claves de cuenta de servicio.
Mostrar 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 de las cuentas y qué cuenta está activa:
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
.
Establece la duración de la sesión autorizada
Como administrador, puedes controlar durante cuánto tiempo los diferentes usuarios pueden acceder a gcloud CLI sin tener que volver a autenticarse. Por ejemplo, puedes forzar a los usuarios con privilegios elevados a volver a autenticarse con más frecuencia que los usuarios normales.
Para obtener más información, consulta Cómo establecer la duración de la sesión para los Trusted Cloud servicios.
Revoca credenciales de una cuenta
Puedes revocar credenciales cuando desees inhabilitar el acceso a la CLI de gcloud 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 a la CLI de gcloud para todas las máquinas, quita la CLI de gcloud de la lista de apps que tienen acceso a tu cuenta.
Cómo trabajar con archivos de credenciales
Cómo encontrar tus archivos de credenciales
Para encontrar la ubicación de tus archivos de credenciales, ejecuta gcloud info
:
gcloud info
La CLI de gcloud imprime información sobre tu instalación. Los archivos de credenciales se almacenan en el directorio de configuración del usuario:
User Config Directory: [/home/USERNAME/.config/gcloud]
Configura credenciales predeterminadas de la aplicación
La CLI de gcloud admite la administración de 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 ADC, ejecuta gcloud auth application-default login
:
gcloud auth application-default login
La CLI de gcloud no usa estas credenciales. Para conocer otras formas de configurar ADC, consulta Configura 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 Trusted Cloud, consulta Descripción general de la autenticación.
- Para obtener más información sobre cómo personalizar gcloud CLI, consulta Propiedades de gcloud CLI.
- Para obtener más información sobre cómo administrar conjuntos con nombre de propiedades de la CLI de gcloud, consulta Configuraciones de la CLI de gcloud.