IBM Cloud Docs
IAM アクセス・トークンの取得

IAM アクセス・トークンの取得

Activity Tracking API を使用するには、IBM Cloud® Identity and Access Management (IAM) アクセス・トークンを使用する必要があります。 各トークンは 1 時間のみ有効であり、トークンの有効期限が切れた後も引き続き API を使用する場合は、新しいトークンを要求する必要があります。

IBM Cloud CLI を使用した現行セッションのアクセス・トークンの取得

IBM Cloud CLI を使用して IAM アクセス・トークンを生成できます。

現行セッションのアクセス・トークンを生成するには、以下のステップを実行します。

  1. IBM Cloud CLI を使用して IBM Cloud にログインします。

    ibmcloud login
    

    ログインに失敗した場合は、ibmcloud login --ssoコマンドを実行して再試行してください。 フェデレーテッドIDを使用してログインする場合は、--ssoパラメーターが必要です。 このオプションを使用する場合、CLI 出力にリストされているリンクに移動して、ワンタイム・パスコードを生成します。

  2. 次のコマンドを実行して、Cloud IAM アクセス・トークンを取得します。

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

    省略された以下の例は、取得した IAM トークンを示しています。

    IAM token:  Bearer eyJraWQiOiIyM...
    

API キーと IBM Cloud CLI を使用したアクセス・トークンの取得

プログラムでアクセス・トークンを取得することもできます。その場合は、アプリケーションのサービス ID API キーを作成し、API キーを IBM Cloud IAM トークンに交換します。

  1. IBM Cloud CLI を使用して IBM Cloud にログインします。

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

    ここで、KEY | @KEY_FILE は、アクセス・トークンを取得するために使用する API キーです。

  2. 次のコマンドを実行して IAM アクセス・トークンを取得します。

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

    省略された以下の例は、取得した IAM トークンを示しています。

    IAM token:  Bearer eyJraWQiOiIyM...
    

cURL 要求で API キーを使用したアクセス・トークンの取得

次の cURL コマンドを実行して、IAM ID サービス API を呼び出してアクセス・トークンを取得します。

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

<API_KEY>を API キーに置き換えます。

省略された以下の例は、token.json ファイルの内容を示しています。

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

完全なaccess_token値を使用し、接頭部として_ベアラー_トークン・タイプを付けます。