Richiamo di un token di accesso

Per iniziare a utilizzare le API di IBM® Key Protect, è necessario autenticare le richieste al servizio con un'opzione IBM Cloud® Identity and Access Management (IAM).

Richiamo di un token di accesso con la CLI

È possibile utilizzare la finestra IBM Cloud CLI per generare rapidamente il token di accessoUn valore utilizzato dal consumatore per ottenere l'accesso alle risorse protette per conto dell'utente, invece di utilizzare le credenziali del fornitore di servizi dell'utente. Cloud IAM personale.

  1. Accedere a IBM Cloud con l'opzione IBM Cloud CLI.

    ibmcloud login
    

    Se l'accesso non riesce, esegui il comando ibmcloud login --sso e prova di nuovo. L'intestazione --sso è necessario quando si accede con un ID federato. Se si utilizza questa opzione, si deve andare al link elencato nell'output della CLI per generare un codice di accesso unico

  2. Seleziona l'account, la regione e il gruppo di risorse che contengono la tua istanza di cui è stato eseguito il provisioning di Key Protect.

  3. Immetti il seguente comando per richiamare il tuo token di accesso Cloud IAM.

    ibmcloud iam oauth-tokens
    

    Il seguente esempio troncato mostra un token IAM richiamato.

    IAM token: Bearer eyJraWQiOiIyM...
    

Richiamo di un token di accesso con l'API

È possibile recuperare il token di accesso anche in modo programmatico, creando prima una chiave API per l'ID del servizioper la propria applicazione e poi scambiando la chiave API con una chiave API di tipo IBM Cloud Gettone IAM.

  1. Accedere a IBM Cloud con l'opzione IBM Cloud CLI.

    ibmcloud login
    

    Se l'accesso non riesce, esegui il comando ibmcloud login --sso e prova di nuovo. L'intestazione --sso è necessario quando si accede con un ID federato. Se viene utilizzata questa opzione, vai al link elencato nell'output della CLI per generare una passcode monouso.

  2. Seleziona l'account, la regione e il gruppo di risorse che contengono la tua istanza di cui è stato eseguito il provisioning di Key Protect.

  3. Creare un iD servizio per l'applicazione.

    ibmcloud iam service-id-create SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
    
  4. Gestione dell'accesso alle risorse per l'ID del servizio.

    È possibile assegnare le autorizzazioni di accesso per il proprio ID servizio utilizzando la console IBM Cloud Per sapere come i ruoli di accesso Manager, Writer e Reader corrispondono a specifiche azioni del servizio Key Protect, vedere Ruoli e autorizzazioni

  5. Creare una chiave API dell'ID del servizio.

    ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
                [--file FILE_NAME]
    

    Sostituire <service_ID_name> con l'alias univoco assegnato all'ID del servizio nel passaggio precedente Salva la tua chiave API scaricandola in un luogo sicuro.

  6. Chiamare l'API IAM Identity Servicesper recuperare il token di accesso

    $ curl -X POST \
        "https://iam.cloud.ibm.com/identity/token" \
        -H "content-type: application/x-www-form-urlencoded" \
        -H "accept: application/json" \
        -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.json
    

    Nella richiesta, sostituire <API_KEY> con la chiave API creata nel passaggio precedente Il seguente esempio troncato mostra il contenuto del file token.json file:

    {
        "access_token": "b3VyIGZhdGhlc...",
        "expiration": 1512161390,
        "expires_in": 3600,
        "refresh_token": "dGhpcyBjb250a...",
        "token_type": "Bearer"
    }
    

    Utilizzare il valore completo di access_token, preceduto dal tipo di token Bearer, per gestire in modo programmatico le chiavi per il proprio servizio, utilizzando il file Key Protect API. Per vedere un esempio Key Protect Richiesta API, verificare Formulare la richiesta API.

    I token di accesso sono validi per 1 ora, ma puoi rigenerarli quando necessario. Per mantenere l'accesso al servizio, rigenerare regolarmente il token di accesso per la propria chiave API chiamando l'API IAM Identity Services

    • Utilizzare IBM Cloud Identity and Access Management (IAM) token per effettuare richieste autenticate ai servizi di IBM Watson senza incorporare le credenziali del servizio in ogni chiamata.

    • L'autenticazione IAM utilizza i token di accesso per l'autenticazione, che puoi acquisire inviando una richiesta con una chiave API.

Esempio: impostazione del token di accesso con la CLI

Questo esempio mostra come recuperare un token di accesso e impostare una variabile di ambiente utilizzando l'interfaccia a riga di comando (CLI).

# login and select account, region, and resource group
$ ibmcloud login --sso

# optionally set the region (-r) and resource group (-g) that
# contains your provisioned Key Protect instance
$ ibmcloud target -r us-south -g Default

# set the ACCESS_TOKEN environment variable (with Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'`

# show the access token
$ echo $ACCESS_TOKEN

Bearer eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q

# set the ACCESS_TOKEN environment variable (without Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d ' ' -f 5 | sed 's/^ *//'`

$ echo $ACCESS_TOKEN

eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q