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

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

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

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

IBM Cloud CLI を使用して、個人の Cloud IAM アクセス・トークンユーザーのサービス・プロバイダー資格情報を使用する代わりに、コンシューマーがユーザーに代わって保護リソースにアクセスするために使用する値。を素早く生成できます。

  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