En esta página se explica cómo enumerar y obtener claves de cuentas de servicio mediante la consola, la CLI de Google Cloud, la API Identity and Access Management o una de las bibliotecas de cliente de Google Cloud.Google Cloud
Antes de empezar
Enable the IAM API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar las .NET muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
C++
Para usar las C++ muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre Google Cloud autenticación.
Consulta información sobre las credenciales de cuentas de servicio.
Roles obligatorios
Para obtener los permisos que necesitas para enumerar y obtener claves de cuentas de servicio, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Ver cuentas de servicio (
roles/iam.serviceAccountViewer) en el proyecto o en la cuenta de servicio cuyas claves quieras gestionar. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para obtener más información, consulta Roles de cuentas de servicio.
Los roles básicos de gestión de identidades y accesos también contienen permisos para gestionar claves de cuentas de servicio. No debes conceder roles básicos en un entorno de producción, pero sí puedes hacerlo en un entorno de desarrollo o de pruebas.
Mostrar claves de cuentas de servicio
Puedes consultar las claves de una cuenta de servicio mediante laGoogle Cloud consola, la CLI de gcloud, el método
serviceAccount.keys.list()o una de las bibliotecas de cliente.El método
serviceAccount.keys.list()se suele usar para auditar cuentas de servicio y claves, o para crear herramientas personalizadas para gestionar cuentas de servicio.Para saber a qué proyecto pertenece tu clave, puedes descargarla como archivo JSON y consultarlo.
Es posible que veas claves que no has creado. Son claves creadas por Google y usadas por la API Service Account Credentials. Para obtener más información, consulta Google-owned and managed key pares.
Consola
- En la Google Cloud consola, ve a la página Cuentas de servicio.
Los pasos restantes aparecen en la Google Cloud consola.
- Selecciona un proyecto.
- En la página Cuentas de servicio, haz clic en la dirección de correo de la cuenta de servicio cuyas claves quieras consultar.
- Haz clic en Claves. La consola muestra una lista de claves de la cuenta de servicio. Google Cloud
gcloud
Ejecuta el comando
gcloud iam service-accounts keys listpara mostrar las claves de la cuenta de servicio.Sustituye los siguientes valores:
SA_NAME: nombre de la cuenta de servicio de la que se van a mostrar las claves.PROJECT_ID: tu ID de proyecto Google Cloud .
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.comResultado:
KEY_ID CREATED_AT EXPIRES_AT INHABILITADO DISABLE_REASON EXTENDED_STATUS 8e6e3936d7024646f8ceb39792006c07f4a9760c 2021-01-01T21:01:42Z 9999-12-31T23:59:59Z 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z Verdadero INICIADO POR EL USUARIO 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z Verdadero EXPOSED ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C++ de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
C#
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C# de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.