IBM Cloud Docs
Autenticazione ai servizi Watson

Autenticazione ai servizi Watson

I servizi IBM Watson® su IBM Cloud® utilizzano IBM Cloud® Identity and Access Management (IAM) per l'autenticazione. I servizi installati su IBM Cloud Pak® for Data supportano più metodi. Con le politiche di accesso IAM, puoi assegnare l'accesso a più di una risorsa da una singola chiave. Inoltre, un utente, un ID servizio e un'istanza del servizio possono contenere più chiavi API.

Passaggio credenziali

Per autenticare un servizio tramite la relativa API, passa le tue credenziali all'API. Il modo in cui esegui l'autenticazione può variare a seconda delle esigenze di sicurezza e se il servizio è su IBM Cloud® o installato su IBM Cloud Pak® for Data.

Autenticazione in IBM Cloud

IBM Cloud

Utilizza IBM Cloud® Identity and Access Management (IAM) per effettuare richieste autenticate ai servizi pubblici IBM Watson® . Puoi passare un token bearer in un'intestazione di autorizzazione o una chiave API.

  • Autenticarsi con un token IAM.

    I token IAM sono credenziali di sicurezza temporanee valide fino a 60 minuti. Quando un token scade, ne viene generato uno nuovo. I token possono essere utili per l'accesso temporaneo alle risorse. Per ulteriori informazioni, vedi Generazione di un token IAM IBM Cloud utilizzando una chiave API.

    Il seguente comando curl genera un token di accesso IAM. Sostituisci {apikey} con il valore della tua chiave API.

    curl -X POST \
    -header "Content-Type: application/x-www-form-urlencoded" \
    -data "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey={apikey}" \
    "https://iam.cloud.ibm.com/identity/token"
    

    La risposta include una proprietà access_token . Per autenticare una richiesta al servizio, sostituisci {access_token} con il token dalla risposta. Sostituisci {url} con il valore dell'URL della tua istanza del servizio, che puoi trovare facendo clic su Mostra credenziali nella casella Credenziali della pagina Gestisci per la tua istanza del servizio.

    curl -header "Authorization: Bearer {access_token}" \
    "{url}/v1/{method}"
    
  • Autentica con una chiave API IBM Cloud , una chiave API dell'ID servizio o una chiave API specifica del servizio. Sostituisci {url} con il valore dell'URL della tua istanza del servizio, che puoi trovare facendo clic su Mostra credenziali nella casella Credenziali della pagina Gestisci per la tua istanza del servizio.

    Le chiavi API sono semplici da usare e non scadono automaticamente. Chiunque abbia una chiave valida può accedere alla risorsa. Puoi creare chiavi API separate per diversi utenti, diverse applicazioni o per supportare scenari di rotazione delle chiavi. Puoi revocare le chiavi API dalla console senza interferire con altre chiavi API o con l'utente.

    Il seguente comando curl di esempio esegue l'autenticazione con la chiave API f5sAznhrKQyvBFFaZbtF60m5tzLbqWhyALQawBg5TjRI.

    curl -u "apikey:f5sAznhrKQyvBFFaZbtF60m5tzLbqWhyALQawBg5TjRI" \
    "{url}/v1/{method}"
    

Per test e sviluppo, puoi passare direttamente una chiave API. Tuttavia, per l'utilizzo di produzione, a meno che non utilizzi gli SDK Watson , utilizza un token IAM. Quando passi una chiave API, il servizio cerca i dettagli della chiave API, quindi potrebbe influire sulle prestazioni. Per ulteriori informazioni, vedi Richiamo delle API del servizio IBM Cloud.

Gli SDK Watson supportano entrambi i metodi. Per ulteriori informazioni, vedi la sezione Autenticazione della Guida di riferimento API per il tuo servizio e SDK.

Alcuni piani di servizio supportano IBM® Key Protect for IBM Cloud® per controllare l'accesso ai dati. Per ulteriori informazioni, vedi Protezione delle informazioni sensibili nel tuo servizio Watson.

Autenticazione in IBM Cloud Pak for Data

IBM Cloud Pak for Data

Esegui l'autenticazione al servizio passando un token di accesso con ciascuna richiesta. Passi un token di connessione in un'intestazione Authorization per l'autenticazione. Esistono diversi metodi per generare il token, incluso l'utilizzo di una chiave API o il nome utente. Per ulteriori informazioni, vedi Generazione di un token di autorizzazione o una chiave API.

Per ulteriori informazioni sui metodi di autenticazione supportati dagli SDK Watson per i servizi installati su IBM Cloud Pak for Data, consulta la sezione Autenticazione della Guida di riferimento API per il tuo servizio e SDK.

Informazioni sulle chiavi API

I servizi Watson supportano tre tipi di chiavi API:

  • Chiavi API specifiche del servizio

    Le chiavi specifiche del servizio vengono generate con il servizio. Questo tipo di chiave API ha accesso solo a un'istanza del servizio specifica. Per visualizzare le chiavi specifiche del servizio, fai clic su un servizio Watson dal tuo elenco di risorse .

  • Chiavi API IBM Cloud

    Le chiavi API IBM Cloud sono associate all'identità di un utente. Solo l'utente associato alla chiave può eliminarla. La stessa chiave API IBM Cloud può essere utilizzata per accedere a servizi differenti. Per ulteriori informazioni sull'utilizzo delle chiavi API IBM Cloud , consulta Gestione delle chiavi API utente.

  • Chiavi API ID servizio

    Gli ID servizio consentono l'accesso ai tuoi servizi IBM Cloud dalle applicazioni ospitate sia all'interno che all'esterno di IBM Cloud. Alle chiavi API associate agli ID servizio viene concesso l'accesso associato a tale ID servizio. Per ulteriori informazioni sulle chiavi ID servizio, vedi Gestione delle chiavi API ID servizio.

Procedure consigliate della chiave API

Tieni al sicuro le tue chiavi API per ridurre la possibilità di esporre pubblicamente le credenziali che compromettono il tuo account e le tue applicazioni. Per aiutare a mantenere le tue chiavi API sicure, segui queste istruzioni.

  • Assegna il ruolo di servizio più restrittivo che funziona per il livello di accesso di cui hai bisogno.

    Ad esempio, assegna il ruolo del servizio Reader per chiamate dalla tua applicazione ai metodi API GET . Questo ruolo ha solo accesso di sola lettura, quindi non può creare o modificare le risorse.

  • Non integrare la chiave API direttamente nel codice.

    Le chiavi API che vengono integrate nel codice potrebbero essere esposte ai tuoi utenti. Invece di incorporare le chiavi API nel codice, memorizzale nelle variabili di ambiente o nei file al di fuori del tuo sistema di controllo del codice sorgente.

  • Non memorizzare una chiave API nei file all'interno del sistema di controllo del codice sorgente dell'applicazione.

    Se memorizzi le chiavi API nei file, conserva questi file al di fuori del codice sorgente della tua applicazione. Questa procedura è importante se utilizzi un sistema di gestione del codice sorgente pubblico come GitHub.

  • Rigenera o ruota le tue chiavi API.

    Creare periodicamente nuove chiavi o ruotare le chiavi. E non dimenticare di eliminare le chiavi che non usi più.

Passi successivi