Utilizzando questa sezione, è possibile configurare l'autenticazione dell'applicazione per un'API.
Informazioni su questa attività
Ricorda: l'invio del certificato client nell'intestazione ` HTTP ` non garantisce la verifica crittografica del fatto che il chiamante possieda la chiave privata corrispondente. L'unica verifica effettuata consiste nel confronto tra il contenuto del file ` base64-encoded ` ( PEM ) e il certificato pubblico che è possibile configurare seguendo i passaggi riportati di seguito.
Puoi completare questa attività utilizzando l'applicazione IU API Designer o utilizzando l'IU API Manager basata sul browser.
In qualsiasi momento puoi passare direttamente al codice sorgente YAML OpenAPI sottostante cliccando Fonte sull'icona
. Per tornare al modulo di progettazione, clicca sull'icona
Modulo.
Procedura
- Apri l'API per la modifica, come descritto in Modifica di una definizione API OpenAPI 2.0.
- Abilita autenticazione applicazione, come segue:
Nota: per identificare l'applicazione, è necessario abilitare un requisito di protezione di tipo clientID.
- Nella pagina "Progettazione API", seleziona la scheda "Gateway" ed espandi la sezione "Impostazioni gateway e portale".
- Nel riquadro di navigazione, fare clic su Autenticazione delle applicazioni.
- È possibile scegliere se inviare un certificato client come certificato client « TLS » oppure nell'intestazione « HTTP ». Specificare in che modo il certificato client viene inviato al gateway, come segue:
È possibile scegliere se inviare il certificato client come certificato client " TLS " oppure includerlo nell'intestazione " HTTP " dell'API.
- Nel riquadro di navigazione, fare clic su Autenticazione delle applicazioni.
Vengono elencate tutte le definizioni di origine di autenticazione dell'applicazione esistenti.
- Nella pagina "Autenticazione dell'applicazione ", selezionare "Certificato".
- Nel riquadro Applicazione, fare clic su Origine di autenticazione dell'applicazione.
- Nella pagina "Origine autenticazione applicazione ", fare clic su Aggiungi.
- Nella finestra di dialogo "Aggiungi shema ", selezionare l'opzione desiderata.
- tls-cert - Quando viene chiamata l'API, il certificato client TLS viene inviato al servizio Gateway e utilizzato per verificare che il richiedente dell'API sia in possesso della chiave privata corrispondente.
- intestazione - Quando viene chiamata l'API, è necessario fornire un certificato client X509 nell'intestazione HTTP specificata. Per qualsiasi applicazione del Catalogo consumatori del Portale sviluppatori che effettua chiamate all'API, è necessario inserire il certificato nell'interfaccia utente del Catalogo consumatori del Portale sviluppatori; per ulteriori dettagli, consultare la sezione Registrazione di un'applicazione. Se si utilizza un bilanciatore di carico, è necessario configurarlo in modo che utilizzi l'intestazione HTTP specificata per inoltrare il certificato client appropriato al servizio Gateway dopo che il bilanciatore di carico ha terminato la comunicazione TLS.
Attenzione: l'invio del certificato del cliente nell'intestazione ` HTTP ` non consente di verificare crittograficamente che il chiamante sia in possesso della chiave privata corrispondente. L'unica verifica effettuata consiste nel confronto tra il contenuto del file base64-encoded PEM e il certificato del cliente.
- Se si seleziona l'opzione tls-cert, abilitare l'autenticazione tramite certificato ( mTLS ) a livello di gateway.
Abilita mTLS impostando "Autenticazione reciproca: Obbligatoria" (o "Richiesta" se non tutte le API utilizzano mTLS ) nel profilo server TLS specificato per l' endpoint di invocazione dell'API nella configurazione del servizio gateway. Il servizio gateway viene configurato nell'interfaccia utente di Cloud Manager (sono necessari i permessi di amministratore del cloud). Per ulteriori informazioni, consultare la sezione "Registrazione di un servizio gateway" e la panoramica sui profili " TLS ".
È possibile creare un archivio di certificati (con il certificato CA radice o intermedio) da utilizzare con il profilo server " TLS ".
Il seguente comando di esempio « cURL » utilizza un certificato client durante l'operazione « SSL »:
**curl -X GET 'https://GW-Server:9443/test/sandbox/mtls-testing/callmtls-call' -H 'X-IBM-Client-Id: 1872xxxxxxxxxxxxx' --cert my-leaf-cert.pem --key my-leaf-cert.key -k -v**
Nota: questa funzione è pensata per i casi in cui nel Portale per sviluppatori siano registrate diverse applicazioni con certificati finali diversi, ma con lo stesso emittente CA intermedio o radice. Il certificato supera la verifica dell' mTLS e a livello di gateway se corrisponde all'emittente presente nel truststore, ma consente l'accesso solo all'API che corrisponde al certificato finale corretto.
- Fare clic su Aggiungi.
- Fare clic su Salva per salvare le modifiche.