En esta página, se explica cómo enumerar y obtener claves de cuentas de servicio con la consola deCloud de Confiance , 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.
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 Cloud de Confiance console to access Cloud de Confiance 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 initC#
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.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
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.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
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.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
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.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
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.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
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 proporciones a gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .
Comprende las credenciales de las cuentas de servicio.
Roles requeridos
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 deCloud de Confiance , 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 Google Cloud-powered key pares.
Console
- En la consola de Cloud de Confiance , 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 Cloud de Confiance consola se muestra una lista de claves de la cuenta de servicio.
gcloud
Ejecuta el comando
gcloud iam service-accounts keys listpara 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 Cloud de Confiance .
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.s3ns.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 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_DOMAINcomos3nsapis.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_DOMAINcomos3nsapis.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_DOMAINcomos3nsapis.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_DOMAINcomos3nsapis.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_DOMAINcomos3nsapis.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 Cloud de Confiance . 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.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.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.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.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 Cloud de Confiance 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 Cloud de Confiance 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 deCloud de Confiance .
Para obtener metadatos de una clave de cuenta de servicio, sigue estos pasos:
- En la consola de Cloud de Confiance , 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 Cloud de Confiance 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.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 Cloud de Confiance .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.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.iam.gserviceaccount.com \ --output-file=public_key.pemPara 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.iam.gserviceaccount.com:gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.s3ns.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=jsonREST
El método
projects.serviceAccounts.keys.getmuestra 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 Cloud de Confiance . 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_FILEpara el formato PEM X.509 oTYPE_RAW_PUBLIC_KEYpara 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.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.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-10-21 (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-10-21 (UTC)"],[],[]]