Come posso recuperare un token di accesso IAM per IBM® Cloud Logs Routing

È necessario ottenere un token di accesso IAM ( IBM Cloud® Identity and Access Management ) per autenticare le richieste al servizio IBM® Cloud Logs Routing.

Come si recupera un token di accesso tramite la CLI?

È possibile utilizzare la IBM Cloud CLI per generare rapidamente il proprio token di accessoUn valore utilizzato dal consumatore per accedere 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 la IBM Cloud CLI.

    ibmcloud login
    

    Se l'accesso non riesce, esegui il comando ibmcloud login --sso e prova di nuovo. Il parametro --sso è obbligatorio quando accedi con un ID federato. Se si utilizza questa opzione, accedere al link indicato nell'output della CLI per generare un codice di accesso monouso.

  2. Eseguire il seguente comando per recuperare il proprio IBM Cloud token di accesso IAM ed esportarlo come variabile d'ambiente eseguendo il seguente comando:

    export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`
    

Come posso recuperare un token di accesso tramite l'API?

È inoltre possibile recuperare il token di accesso a livello di programmazione creando innanzitutto una chiave API con ID servizio per la propria applicazione e, successivamente, scambiando tale chiave API con un token IAM di tipo " IBM Cloud ".

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

  2. Chiama l'API IAM Identity Services per recuperare il tuo 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, sostituisci <API_KEY> con la chiave API che hai creato nel passaggio precedente. Il seguente esempio troncato mostra il contenuto del file token.json:

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

I token di accesso sono validi per 1 ora, ma puoi rigenerarli quando necessario.