Configurazione di Secrets Manager
DevOps Insights Il servizio giungerà al termine e verrà interrotto il 31 agosto 2026. Il servizio " Continuous Delivery " verrà interrotto nelle seguenti regioni il 12 febbraio 2027: au-syd, ca-tor, us-east. A partire da tale data, anche Code Risk Analyzer verrà ritirato dal mercato in tutte le regioni. Se in una regione non si riscontra un utilizzo attivo di queste funzionalità, queste potrebbero essere dismesse in anticipo e non accettare più nuove istanze. Per saperne di più
IBM Cloud® Secrets Manager ti aiuta ad archiviare e applicare in modo sicuro i segreti per le applicazioni nei servizi IBM Cloud.
Un segreto è qualsiasi cosa che fornisce accesso a informazioni sensibili, come una chiave API. Puoi utilizzare l'integrazione dello strumento Secrets Manager per accedere ai segreti, ovunque siano richiesti nel workflow della toolchain.
Prima di configurare un'integrazione dello strumento Secrets Manager, assicurarsi di aver eseguito il provisioning di un'istanza del servizio Secrets Manager.
Puoi configurare l'integrazione dello strumento Secrets Manager per identificare i segreto per nome o per CRN(Cloud Resource Name).
Identificazione dei segreti per nome
Quando configuri l'integrazione dello strumento Secrets Manager per identificare i segreti per nome, la tua toolchain può accedere ai seguenti tipi di segreti:
- Segreti delle credenziali IAM ( Identity and Access Management ).
- Segreti arbitrari archiviati in Secrets Manager.
- Segreti chiave - valore.
I riferimenti ai segreti per nome non sono attualmente in grado di risolvere un segreto che include il carattere punto nel nome del segreto, perché questo carattere viene usato per delimitare ogni sezione del percorso canonico.
Per ulteriori informazioni sui segreti delle credenziali IAM, sui segreti arbitrari e sui segreti dei valori chiave in Secrets Manager, consulta Gestione dei segreti di diversi tipi.
Configura Secrets Manager per gestire in modo sicuro i segreti che fanno parte della tua toolchain:
-
Se stai configurando questa integrazione dello strumento mentre crei la toolchain, nella sezione Integrazioni configurabili, fai clic su Secrets Manager. Se Secrets Manager è definito come un'integrazione dello strumento facoltativa, si trova in Altri strumenti. Scegliere di identificare questa istanza in base al nome dell'istanza del servizio. Per creare un'autorizzazione tra la toolchain e l'istanza del servizio Secrets Manager selezionare l'opzione Crea un'autorizzazione per questa toolchain dal menu a discesa Tipo di autorizzazione. Questo concede alla toolchain l'accesso al materiale segreto archiviato nell'istanza del servizio Secrets Manager.
-
Se disponi già di una toolchain e desideri integrarvi questo strumento, dalla console IBM Cloud, fai clic sull'icona del menu (
) > Automazione della piattaforma > Toolchain. Nella pagina Toolchains, fai clic sulla toolchain per aprirne la pagina di panoramica. In alternativa, nella pagina Panoramica della tua app, nella scheda " Continuous Delivery ", fai clic su "Visualizza toolchain". Fai quindi clic su Overview.
a. Fai clic su Add tool.
b. Nella sezione Integrazioni strumento, fai clic su Secrets Manager.
-
Specifica un nome per questa istanza dell'integrazione dello strumento Secrets Manager da utilizzare nella tua toolchain. Il nome che specifichi viene utilizzato negli strumenti dell'IU che selezionano i segreti Secrets Manager. Viene utilizzata anche come parte del riferimento che risolve i valori segreti quando viene eseguita la toolchain. Questo nome istanza viene visualizzato anche nel tile dell'integrazione dello strumento Secrets Manager all'interno dello spazio di lavoro della toolchain.
-
Scegliere di identificare questa istanza in base al nome dell'istanza del servizio.
-
Riesamina i valori predefiniti per Region e Resource-Group e aggiornali, se necessario.
-
Seleziona l'istanza del servizio Secrets Manager che desideri utilizzare.
-
Per creare un'autorizzazione tra la toolchain e l'istanza del servizio Secrets Manager fai clic sul pulsante Crea autorizzazione. Questo concede alla toolchain l'accesso al materiale segreto archiviato nell'istanza del servizio Secrets Manager.
-
Fai clic su Crea integrazione.
Applicazione dei segreti
Una volta configurata l'integrazione dello strumento Secrets Manager, puoi utilizzarla per applicare i segreti ovunque siano necessari alla toolchain. Questa integrazione dello strumento e la casella di dialogo Segreti supportano entrambi i tipi di segreto delle credenziali Arbitrario e IAM.
Puoi utilizzare i segreti arbitrari per archiviare qualsiasi valore segreto predefinito o per archiviare dinamicamente le chiavi API IBM Cloud utilizzando la finestra di dialogo Segreti. Devi creare i segreti delle credenziali IAM direttamente nella tua istanza del servizio Secrets Manager. Dopo aver creato questi segreti, puoi selezionare i segreti delle credenziali IAM per utilizzarli nella tua toolchain utilizzando la finestra di dialogo Secrets in qualsiasi campo protetto. La finestra di dialogo Segreti visualizza entrambi i tipi di segreto delle credenziali Arbitrario e IAM, con il tipo di segreto aggiunto al nome segreto tra parentesi.
Utilizzo di segreti arbitrari memorizzati in Secrets Manager
Devi salvare i segreti di terzi, come un webhook Slack o un token API Artifactory, in Secrets Manager prima di creare una nuova toolchain. Puoi creare e archiviare i segreti gestiti da IBM, come ad esempio le chiavi API IBM Cloud in Secrets Manager, come tipi di segreti arbitrari mentre lavori con la tua toolchain utilizzando la finestra di dialogo Secrets. Tuttavia, devi eliminare i segreti delle credenziali IAM direttamente in Secrets Manager prima di poter selezionare questi tipi di segreti all'interno della tua toolchain utilizzando la finestra di dialogo Secrets.
Il seguente esempio applica un tipo di segreto arbitrario archiviato in Secrets Manager a una chiave API IBM Cloud richiesta dall'integrazione dello strumento Delivery Pipeline. Puoi seguire la stessa procedura per applicare i segreti a qualsiasi integrazione dello strumento Continuous Delivery che richiede valori segreti.
-
Fai clic sull'icona della chiave per richiamare i segreti dagli archivi sicuri come Secrets Manager per la chiave API IBM Cloud.
-
Nel campo Provider, specifica il provider e il nome dell'integrazione dello strumento Secrets Manager che utilizzi per gestire i tuoi segreti della toolchain. Ad esempio, per utilizzare l'integrazione dello strumento Secrets Manager, seleziona
Secrets Manager: ibm-secrets-manager-1. È possibile utilizzare altri fornitori per gestire i segreti della catena di strumenti, come ad esempio HashiCorp Vault e Key Protect. -
Selezionare un gruppo di segreti e un nome segreto e fare clic su OK per applicare il segreto memorizzato al campo ad esso associato.
segreto ad un Il nome del segreto selezionato viene visualizzato in forma di capsula. Non è possibile modificare il nome segreto in linea, ma è possibile fare clic su
per eliminare il
nome. È anche possibile sostituire il nome segreto esistente selezionando di nuovo il nome segreto. Se si immette o si incolla manualmente un nome segreto nel campo Segreti, questo viene visualizzato in un formato diverso:caption-side=bottom"
Il formato in cui viene visualizzato il segreto indica se il valore fa riferimento a un segreto archiviato in un vault di backend o a un segreto archiviato nella tua toolchain. Utilizzando i riferimenti ai segreti gestiti dai provider di segreti, come Secrets Manager, i tuoi valori segreti vengono centralizzati e archiviati in modo sicuro in una singola ubicazione. Questo approccio risolve l'espansione e la proliferazione dei segreti e significa che puoi aggiornare i segreti senza aggiornare la tua toolchain. Quando utilizzi i riferimenti segreti, il valore del segreto effettivo viene risolto quando la toolchain viene eseguita richiamandola dinamicamente da Secrets Manager. Questo approccio è utile quando devi ruotare periodicamente il valore dei tuoi segreti della toolchain.
Utilizzo dei segreti delle credenziali IAM
Il tipo di segreto delle credenziali IAM è completamente integrato con IAM. Secrets Manager gestisce automaticamente gli ID del servizio dinamico e le chiavi API associati a un segreto delle credenziali IAM. Le API del servizio Continuous Delivery e Secrets Manager si impegnano a risolvere i riferimenti segreti delle credenziali IAM autorizzati in Continuous Delivery toolchain e carichi di lavoro della pipeline.
Quando si crea un segreto delle credenziali IAM in Secrets Manager, assicurarsi di selezionare la casella di controllo Riutilizza le credenziali IAM fino alla scadenza del contratto di locazione. Inoltre, specifica una durata di leasing con un minimo di 12 ore quando utilizzi gli agent di lavoro pubblici per eseguire la pipeline. Se utilizzi gli agent di lavoro privati, assicurati di impostare una durata di leasing minima sulla durata dell'annullamento forzato per una pipeline. Si consiglia di confermare queste impostazioni con l'amministratore dell'account. Impostando l'opzione di riutilizzo e una durata di lease appropriata, puoi assicurarti che la chiave API dell'ID servizio delle credenziali IAM gestita in modo dinamico persista durante le esecuzioni della tua pipeline.
Eseguendo l'azione di rotazione sulle credenziali IAM dal dashboard Secrets Manager, puoi mantenere i requisiti di conformità per le rotazioni della chiave API utilizzate dalle tue pipeline Continuous Delivery. Secrets Manager lavora con IAM per generare una nuova chiave API per un segreto di credenziali IAM e gestisce la versione del segreto.
Il tipo di segreto delle credenziali IAM aiuta anche a fornire continuità di servizio durante e dopo la rotazione del segreto:
- I nuovi carichi di lavoro della pipeline Continuous Delivery utilizzano la chiave API appena ruotata fino alla scadenza della durata del lease.
- I carichi di lavoro della pipeline Continuous Delivery esistenti in esecuzione con la chiave API emessa prima della rotazione possono continuare l'esecuzione con la versione precedente fino alla scadenza della durata del lease della versione precedente.
Per ulteriori informazioni sul tipo di segreto delle credenziali IAM in Secrets Manager, vedi Creazione delle credenziali IAM.
Utilizzo dei segreti chiave - valore
Puoi selezionare i segreti chiave - valore da utilizzare nella tua toolchain selezionando una singola chiave dal segreto chiave - valore nella finestra di dialogo Segreti. In alternativa, è possibile selezionare il segreto nella sua interezza.
-
Fai clic sull'icona della chiave per richiamare i segreti dagli archivi sicuri come Secrets Manager per la chiave API IBM Cloud.
-
Nel campo Provider, specifica il provider e il nome dell'integrazione dello strumento Secrets Manager che utilizzi per gestire i tuoi segreti della toolchain. Ad esempio, per utilizzare l'integrazione dello strumento Secrets Manager, seleziona
Secrets Manager: ibm-secrets-manager-1. È possibile utilizzare altri fornitori per gestire i segreti della catena di strumenti, come ad esempio HashiCorp Vault e Key Protect. -
Selezionare un gruppo di segreti e un nome segreto per applicare il segreto archiviato al relativo campo associato. Facoltativo: selezionare una chiave segreta. Fai clic su OK. Il nome del segreto selezionato viene visualizzato in forma di capsula. Non è possibile modificare il nome segreto in linea, ma è possibile fare clic su
per eliminare il nome. È anche possibile sostituire il nome segreto
esistente selezionando di nuovo il nome segreto. Se si immette o si incolla manualmente un nome segreto nel campo Segreti, questo viene visualizzato in un formato diverso.
Aggiunta di un'integrazione dello strumento Secrets Manager al template della toolchain
Puoi aggiungere un'integrazione dello strumento Secrets Manager al tuo template della toolchain aggiungendo una definizione del servizio al file toolchain.yaml nel tuo repository del template. Questo file è il blueprint di progettazione
per la tua toolchain e include tutte le integrazioni dello strumento disponibili quando crei un'istanza della toolchain basata su tale template. Per personalizzare un template della toolchain esistente per includere un'integrazione dello
strumento Secrets Manager, inserisci una definizione YAML.
sm-compliance-secrets:
service_id: secretsmanager
parameters:
name: sm-compliance-secrets
instance-id-type: instance-name
region: us-south
resource-group: default
instance-name: ffs-secrets
setup-authorization-type: create
Identificazione dei segreti per CRN
Quando configuri l'integrazione dello strumento Secrets Manager per identificare i segreti tramite CRN, la tua toolchain può accedere a segreti di credenziali IAM, valore chiave e arbitrari archiviati in Secrets Manager. Per ulteriori informazioni sui diversi tipi di segreti in Secrets Manager, consulta Gestione dei segreti di diversi tipi. Puoi utilizzare solo interi segreti chiave - valore per i segreti CRN, non singole chiavi.
Configura Secrets Manager per gestire in modo sicuro i segreti che fanno parte della tua toolchain:
-
Se stai configurando questa integrazione dello strumento mentre crei la toolchain, nella sezione Integrazioni configurabili, fai clic su Secrets Manager. Se Secrets Manager è definito come un'integrazione dello strumento facoltativa, si trova in Altri strumenti. Scegliere di identificare questa istanza dal CRN dell'istanza del servizio. Per creare un'autorizzazione tra la toolchain e l'istanza del servizio Secrets Manager selezionare l'opzione Crea un'autorizzazione per questa toolchain dal menu a discesa Tipo di autorizzazione. Questo concede alla toolchain l'accesso al materiale segreto archiviato nell'istanza del servizio Secrets Manager.
-
Se disponi già di una toolchain e desideri integrarvi questo strumento, dalla console IBM Cloud, fai clic sull'icona del menu (
) > Automazione della piattaforma > Toolchain. Nella pagina Toolchains, fai clic sulla toolchain per aprirne la pagina di panoramica. In alternativa, nella pagina Panoramica della tua app, nella scheda " Continuous Delivery ", fai clic su "Visualizza toolchain". Fai quindi clic su Overview.
a. Fai clic su Add tool.
b. Nella sezione Integrazioni strumento, fai clic su Secrets Manager.
-
Specifica un nome per questa istanza dell'integrazione dello strumento Secrets Manager da utilizzare nella tua toolchain.
-
Scegliere di identificare questa istanza dal CRN dell'istanza del servizio.
-
Specifica il CRN dell'istanza del servizio Secrets Manager in cui sono archiviati i tuoi segreti. Questa istanza del servizio può esistere in un account diverso se la tua toolchain è autorizzata ad accedere ai segreti in tale account.
-
Per creare un'autorizzazione tra la toolchain e l'istanza del servizio Secrets Manager fai clic sul pulsante Crea autorizzazione. Questo concede alla toolchain l'accesso al materiale segreto archiviato nell'istanza del servizio Secrets Manager.
-
Fai clic su Crea integrazione.
Applicazione dei segreti
Dopo aver configurato l'integrazione dello strumento Secrets Manager e autorizza la tua toolchain ad accedere ai segreti in tale account, puoi utilizzarla per applicare i segreti ovunque siano richiesti dalla toolchain.
Puoi utilizzare uno dei seguenti metodi per selezionare un segreto CRN da utilizzare nella tua toolchain:
-
Copia il CRN del segreto dall'istanza del servizio Secrets Manager e incollalo nella casella di modifica del campo segreto. Il segreto deve trovarsi nell'istanza del servizio Secrets Manager che è stata configurata quando hai aggiunto l'integrazione dello strumento Secrets Manager alla tua toolchain.
-
Utilizzare la finestra di dialogo Segreti. Per informazioni su come utilizzare questo metodo, vedi Identificazione dei segreti per nome.
Quando si sceglie un segreto CRN, assicurarsi di selezionare la scheda dello strumento configurata dal CRN dall'opzione Provider.
Quando vengono visualizzati i campi contenenti un segreto CRN, lo strumento Secrets Manager tenta di richiamare il nome del segreto. Per aprire l'istanza del servizio Secrets Manager in cui risiede il segreto, fai clic sul segreto. Nei seguenti scenari, non è possibile richiamare il nome del segreto e viene visualizzata un'icona di avvertenza:
- La toolchain non contiene un'integrazione Secrets Manager configurata correttamente.
- L'autorizzazione della toolchain non è corretta.
- Il campo non contiene un CRN valido.
Configurazione di Secrets Manager utilizzando la API
L'integrazione dello strumento Secrets Manager supporta i seguenti parametri di configurazione che possono essere utilizzati con l'API e gli SDK di Toolchain HTTP quando si creano, leggono e aggiornano le integrazioni degli strumenti.
È necessario specificare la proprietà tool_type_id nel corpo della richiesta con il valore secretsmanager.
| Parametro | Utilizzo | Immettere | Argomento Terraform | Descrizione |
|---|---|---|---|---|
| nome | richiesto, aggiornabile | Stringa | nome | Il nome di questa integrazione dello strumento. I riferimenti segreti basati sul nome includono questo nome per identificare l'archivio dei segreti in cui risiedono. Tutti gli strumenti dell'archivio dei segreti integrati in una toolchain devono avere un nome univoco per consentire il corretto funzionamento della risoluzione dei segreti. |
| tipo - id - istanza | richiesto, aggiornabile | Enum | tipo_id_istanza | Il tipo di identificativo dell'istanza del servizio. I valori accettati sono instance-name e instance-crn. Per impostazione predefinita, questo valore è impostato su instance-name. |
| crn - istanza | richiesto, aggiornabile | Stringa | crn istanza | Il CRN dell'istanza del servizio Secrets Manager. Questo parametro viene utilizzato solo quando si utilizza instance-crn come instance_id_type. |
| regione | richiesto, aggiornabile | Stringa | ubicazione | L'ubicazione IBM Cloud dove si trova l'istanza del servizio Secrets Manager. Questo parametro viene utilizzato solo quando si utilizza instance-name come instance_id_type. |
| gruppo di risorse | richiesto, aggiornabile | Stringa | nome_gruppo_risorse | Il nome del gruppo di risorse in cui si trova l'istanza del servizio Secrets Manager. Questo parametro viene utilizzato solo quando si utilizza instance-name come instance_id_type. |
| nome-istanza | richiesto, aggiornabile | Stringa | instance_name | Il nome dell'istanza del servizio " Secrets Manager ". Questo parametro viene utilizzato solo quando si utilizza instance-name come instance_id_type. |
Ulteriori informazioni su Secrets Manager
Per ulteriori informazioni su Secrets Manager, vedi Introduzione a Secrets Manager.