Recuperar tokens de acesso IAM

Para usar a API de Rastreamento de Atividades, você deve usar um token de acesso do IBM Cloud® Identity and Access Management (IAM). Cada token é válido apenas por uma hora, e depois que um token expira, você deve solicitar um novo caso deseje continuar usando a API.

Recuperando um token de acesso para a sessão atual usando a CLI do IBM Cloud

É possível usar o a CLI do IBM Cloud para gerar o seu token de acesso do IAM.

Conclua as etapas a seguir para gerar um token de acesso para a sessão atual:

  1. Faça login no IBM Cloud com a CLI do IBM Cloud.

    ibmcloud login
    

    Se o login falhar, execute o comando ibmcloud login --sso para tentar novamente. O parâmetro --sso é necessário quando você efetua login com um ID federado. Se essa opção for usada, acesse o link listado na saída da CLI para gerar uma senha descartável.

  2. Execute o comando a seguir para recuperar o token de acesso do Cloud IAM.

    ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'
    

    O exemplo truncado a seguir mostra um token do IAM recuperado.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Recuperando um token de acesso usando uma chave de API e a CLI do IBM Cloud

Também é possível recuperar seu token de acesso programaticamente, criando uma chave de API de ID de serviço para seu aplicativo e, em seguida, trocando sua chave de API por um token IBM Cloud IAM.

  1. Faça login no IBM Cloud com a CLI do IBM Cloud.

    ibmcloud login -a cloud.ibm.com [--apikey KEY | @KEY_FILE]
    

    Em que KEY | @KEY_FILE é a chave de API que você deseja usar para obter o token de acesso.

  2. Execute o comando a seguir para obter um token de acesso IAM.

    ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'
    

    O exemplo truncado a seguir mostra um token do IAM recuperado.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Recuperando um token de acesso usando uma chave de API em uma solicitação cURL

Execute o comando cURL a seguir para chamar a API de Serviços de identidade do IAM para recuperar o seu token de acesso:

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

Substitua <API_KEY> por sua chave de API.

O exemplo truncado a seguir mostra os conteúdos do arquivo token.json:

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

Use o valor access_token integral, prefixado pelo tipo de token Bearer.