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

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

以下を使用してサービスに対する要求を認証することにより、IBM® Key Protect API の使用を開始します。 IBM Cloud® Identity and Access Management (IAM) アクセス・トークン。

CLI を使用したアクセス・トークンの取得

IBM Cloud CLI を使用して、個人の Cloud IAM アクセス・トークンA value used by the consumer to gain access to the protected resources on behalf of the user, instead of using the user's service provider credentials.を素早く生成できます。

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

    ibmcloud login
    

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

  2. プロビジョン済みの Key Protect インスタンスを含んでいる、アカウント、地域、およびリソース・グループを選択します。

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

    ibmcloud iam oauth-tokens
    

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

    IAM token: Bearer eyJraWQiOiIyM...
    

API を使用したアクセス・トークンの取得

また、最初にアプリケーションのサービス ID API 鍵を作成し、次に API 鍵を以下と交換することで、プログラムでアクセス・トークンを取得することもできます。 IBM Cloud IAM トークン。

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

    ibmcloud login
    

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

  2. プロビジョン済みの Key Protect インスタンスを含んでいる、アカウント、地域、およびリソース・グループを選択します。

  3. ご使用のアプリケーション用のサービス ID を作成します。

    ibmcloud iam service-id-create SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
    
  4. サービス ID のリソースへのアクセスを管理します

    IBM Cloud コンソールを使用して、サービス ID にアクセス許可を割り当てることができます。 マネージャーライター、および_リーダー_のアクセス役割が特定の Key Protect サービス・アクションにどのようにマップされるかについては、役割と権限を参照してください。

  5. サービス ID API 鍵の作成。

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

    <service_ID_name> を、前のステップでサービス ID に割り当てた固有の別名に置き換えます。 API キーをダウンロードして、安全な場所に保存します。

  6. アクセス・トークンを取得するには、IAM Identity Services 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"
    }
    

    以下を使用してサービスの鍵をプログラムで管理するには、Bearer トークン・タイプの接頭部が付いた完全な access_token 値を使用します。 Key Protect API。 Key Protect API 要求の例を確認するには、API 要求の形成を参照してください。

    アクセス・トークンが有効なのは 1 時間ですが、必要に応じて再生成できます。 サービスへのアクセスを維持するには、 IAM Identity Services API を呼び出して、API 鍵のアクセス・トークンを定期的に再生成します。

    • IBM Cloud Identity and Access Management (IAM) トークンを使用して、 すべての呼び出しにサービス資格情報を組み込むことなく、IBM Watson サービスに対して認証された要求を行います。

    • IAM 認証は認証にアクセス・トークンを使用します。アクセス・トークンは API キーをとともに要求を送信することによって取得します。

例 - CLI を使用したアクセス・トークンの設定

この例は、コマンド・ライン・インターフェース (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