En esta página, se explica cómo enumerar y obtener claves de cuentas de servicio con la consola deTrusted Cloud , Google Cloud CLI, la API de Identity and Access Management o una de las bibliotecas cliente de Google Cloud.
Antes de comenzar
Enable the IAM API.
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
C#
Para usar las muestras de .NET de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Trusted Cloud documentación de autenticación.
C++
Para usar las muestras de C++ de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Trusted Cloud documentación de autenticación.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Trusted Cloud documentación de autenticación.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Trusted Cloud documentación de autenticación.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Trusted Cloud documentación de autenticación.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Si deseas obtener más información, consulta Autentica para usar REST en la Trusted Cloud documentación de autenticación.
Comprende las credenciales de las cuentas de servicio.
Roles obligatorios
Para obtener los permisos que necesitas para enumerar y obtener claves de cuenta de servicio, pídele a tu administrador que te otorgue el rol de visualizador de cuentas de servicio (
roles/iam.serviceAccountViewer
) de IAM en el proyecto o la cuenta de servicio cuyas claves deseas administrar. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Para obtener más información, consulta Roles de cuentas de servicio.
Las funciones de IAM básicas también contienen permisos para administrar claves de cuentas de servicio. No deberías otorgar roles básicos en un entorno de producción, pero puedes otorgarlos en un entorno de desarrollo o de prueba.
Enumera las claves de cuentas de servicio
Puedes generar una lista de las claves de una cuenta de servicio con la consola deTrusted Cloud , gcloud CLI, el método
serviceAccount.keys.list()
o una de las bibliotecas cliente.El método
serviceAccount.keys.list()
se usa comúnmente a fin de auditar claves y cuentas de servicio, o de compilar herramientas personalizadas para administrar cuentas de servicio.Si quieres descubrir a qué proyecto pertenece tu clave, puedes descargar la clave como un archivo JSON y mirar ese archivo.
Puede que haya claves que no creaste; Estas son claves creadas por Google y usadas por la API de Service Account Credentials. Para obtener más información, consulta pares deGoogle Cloud-powered key .
Console
- En la consola de Trusted Cloud , ve a la página Cuentas de servicio.
- Selecciona un proyecto.
- En la página Cuentas de servicio, haz clic en la dirección de correo electrónico de la cuenta de servicio cuyas claves deseas enumerar.
- Haga clic en Claves. En la Trusted Cloud consola se muestra una lista de claves de la cuenta de servicio.
gcloud
Ejecuta el comando
gcloud iam service-accounts keys list
para generar una lista de las claves de la cuenta de servicio.Reemplaza los siguientes valores:
SA_NAME
: El nombre de la cuenta de servicio para enumerar las clavesPROJECT_ID
: El ID de tu proyecto de Trusted Cloud .
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
Resultado:
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 EXPUESTA ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM C++.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno
GOOGLE_CLOUD_UNIVERSE_DOMAIN
comos3nsapis.fr
.C#
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM C#.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno
GOOGLE_CLOUD_UNIVERSE_DOMAIN
comos3nsapis.fr
.Go
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM Go.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno
GOOGLE_CLOUD_UNIVERSE_DOMAIN
comos3nsapis.fr
.Java
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM Java.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno
GOOGLE_CLOUD_UNIVERSE_DOMAIN
comos3nsapis.fr
.Python
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM Python.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno
GOOGLE_CLOUD_UNIVERSE_DOMAIN
comos3nsapis.fr
.REST
Con el método
projects.serviceAccounts.keys.list
, se enumeran todas las claves de cuenta de servicio de una cuenta de servicio.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID de tu proyecto de Trusted Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.SA_NAME
: Es el nombre de la cuenta de servicio cuyas claves deseas enumerar.KEY_TYPES
: Opcional Es una lista separada por comas de los tipos de claves que deseas incluir en la respuesta. El tipo de clave indica si una clave es administrada por el usuario (USER_MANAGED
) o por el sistema (SYSTEM_MANAGED
). Si se deja en blanco, se mostrarán todas las claves.
Método HTTP y URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Obtener una clave de cuenta de servicio
Puedes usar laCLI de gcloud o la API de REST a fin de obtener los datos de clave pública para una clave de cuenta de servicio. Además, puedes usar la Trusted Cloud consola, gcloud CLI o la API de REST para obtener metadatos de la clave, como el algoritmo que usa y si la administras tú o Google.
Es posible que algunas aplicaciones o herramientas necesiten acceso a los datos o metadatos de la clave pública de una clave de cuenta de servicio para tareas como la auditoría y la interoperabilidad con sistemas externos. Por ejemplo, Terraform podría necesitar verificar que el estado de una clave de cuenta de servicio en Trusted Cloud by S3NScoincida con lo que se define en el archivo de configuración de Terraform.
Console
A fin de obtener los datos de clave pública para una clave de cuenta de servicio, haz lo siguiente:
Usa gcloud CLI o la API de REST. Estos datos no están disponibles en la consola deTrusted Cloud .
Para obtener metadatos de una clave de cuenta de servicio, sigue estos pasos:
- En la consola de Trusted Cloud , ve a la página Cuentas de servicio.
- Selecciona un proyecto.
- En la página Cuentas de servicio, haz clic en la dirección de correo electrónico de la cuenta de servicio cuyas claves deseas enumerar.
- Haga clic en Claves. En la consola de Trusted Cloud se muestra una lista de claves de la cuenta de servicio, incluidos los metadatos de cada clave.
gcloud
A fin de obtener los datos de clave pública para una clave de cuenta de servicio, haz lo siguiente:
Ejecuta el comando
gcloud beta iam service-accounts keys get-public-key
:gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com \ --output-file=FILENAME
Ingresa los siguientes valores:
KEY_ID
: El ID de la clave pública que deseas obtener. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas obtener y, luego, copia su ID.SA_NAME
: El nombre de la cuenta de servicio cuya clave pública deseas obtener.PROJECT_ID
: El ID de tu proyecto de Trusted Cloud .FILENAME
: El archivo en el que se guardan los datos de la clave pública.
De forma predeterminada, los datos de la clave pública se guardan en formato X.509 PEM. Para obtener la clave pública sin procesar, ejecuta el comando con la marca adicional
--type=raw
.Por ejemplo, mediante el siguiente comando, se obtienen los datos de una clave pública para la clave:
c97cc34494c07c9b483701f28368f20145b9ef97
, que pertenece a la cuenta de serviciomy-service-account@my-project.s3ns-system.iam.gserviceaccount.com
, luego guarda los datos de la clave pública en el archivopublic_key.pem
:gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --output-file=public_key.pem
Para obtener metadatos de una clave de cuenta de servicio, sigue estos pasos:
Ejecuta el comando
gcloud iam service-accounts keys list
:gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json
Ingresa los siguientes valores:
SA_NAME
: Es el nombre de la cuenta de servicio para la que deseas tener metadatos de clave.KEY_ID
: El ID de la clave para la que deseas metadatos.
Por ejemplo, con el siguiente comando, se obtienen metadatos para la clave
c97cc34494c07c9b483701f28368f20145b9ef97
, que pertenece a la cuenta de serviciomy-service-account@my-project.s3ns-system.iam.gserviceaccount.com
:gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
El método
projects.serviceAccounts.keys.get
muestra información sobre una clave pública para una cuenta de servicio.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID de tu proyecto de Trusted Cloud . Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.SA_NAME
: El nombre de la cuenta de servicio cuya clave pública deseas obtener.-
KEY_ID
: El ID de la clave pública que deseas obtener. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas obtener y, luego, copia su ID al final del camponame
. El ID de la clave es todo lo que se encuentra después dekeys/
. KEY_TYPE
: El formato en el que se muestra la clave pública. UsaTYPE_X509_PEM_FILE
para el formato PEM X.509 oTYPE_RAW_PUBLIC_KEY
para la clave pública sin procesar. Si omites este parámetro de consulta, el método muestra metadatos para la clave, pero no muestra los datos de la clave pública.
Método HTTP y URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
¿Qué sigue?
- Aprende a crear y eliminar claves de cuentas de servicio.
- Aprende a inhabilitar y habilitar claves de cuentas de servicio.
- Obtén información sobre las alternativas a las claves de cuenta de servicio para la autenticación.
- Obtén información sobre cómo usar claves de cuentas de servicio para autenticar como una cuenta de servicio.
- Comprende las prácticas recomendadas para administrar claves de cuentas de servicio.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-08 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-08 (UTC)"],[[["This page guides you through listing and retrieving service account keys using the Google Cloud console, Google Cloud CLI, IAM API, or Google Cloud Client Libraries."],["For workloads outside Google Cloud, Workload Identity Federation is recommended over service account keys due to its use of short-lived tokens and reduced security maintenance."],["To list or get service account keys, you must first enable the IAM API and properly set up authentication, particularly if you're using a local development environment or an external identity provider."],["You can list keys to audit service accounts and understand which project they belong to, and keys that you did not create may have been created by Google for the Service Account Credentials API."],["While metadata about service account keys can be retrieved, private key data is only available during key creation and public keys can be attained through the gcloud CLI or the REST API."]]],[]]