Gestire i provider di identità
Configura provider di identità (IdP) personalizzati per il single sign-on SAML o OIDC, in modo che gli utenti della tua organizzazione possano autenticarsi con le credenziali aziendali esistenti.
La gestione dei provider di identità è disponibile solo per gli amministratori del piano Enterprise.
Configura un provider di identità (IdP) personalizzato per abilitare il single sign-on (SSO) nella tua organizzazione. Quando configuri un IdP, Bob ti reindirizza ad esso per l'autenticazione quando accedi a IBM Bob dall'IDE, da Bob Shell e da Bob Web.
Puoi configurare provider di identità SAML e OpenID Connect (OIDC) con Bob. Usa il protocollo che corrisponde alla piattaforma di identità della tua organizzazione.
Compatibilità dei protocolli SSO
IBM Bob è compatibile con i seguenti protocolli SSO:
- SAML (Security Assertion Markup Language)
- OIDC (OpenID Connect)
Provider OIDC verificati
Sebbene tu possa usare altri provider OIDC che soddisfano i requisiti di configurazione e token, le seguenti piattaforme sono verificate:
- Auth0
- Keycloak
- Okta
- PingOne
Aggiungere un provider di identità
L'aggiunta di un IdP è un processo in due fasi. Prima configuri l'IdP e lo salvi. Poi aggiungi i domini email che lo utilizzano.
Fase 1: Configurare il provider di identità
Vai alla pagina di amministrazione di IBM Bob.
Seleziona la scheda Authentication.
Clicca su Add IdP. Inserisci un nome per l'IdP. Seleziona il tipo di IdP: SAML o OIDC. Genera le tue credenziali di service provider (SP).
Bob richiede una chiave privata SP e un certificato SP per firmare le richieste di autenticazione SAML. Devi generarli tu stesso usando lo strumento da riga di comando openssl.
Se hai già una coppia di chiavi SP e un certificato, passa al passaggio successivo.
Esegui il seguente comando per generare la chiave privata SP:
openssl genrsa -out sp_private_key.pem 2048Quindi esegui questo comando per generare il certificato SP dalla chiave privata. Sostituisci i valori /CN, /O e /C con un nome descrittivo del certificato, il nome della tua organizzazione e il tuo codice paese di due lettere:
openssl req -new -x509 -key sp_private_key.pem -out sp_certificate.pem -days 365 -subj "/CN=Bob SAML SP/O=IBM/C=US"Il file sp_certificate.pem deve anche essere caricato sul tuo IdP in modo che possa verificare le firme delle richieste provenienti da Bob.
Inserisci i dettagli di configurazione dell'IdP. Rivedi i requisiti specifici del protocollo nelle sezioni seguenti. Clicca su Save.
L'IdP viene creato e appare nella tabella della scheda Authentication.
Configurazione SAML
SAML richiede i seguenti dettagli di configurazione:
Campi identity provider — ottienili dal tuo IdP:
idp_entity_id— l'identificatore univoco dell'IdP (ad esempio,https://idp.example.com)idp_sso_url— l'URL SSO dove Bob invia le richieste di autenticazioneidp_certificate— il certificato X.509 codificato in PEM utilizzato per verificare le risposte SAML dall'IdP
Campi service provider — usa i file generati nel passaggio precedente:
sp_private_key— il contenuto disp_private_key.pemsp_certificate— il contenuto disp_certificate.pem
Campi opzionali:
idp_slo_url— l'URL Single Logout dell'IdP. Single Logout non è ancora completamente implementato in Bob.
Nella sezione Attribute mapping, associa gli attributi utente dell'IdP ai campi utente di IBM Bob. Il formato di mappatura è nome attributo Bob → nome attributo o URI dell'IdP. Controlla la configurazione del tuo IdP per i nomi degli attributi corretti.
email(obbligatorio) — l'indirizzo email dell'utentename(opzionale) — il nome completo visualizzato dell'utentegiven_name(opzionale) — il nome dell'utentefamily_name(opzionale) — il cognome dell'utentegroups(opzionale) — i gruppi dell'utente
Amministratore IdP: registrazione di un nuovo client OIDC
Prima che un admin dell'istanza Bob possa configurare un record IdP OIDC in Bob, l'amministratore IdP deve creare un'applicazione OIDC (client) nel provider di identità. I valori prodotti in questo passaggio sono quelli che l'admin dell'istanza Bob inserisce quando aggiunge l'IdP in Bob.
Tipo di applicazione e tipo di concessione
Crea un'applicazione web (lato server / client riservato) nel tuo provider di identità e abilita il tipo di concessione Authorization Code. Bob utilizza esclusivamente il flusso Authorization Code — non selezionare Implicit, Device Code o Client Credentials.
URI di reindirizzamento
Registra il seguente URL di callback nell'applicazione OIDC. La maggior parte dei provider esegue una corrispondenza esatta della stringa, quindi copiala esattamente:
https://api.us-east.bob.ibm.com/authn/v1/auth/callbackScope da abilitare sul client
| Scope | Scopo | Obbligatorio |
|---|---|---|
openid | Abilita la modalità OIDC e restituisce un id_token | Sì |
email | Espone l'indirizzo email dell'utente nell'id_token o tramite l'endpoint userinfo | Sì |
offline_access | Concede un refresh_token insieme all'access token | Sì per la maggior parte dei provider |
Bob richiede che un refresh_token sia presente in ogni risposta di scambio del codice di autorizzazione. Se il tuo provider emette refresh token tramite un meccanismo diverso (ad esempio, uno scope specifico del provider o in modo incondizionato a ogni scambio di codice), configuralo di conseguenza — ma assicurati che il client sia autorizzato a ricevere refresh token. Se non viene restituito alcun refresh_token, l'accesso viene interrotto.
Metodo di autenticazione al token endpoint
Configura il metodo di autenticazione al token endpoint dell'applicazione OIDC su client_secret_post. Bob invia client_id e client_secret come parametri nel corpo del form in ogni richiesta di token. client_secret_basic, private_key_jwt e none non sono accettati.
Impostazioni dei token
| Impostazione | Valore richiesto |
|---|---|
| Formato dell'access token | Qualsiasi (JWT o opaco — Bob non analizza direttamente l'access token dell'IdP) |
| ID token | Deve essere emesso a ogni scambio del codice di autorizzazione e a ogni rinnovo del token |
| Algoritmo di firma dell'ID token | RS256, ES256 o PS256 |
| Rotazione del refresh token | Puoi usare la rotazione del refresh token. Bob memorizza il nuovo token a ogni rinnovo. Se il tuo provider ruota i refresh token, assicurati che il provider invalidi il token precedente solo dopo che Bob ha ricevuto quello sostitutivo (comportamento di rotazione standard, non monouso senza finestra di tolleranza). |
Valori da consegnare all'admin dell'istanza Bob
Una volta creata l'applicazione client, consegna i seguenti valori all'admin dell'istanza Bob:
| Valore | Dove trovarlo | Campo di configurazione Bob |
|---|---|---|
| Client ID | Pagina delle credenziali dell'applicazione | client_id |
| Client Secret | Pagina delle credenziali dell'applicazione | client_secret |
| URL dell'authorization endpoint | Pagina degli endpoint OIDC del provider o .well-known/openid-configuration | authorization_endpoint |
| URL del token endpoint | Pagina degli endpoint OIDC del provider o .well-known/openid-configuration | token_endpoint |
| JWKS URI | Pagina degli endpoint OIDC del provider o .well-known/openid-configuration | jwks_uri |
| URL dell'issuer | Pagina degli endpoint OIDC del provider o .well-known/openid-configuration | issuer |
| URL dell'userinfo endpoint (opzionale) | Pagina degli endpoint OIDC del provider o .well-known/openid-configuration | userinfo_endpoint |
La maggior parte dei provider pubblica tutti gli URL degli endpoint su https://<tuo-dominio-provider>/.well-known/openid-configuration.
Configurazione OIDC
Puoi usare la scoperta del provider OIDC. Clicca sul pulsante Retrieve configuration per popolare automaticamente i campi endpoint dal documento .well-known/openid-configuration del tuo provider, oppure puoi inserire manualmente ogni URL di endpoint.
OIDC richiede i seguenti dettagli di configurazione:
| Campo | Richiesto | Descrizione |
|---|---|---|
client_id | Sì | L'identificatore client registrato con il tuo provider di identità. |
client_secret | Sì | Il client secret per l'applicazione registrata. Bob lo memorizza in modo sicuro e non lo restituisce mai nelle risposte API. |
scopes | Sì | Gli scope richiesti durante il flusso di autorizzazione. Questo elenco deve includere openid. Di solito include anche email e lo scope specifico del provider utilizzato per emettere un refresh token, come offline_access. |
authorization_endpoint | Sì | L'URL di autorizzazione HTTPS a cui Bob reindirizza gli utenti per l'accesso. |
token_endpoint | Sì | L'URL del token HTTPS utilizzato per scambiare il codice di autorizzazione con i token. |
jwks_uri | Sì | L'URL HTTPS del JSON Web Key Set (JWKS) utilizzato per verificare la firma delle risposte id_token. |
issuer | No | L'identificatore dell'emittente HTTPS per il provider di identità. |
prompt | No | Il valore prompt OIDC inoltrato alla richiesta di autorizzazione. |
OIDC non utilizza Attribute mapping. Bob legge l'email dell'utente direttamente dal claim email nell'id_token.
Esempio di configurazione OIDC
{
"authorization_endpoint": "https://corp.okta.com/oauth2/default/v1/authorize",
"token_endpoint": "https://corp.okta.com/oauth2/default/v1/token",
"issuer": "https://corp.okta.com/oauth2/default",
"client_id": "0oa1b2c3d4e5f6g7h8i9",
"client_secret": "super-secret-value",
"scopes": ["openid", "email", "offline_access"]
}Requisiti e limitazioni OIDC
- Bob richiede un
refresh_tokennella risposta di scambio del codice di autorizzazione. Se il tuo provider non ne restituisce uno, l'accesso fallisce. - Per la maggior parte dei provider, l'aggiunta di
offline_accessascopesè ciò che attiva l'emissione del refresh token. Alcuni provider utilizzano un comportamento diverso, quindi controlla la documentazione del tuo provider. - Il logout back-channel OIDC non è disponibile.
- Se il tuo provider modifica i suoi URL di endpoint, aggiorna la configurazione dell'IdP in Bob.
Fase 2: Aggiungere filtri di dominio
Dopo aver salvato l'IdP, aggiungi i domini email che devono utilizzarlo per l'autenticazione.
Nella scheda Authentication, individua l'IdP appena creato e apri le sue impostazioni. Nella sezione Domain filters, aggiungi i domini email che devono utilizzare questo IdP. Gli utenti i cui indirizzi email corrispondono a un dominio configurato vengono reindirizzati a questo IdP al momento dell'accesso. Salva le modifiche.
Ogni dominio email può essere associato a un solo IdP. Se un dominio è già utilizzato da un altro IdP, la configurazione non può essere salvata finché il conflitto non viene risolto. Ogni dominio deve inoltre essere verificato prima che il SSO venga applicato. Vedi Verificare la proprietà del dominio.
Verificare la proprietà del dominio
IBM Bob richiede che tu verifichi che la tua organizzazione sia proprietaria di ogni dominio prima che il SSO venga applicato. La verifica avviene aggiungendo un record TXT DNS al dominio.
Vai alla pagina di amministrazione di IBM Bob. Seleziona la scheda Authentication. Seleziona l'IdP che contiene il dominio che vuoi verificare. Nella sezione Domain filters, individua il dominio e copia il codice di verifica mostrato. Nel tuo provider DNS, aggiungi un record TXT al dominio con il seguente formato:
bob-verify=<verification-code>Sostituisci verification-code con il codice copiato dalla sezione Domain filters. Torna alla scheda Authentication e clicca su Check verification per il dominio.
Lo stato di verifica del dominio si aggiorna a Verified quando IBM Bob rileva correttamente il record TXT. Le modifiche DNS possono richiedere del tempo per propagarsi.
Rimuovere un provider di identità
Vai alla pagina di amministrazione di IBM Bob. Seleziona la scheda Authentication. Individua l'IdP che vuoi rimuovere e clicca su Delete. Nella finestra di dialogo di conferma, clicca su Confirm.
L'eliminazione di un IdP rimuove la configurazione SSO per tutti i domini associati. Gli utenti che utilizzavano quell'IdP per autenticarsi dovranno accedere tramite un altro metodo. Viene visualizzato un avviso se l'IdP ha domini verificati.
Creazione e configurazione di team
Configura i team per organizzare gli utenti e controllare la spesa tra diversi gruppi nella tua organizzazione IBM Bob Enterprise.
Revisione del registro attività
Scarica e rivedi i file di registro di audit della tua organizzazione IBM Bob Enterprise per monitorare gli eventi di autenticazione e l'attività amministrativa.