Creazione di un lavoro Code Engine
Il tipo di segreto delle credenziali personalizzate consente agli utenti di Secrets Manager di gestire il ciclo di vita delle credenziali per i sistemi esterni (ad esempio, Artifactory, PagerDuty ) utilizzando le API e le integrazioni di Secrets Manager. Per creare segreti di credenziali personalizzati, occorre innanzitutto impostare un progetto in IBM Cloud® Code Engine e definire un lavoro che si interfacci tra Secrets Manager e il servizio esterno che richiede le credenziali.
Le credenziali personalizzate supportano un'ampia gamma di sistemi di terze parti, pertanto le indicazioni per la configurazione del lavoro su Code Engine sono volutamente generiche e si concentrano sulle migliori pratiche di Code Engine. Se i parametri sono formattati correttamente e si seleziona un progetto e un lavoro Code Engine valido, Secrets Manager può eseguire il lavoro con varie configurazioni. Tuttavia, Secrets Manager non convalida l'allineamento della configurazione al caso d'uso specifico. Esegue solo la configurazione fornita.
Per assistere nell'implementazione della logica di lavoro per interagire con i provider esterni, Secrets Manager offre documentazione per gli sviluppatori, best practice, strumenti di generazione e distribuzione dei lavori ed esempi di codice. Imparare a progettare un nuovo lavoro di provider di credenziali nel repository Provider di credenziali personalizzati.
Ciclo di vita del lavoro del fornitore di credenziali
Un tipico flusso di lavoro prevede:
- Creazione delle credenziali, in cui vengono generate nuove credenziali.
- Eliminazione delle credenziali, se le credenziali sono state revocate.
- Aggiornamento del task segreto, che invia il risultato a Secrets Manager.
Il seguente diagramma del flusso di lavoro Code Engine illustra questo ciclo di vita.
Secrets Manager tenta ogni giorno (per un massimo di 10 giorni) di eliminare le credenziali dopo un tentativo di eliminazione non riuscito. I tentativi di richiesta sono raccomandati quando sono applicabili, ma vengono omessi nel diagramma di
flusso per chiarezza. Una risposta di stato 400 o 404 alla richiesta di aggiornamento dell'attività segreta indica che l'attività segreta non può essere aggiornata con un tentativo.
Considerazioni sulla sicurezza
Per migliorare la sicurezza:
- Seguire il principio del minimo privilegio: limitare l'accesso ai lavori solo ai segreti necessari utilizzando un gruppo di segreti dedicato.
- Ruoli IAM: assegnare la chiave API utilizzata dal lavoro per l'autenticazione a Secrets Manager il ruolo SecretTaskUpdater ruolo. Se il lavoro deve leggere i segreti, assegnare anche il ruolo SecretsReader ruolo. Entrambi i ruoli devono essere assegnati al gruppo segreto dedicato.
- Evitare informazioni di identificazione personale (PII) e dati confidenziali: non utilizzare identificatori personali o dati confidenziali (come indirizzi e-mail o numeri di previdenza sociale) come parametri di input o come ID di credenziali. Secrets Manager tratta i parametri di input e l'ID di credenziali come metadati, non come dati segreti sensibili.
Gestione degli errori
Se il job del fornitore di credenziali non è in grado di creare o eliminare le credenziali, deve aggiornare Secrets Manager con un codice di errore dell'applicazione e un messaggio di errore rivolto all'utente. Questo errore viene visualizzato nella console Secrets Manager per il task non riuscito e consente all'utente di applicare un'azione correttiva.
Risoluzione dei problemi
Per impostazione predefinita, Secrets Manager configura Code Engine per rimuovere immediatamente i lavori completati. In questo modo si evita l'accumulo di lavori e si evita di superare i limiti di quota nel tempo. Tuttavia, durante lo sviluppo, si potrebbe voler conservare i lavori completati per rivederne la configurazione e i registri.
Per conservare i lavori completati utilizzando l'interfaccia utente Code Engine:
- Nella console IBM Cloud, spostarsi su Containers → Projects e aprire il progetto del provider di credenziali.
- Nella pagina del progetto, andare su Lavori, fare clic sulla scheda Lavori e selezionare il lavoro.
- Nella pagina Configurazione, aprire la scheda Variabili d'ambiente.
- Individuare la variabile
CE_REMOVE_COMPLETED_JOBSe fare clic sulla sua riga per modificarla. - Nel pannello Modifica variabile d'ambiente, cambiare il valore da
IMMEDIATELYa4320(3 giorni), quindi fare clic su Fine. - Tornare alla pagina delle variabili d'ambiente e fare clic su Deploy per applicare le modifiche. I lavori completati vengono ora conservati per 3 giorni.
Per la risoluzione dei problemi in un ambiente di produzione, si consiglia di integrare Code Engine con Cloud Logs. Per le istruzioni di configurazione, consultare la documentazione di entrambi i servizi.
Passi successivi
Dopo aver creato il progetto e il lavoro Code Engine, si può passare alla creazione di una configurazione personalizzata del motore delle credenziali.