Creación de un trabajo Code Engine

El tipo de secreto de credenciales personalizadas permite a los usuarios de Secrets Manager gestionar el ciclo de vida de las credenciales para sistemas externos (por ejemplo, Artifactory, PagerDuty ) mediante las API y las integraciones de Secrets Manager. Para crear secretos de credenciales personalizados, primero debe configurar un proyecto en IBM Cloud® Code Engine y definir un trabajo para interactuar entre Secrets Manager y el servicio externo que requiere las credenciales.

Las credenciales personalizadas admiten una amplia gama de sistemas de terceros, por lo que la guía para configurar su trabajo Code Engine es intencionadamente general, centrándose en las mejores prácticas de Code Engine. Si sus parámetros están correctamente formateados y selecciona un proyecto y un trabajo válidos en Code Engine, Secrets Manager puede ejecutar el trabajo con varias configuraciones. Sin embargo, Secrets Manager no valida si su configuración se ajusta a su caso de uso específico. Sólo ejecuta la configuración proporcionada.

Para ayudar a implementar la lógica de trabajo para interactuar con proveedores externos, Secrets Manager ofrece documentación para desarrolladores, prácticas recomendadas, herramientas generadoras y desplegadoras de trabajos y ejemplos de código. Aprenda a diseñar un nuevo trabajo de proveedor de credenciales en el repositorio de Proveedores de credenciales personalizados.

Ciclo de trabajo del proveedor de credenciales

Un flujo de trabajo típico implica:

  1. Creación de las credenciales, donde se generan nuevas credenciales.
  2. Eliminación de las credenciales, cuando se revocan las credenciales.
  3. Actualización de la tarea secreta, que devuelve el resultado a Secrets Manager.

El siguiente diagrama de flujo de trabajo Code Engine ilustra este ciclo de vida.

El diagrama muestra el ciclo de vida de un trabajo de proveedor de credenciales Code Engine
Code Engine job lifecycle

Secrets Manager reintenta diariamente (durante un máximo de 10 días) eliminar las credenciales después de un intento de eliminación fallido. Se recomiendan los reintentos de solicitud cuando proceda, pero se omiten en el diagrama de flujo para mayor claridad. Una respuesta de estado 400 o 404 a la solicitud de actualización de tarea secreta indica que la tarea secreta no puede actualizarse mediante un reintento.

Consideraciones acerca de la seguridad

Para mejorar la seguridad:

  • Siga el principio del menor privilegio: restrinja el acceso al trabajo sólo a los secretos necesarios utilizando un grupo secreto dedicado.
  • Roles IAM: asigna la clave API utilizada por el trabajo para autenticarse con Secrets Manager el SecretTaskUpdater rol. Si el trabajo necesita leer secretos, asigne también el rol SecretsReader función. Ambas funciones deben asignarse al grupo secreto específico.
  • Evite la información de identificación personal (PII) y los datos confidenciales: no utilice identificadores personales ni datos confidenciales (como direcciones de correo electrónico o números de la seguridad social) como parámetros de entrada o como ID de credenciales. Secrets Manager trata los parámetros de entrada y el ID de credenciales como metadatos, no como datos secretos sensibles.

Manejo de errores

Si el trabajo del proveedor de credenciales no puede crear o eliminar las credenciales, debe actualizar Secrets Manager con un código de error de aplicación y un mensaje de error dirigido al usuario. Este error se muestra en la consola Secrets Manager para la tarea fallida y permite al usuario aplicar una acción correctiva.

Resolución de problemas

Por defecto, Secrets Manager configura Code Engine para eliminar inmediatamente los trabajos completados. Esto evita la acumulación de ejecuciones de trabajos y ayuda a evitar que se superen los límites de cuota con el tiempo. Sin embargo, durante el desarrollo, es posible que desee conservar los trabajos completados para revisar su configuración y registros.

Para conservar los trabajos completados mediante la interfaz de usuario Code Engine:

  1. En la consola IBM Cloud, vaya a Contenedores → Proyectos y abra su proyecto de proveedor de credenciales.
  2. Dentro de la página del proyecto, vaya a Trabajos, haga clic en la pestaña Trabajos y seleccione su trabajo.
  3. En la página Configuración, abra la pestaña Variables de entorno.
  4. Localice la variable CE_REMOVE_COMPLETED_JOBS y haga clic en su fila para editarla.
  5. En el panel Editar variable de entorno, cambie el valor de IMMEDIATELY, por ejemplo, a 4320 (3 días) y, a continuación, haga clic en Listo.
  6. Vuelva a la página Variables de entorno y haga clic en Desplegar para aplicar los cambios. Los trabajos realizados se conservarán durante 3 días.

Para solucionar problemas de trabajos en un entorno de producción, se recomienda integrar Code Engine con Cloud Logs. Consulte la documentación de ambos servicios para obtener instrucciones de configuración.

Próximos pasos

Una vez creados el proyecto y el trabajo en Code Engine, puede pasar a crear una configuración personalizada del motor de credenciales.