es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Permiso denegado al crear una clave de cuenta de servicio de GCP

He creado la Cuenta de servicio A y he otorgado los roles Administrador de cuenta de servicio y Administrador de claves de cuenta de servicio. Realicé este trabajo en la Consola de GCP.

La función de la Cuenta de servicio A es crear otras cuentas de servicio de forma programática utilizando el SDK de Java de GCP. Logra crear nuevas cuentas de servicio exitosamente, pero al intentar crear una clave para la cuenta de servicio recién creada, obtengo la siguiente respuesta:

json
{
"code": 403,
"errors": [
{
"domain": "global",
"message": "Se requiere el permiso iam.serviceAccountKeys.create para realizar esta operación en la cuenta de servicio projects/-/serviceAccounts/@.iam.gserviceaccount.com.",
"reason": "forbidden"
}
],
"message": "Se requiere el permiso iam.serviceAccountKeys.create para realizar esta operación en la cuenta de servicio projects/-/serviceAccounts/@.iam.gserviceaccount.com.",
"status": "PERMISSION_DENIED"
}

He intentado esperar para ver si tal vez intenté crear la clave demasiado pronto después de crear la cuenta de servicio, pero esperar horas no produjo cambios.

La Cuenta de servicio A puede crear exitosamente una clave para sí misma, pero no para las otras cuentas de servicio que crea.

¿Cómo puedo resolverlo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que la Cuenta de servicio utilizada para crear la nueva cuenta de servicio no tiene los permisos necesarios para crear una clave para la nueva cuenta de servicio.

    Para resolver el problema, debes otorgar el rol iam.serviceAccountKeyAdmin a la Cuenta de servicio A a nivel de proyecto. Esto le dará a la Cuenta de servicio A permiso para crear y administrar claves de cuenta de servicio para todas las cuentas de servicio en el proyecto.

    Para otorgar el rol, sigue los siguientes pasos:

    1. Ve a la página de IAM y administración en la Consola de GCP para el proyecto en cuestión.
    2. Selecciona el proyecto en el menú desplegable en la parte superior de la página.
    3. Haz clic en el botón “Agregar” para agregar un nuevo miembro al proyecto.
    4. Ingresa la dirección de correo electrónico de la Cuenta de servicio A y selecciona el rol iam.serviceAccountKeyAdmin del menú desplegable de roles.
    5. Haz clic en el botón “Guardar” para agregar el rol.

    Después de otorgar el rol a la Cuenta de servicio A, debería poder crear claves para las nuevas cuentas de servicio creadas bajo el proyecto.

Comments are closed.