En esta página, se explica cómo inhabilitar y habilitar claves de cuentas de servicio mediante la consola de Google Cloud, Google Cloud CLI, la API de Identity and Access Management o una de las bibliotecas cliente de Google Cloud.
Antes de comenzar
Habilita IAM API.
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
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.
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local en la documentación de autenticación de Google Cloud.
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 la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Comprende las credenciales de las cuentas de servicio.
Roles obligatorios
Para obtener los permisos que necesitas a fin de inhaiblitar y habilitar las claves de cuentas de servicio, pídele a tu administrador que te otorgue el rol de IAM de administrador de claves de cuentas de servicio (
roles/iam.serviceAccountKeyAdmin
) en el proyecto o en la cuenta de servicio cuyas claves deseas administrar. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.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 funciones básicas en un entorno de producción, pero puedes otorgarlas en un entorno de desarrollo o de prueba.
Inhabilita una clave de cuenta de servicio
Inhabilitar una clave de cuenta de servicio te impide usarla para autenticarte con las API de Google. Puedes habilitar una clave inhabilitada en cualquier momento.
Antes de borrar una clave de una cuenta de servicio, te recomendamos que la inhabilites y, luego, espera hasta que estés seguro de que la clave ya no es necesaria. Luego, puedes borrar la clave.
Puedes ver las claves inhabilitadas en la consola de Google Cloud, pero no puedes usar la consola de Google Cloud para inhabilitar una clave. En su lugar, usa la CLI de gcloud o la API de REST.
gcloud
Ejecuta el comando
gcloud iam service-accounts keys disable
para inhabilitar la clave de una cuenta de servicio.Reemplaza los siguientes valores:
KEY_ID
: El ID de la clave que se inhabilitará. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas inhabilitar y, luego, copia su ID.SA_NAME
: El nombre de la cuenta de servicio a la que pertenece la clave.PROJECT_ID
: es el ID del proyecto de Google Cloud.
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
Resultado:
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
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.
REST
El método
projects.serviceAccounts.keys.disable
inhabilita una clave de cuenta de servicio.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-project
.SA_NAME
: El nombre de la cuenta de servicio cuya clave deseas inhabilitar.KEY_ID
: El ID de la clave que deseas inhabilitar. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas inhabilitar y, luego, copia su ID al final del camponame
. El ID único de la clave es todo lo que se encuentra después dekeys/
.
Método HTTP y URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:disable
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ }
Habilita una clave de cuenta de servicio
Después de inhabilitar una clave de cuenta de servicio, puedes habilitarla en cualquier momento y, luego, usarla para autenticarte con las API de Google.
No puedes usar la consola de Google Cloud para habilitar las claves de las cuentas de servicio. En su lugar, usa la CLI de gcloud o la API de REST.
gcloud
Ejecuta el comando
gcloud iam service-accounts keys enable
para habilitar la clave de una cuenta de servicio.Reemplaza los siguientes valores:
KEY_ID
: El ID de la clave que se habilitará. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas habilitar y, luego, copia su ID.SA_NAME
: El nombre de la cuenta de servicio a la que pertenece la clave.PROJECT_ID
: El ID del proyecto de Google Cloud.
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com\ --project=PROJECT_ID
Resultado:
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
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.
REST
El método
projects.serviceAccounts.keys.enable
habilita una clave de cuenta de servicio.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-project
.SA_NAME
: El nombre de la cuenta de servicio cuya clave deseas habilitar.-
KEY_ID
: El ID de la clave que deseas habilitar. Para encontrar el ID de la clave, enumera todas las claves de la cuenta de servicio, identifica la clave que deseas habilitar y, luego, copia su ID al final del camponame
. El ID de la clave es todo lo que se encuentra después dekeys/
.
Método HTTP y URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:enable
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ }
¿Qué sigue?
- Obtén más información sobre cómo borrar claves de cuentas de servicio.
- Aprende a enumerar y obtener claves de cuenta de servicio.
- Obtén información sobre cómo usar claves de cuentas de servicio para autenticar como una cuenta de servicio.
- Obtén información sobre las alternativas a las claves de cuenta de servicio para la autenticación.
- Comprende las prácticas recomendadas para administrar claves de cuentas de servicio.
Pruébalo tú mismo
Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Empezar gratisSalvo 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: 2024-08-22 (UTC)
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema de traducción" },{ "type": "thumb-down", "id": "otherDown", "label":"Otro" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Fácil de comprender" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Resolvió mi problema" },{ "type": "thumb-up", "id": "otherUp", "label":"Otro" }]