Descrizione delle chiavi API
Una chiave API (application programming interface) è un codice univoco che viene passato a un'API per identificare l'applicazione o l'utente chiamante. Le chiavi API vengono utilizzate per tracciare e controllare la modalità di utilizzo della API, ad esempio per prevenire l'uso dannoso o l'abuso della API. La chiave API funge spesso sia da identificatore univoco che da token segreto per l'autenticazione e le viene assegnato un set di accessi specifico per l'identità ad essa associata.
Per visualizzare le chiavi API, andare su Gestione > Accesso (IAM) > Chiavi API nella console IBM Cloud.
IBM Cloud Chiavi API per gli utenti
IBM Cloud® Le chiavi API sono associate all'identità di un utente. Ogni chiave API creata da un utente ha lo stesso accesso che gli viene assegnato in tutti gli account di cui è membro. Poiché la chiave API eredita tutti gli accessi dell'utente, può fornire la possibilità di accedere alle risorse in qualsiasi account in cui l'utente abbia i permessi. Per questo motivo, le chiavi API degli utenti devono essere trattate in modo simile a un nome utente e a una password e non devono mai essere condivise.
Utilizzo degli ID funzionali
IBM Cloud Le chiavi API per gli utenti possono essere create e associate a un ID funzionale. Un ID funzionale è un ID utente creato per rappresentare un programma, un'applicazione o un servizio. L'ID funzionale può essere invitato a un account e gli viene assegnato solo l'accesso per uno scopo particolare, come l'interazione con una risorsa o un'applicazione specifica.
Se un servizio richiede una chiave API utente per interagire con altri servizi o applicazioni, utilizzare una chiave API utente con ID funzionale. Utilizzando la chiave API associata all'ID funzionale, si fornisce solo l'accesso necessario per quel servizio. La condivisione della chiave API di un ID utente reale con un servizio consente a quest'ultimo di accedere a tutte le risorse a cui l'utente può accedere attraverso più account, il che è altamente sconsigliato.
Solo l'utente a cui è associata la chiave API e un amministratore del servizio IAM possono eliminarla. È possibile utilizzare le chiavi API IBM Cloud nell'interfaccia a riga di comando (CLI) o come parte dell'automazione per accedere come identità utente. Puoi anche utilizzare le chiavi API IBM Cloud per accedere alle API dell'infrastruttura classica.
Per ulteriori informazioni sull'utilizzo di una chiave API associata alla tua identità utente, consulta Gestione delle chiavi API utente.
Altri tipi di chiavi API
Oltre alle chiavi API IBM Cloud, sono disponibili altri tipi di chiavi API:
- Chiavi API dell'ID del servizio
- Gli ID servizio sono utilizzati per connettere un'applicazione all'interno o all'esterno di IBM Cloud a un servizio IBM Cloud. Le chiavi API dell'ID servizio ereditano tutti gli accessi assegnati all'ID servizio specifico. Per ulteriori informazioni, vedi Gestione delle chiavi API di un ID servizio.
- Chiavi API dell'infrastruttura classica
- Le chiavi API dell'infrastruttura classica vengono utilizzate per chiamare le API relative ai servizi dell'infrastruttura classica. Puoi creare una sola chiave API dell'infrastruttura classica alla volta. Per ulteriori informazioni, vedi Gestione delle chiavi API dell'infrastruttura classica.
- Chiavi API specifiche del servizio
- Alcuni servizi di IBM Cloud possono fornire una chiave API quando si lavora con il servizio. Si tratta di chiavi API generate automaticamente e associate a un ID di servizio. Ad esempio, se si visualizzano i dettagli del prodotto di un servizio Watson dalla pagina Elenco risorse, è possibile creare una credenziale che include una chiave API e un segreto specifici per quel servizio nella pagina Credenziali del servizio.
Le chiavi API IBM Cloud possono essere utilizzate anche per accedere alle API dell'infrastruttura classica.
Comprendere le migliori pratiche di sicurezza per le chiavi API
L'implementazione delle seguenti best practice per le chiavi API può contribuire ad aumentare la sicurezza dei vostri carichi di lavoro:
- Evitare di incorporare le chiavi nel codice per ridurre al minimo i rischi di esposizione.
- Ruotare regolarmente le chiavi API per limitare la finestra di vulnerabilità. Secrets Manager può aiutare ad automatizzare questa operazione. Per ulteriori informazioni, vedere Rotazione dei segreti.
- Applicare il principio del minor privilegio nell'assegnazione dei permessi.
- Tenete aggiornati i contatti di sicurezza per ricevere notifiche tempestive.
- Monitorare Activity Tracker Event Routing per rilevare un utilizzo sospetto della chiave API.
- Impostare le date di scadenza delle chiavi API, se opportuno.
- Configurare l'impostazione dell'azione leaked per disabilitare o eliminare automaticamente una chiave API se viene scoperta in una fuga di notizie.
Gestione delle chiavi API
Per gestire le chiavi API IBM Cloud associate alla propria identità utente o quelle che si ha accesso a gestire per altri utenti dell'account, andare su Gestione > Accesso (IAM) > Chiavi API nella console IBM Cloud.
Nella pagina delle chiavi API di IBM Cloud è possibile creare, modificare o eliminare le proprie chiavi API di IBM Cloud. È inoltre possibile gestire tutte le chiavi API dell'infrastruttura classica per gli utenti della propria gerarchia di utenti. Se si è il proprietario dell'account o un utente con l'accesso richiesto per gestire le chiavi API di altri utenti nell'account, è possibile utilizzare il filtro Visualizza per elencare e gestire tali chiavi API.
Scadenza della chiave API
Quando una chiave API viene creata o aggiornata, è possibile impostare una data di scadenza. Se viene specificata una data di scadenza, la chiave API non è più valida dopo tale data. Le chiavi API scadute vengono eliminate automaticamente 90 giorni dopo la loro scadenza. Alcuni giorni prima della scadenza di una chiave API, viene inviata una notifica tramite il servizio di notifica IBM Cloud all'utente che possiede la chiave API (per le chiavi a livello utente) o al proprietario dell'account (per le chiavi API con ID servizio).
Protezione della chiave API trapelata
Le chiavi API sono potenti credenziali che permettono di accedere alle risorse e ai servizi di IBM Cloud. Quando queste chiavi vengono inavvertitamente esposte in archivi pubblici, registri o altri luoghi, possono creare rischi significativi per la sicurezza. I malintenzionati scansionano attivamente gli archivi pubblici alla ricerca di credenziali trapelate e possono sfruttarle rapidamente per accessi non autorizzati, operazioni di crypto mining o altre attività dannose, spesso entro pochi minuti dall'esposizione. A seconda dell'accesso concesso all'utente o all'ID del servizio associato alla chiave, i malintenzionati possono essere in grado di:
- Accedere o eliminare i dati.
- Predisporre le risorse nel proprio account, comprese quelle che possono essere utilizzate per il mining di bitcoin.
- Eseguire altre azioni nei servizi del proprio account.
- Creano ulteriori ID o chiavi API all'interno del vostro account per avere un accesso persistente, anche dopo la rotazione della chiave compromessa.
IBM Cloud sfrutta le funzionalità di scansione segreta di piattaforme come GitHub e GitLab per identificare le chiavi API esposte. Quando si scopre che una chiave è stata divulgata, l'utente o il team di sicurezza possono intraprendere rapidamente l'azione appropriata in base alla disposizione configurata per quella chiave. A seconda della configurazione, IBM può intraprendere le seguenti azioni:
- Disabilita la chiave divulgata
- La chiave API viene immediatamente disabilitata da IBM, impedendo l'uso non autorizzato mentre si indaga e si determinano i passi successivi. Questo approccio è consigliato per la maggior parte delle chiavi, tranne nei casi in cui sia stata effettuata una valutazione e il rischio dovuto a una chiave esposta sia basso. Se una chiave è disabilitata, le chiamate API dell'applicazione ai servizi cloud non funzioneranno, causando potenzialmente un'interruzione.
- Elimina la chiave divulgata
- La chiave API viene eliminata in modo permanente da IBM al momento del rilevamento. Questa soluzione offre la protezione più forte, ma richiede la creazione di una nuova chiave. Se una chiave viene eliminata, le chiamate API dell'applicazione ai servizi cloud non funzioneranno, causando potenzialmente un'interruzione del servizio.
- Nessuna azione
- Non viene eseguita alcuna azione automatica. Potreste continuare a ricevere notifiche sull'esposizione, ma dovrete affrontare manualmente il problema.
Prima di prendere una decisione, è importante soppesare le conseguenze sulla sicurezza dell'esposizione di una chiave rispetto alle conseguenze di un'interruzione dell'applicazione. IBM consiglia di utilizzare l'opzione "Disattiva" per la maggior parte delle chiavi, tranne nei casi in cui sia stata effettuata una valutazione e il rischio di esposizione di una chiave sia basso a causa dell'accesso limitato. Se la vostra organizzazione richiede l'impostazione "Non fare nulla" per chiavi API specifiche a causa di requisiti di produzione, IBM vi incoraggia ad analizzare regolarmente la vostra posizione di sicurezza, a implementare controlli di compensazione come la rotazione frequente delle chiavi e a pianificare l'attivazione della protezione automatica quando l'ambiente lo consente.
Per ulteriori informazioni, vedere Revisione delle chiavi API utente trapelate o Revisione delle chiavi API ID servizio trapelate.
Accesso richiesto per la gestione delle chiavi API
Per impostazione predefinita, l'utente ha sempre la possibilità di creare le proprie chiavi API e di aggiornarle e cancellarle a seconda delle necessità. È inoltre possibile gestire la propria chiave API dell'infrastruttura classica e le chiavi API dell'infrastruttura classica degli utenti di cui si è antenati nella gerarchia degli utenti dell'infrastruttura classica.
Se l'impostazione dell'account IAM Limita la creazione di chiavi API è attivata, tutti i membri dell'account sono bloccati dalla creazione di chiavi API, compreso il proprietario dell'account, a meno che non venga loro assegnato un accesso esplicito. Per ulteriori informazioni, vedere Limitazione della creazione di chiavi API da parte degli utenti.
Se si è il proprietario dell'account o un utente con l'accesso richiesto, è possibile accedere alle chiavi API di altri utenti o alle chiavi API dell'ID del servizio utilizzando il filtro Visualizza nella pagina delle chiavi API. È possibile modificare o eliminare le chiavi API a seconda dell'accesso assegnato. Vengono visualizzate solo le opzioni di filtro per il tipo di chiavi API che si ha accesso a visualizzare e gestire.
| Opzioni di filtro | Chiavi API visualizzate | Accesso richiesto | Azioni consentite |
|---|---|---|---|
| Le mie chiavi API IBM Cloud | Le chiavi API di IBM Cloud | Non è richiesto l'accesso | Visualizzare, creare, modificare, cancellare |
| Tutte le chiavi API degli utenti di IBM Cloud | Tutte le chiavi API di IBM Cloud create da tutti gli utenti dell'account | Ruolo di amministratore sul servizio IAM Identity | Visualizzare, modificare ed eliminare |
| Tutte le chiavi API dell'ID servizio | Tutte le chiavi API create per gli ID dei servizi nell'account | Ruolo di amministratore sul servizio IAM Identity | Visualizzare, modificare ed eliminare |
| Chiavi API dell'infrastruttura classica | La propria chiave API dell'infrastruttura classica e tutte le chiavi API dell'infrastruttura classica per gli utenti di cui si è antenati nella gerarchia degli utenti | Non è richiesto alcun accesso, se non quello di essere un antenato nella gerarchia degli utenti | Visualizza i dettagli e cancella |