インポート・トークンの作成

最初に IBM Cloud® Hyper Protect Crypto Services サービス・インスタンス用のインポート・トークンを作成することによって、ルート鍵素材をクラウドにセキュアにインポートできるようになります。

インポート・トークンは、ルート鍵素材を暗号化して Hyper Protect Crypto Services にセキュアに取り込むために、指定するポリシーに基づいて使用されます。 鍵をクラウドにセキュアにインポートすることについて詳しくは、クラウドへの独自の暗号鍵の取り込みを参照してください。

API を使用したインポート・トークンの作成

以下のエンドポイントへの POST 呼び出しを行うことによって、Hyper Protect Crypto Services サービス・インスタンスと関連付けられたインポート・トークンを作成します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/import_token
  1. サービス内で鍵の処理を行うために、サービス資格情報および認証資格情報を取得します

  2. 鍵管理サービス APIを呼び出して、インポート・トークンのポリシーを設定します。

    curl -X POST \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/import_token \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/json' \
      -d '{
     "expiration": <expiration_time>,  \
     "maxAllowedRetrievals": <use_count>  \
    }'
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 1. API を使用してインポート・トークンを作成するために必要な変数について説明します。
    変数 説明
    リージョン 必須。 Hyper Protect Crypto Services サービス・インスタンスを置く地理的領域を表す、地域の省略形 (us-southau-syd など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    ポート 必須。 API エンドポイントのポート番号。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    expiration_time インポート・トークンが作成されてから有効である期間 (秒)。 最小値は 300 秒 (5 分)、最大値は 86400 (24 時間) です。 デフォルト値は 600 (10 分) です。
    use_count インポート・トークンを有効期限内に取得できる回数。この回数を超えるとインポート・トークンにアクセスできなくなります。 デフォルト値は 1 です。

    POST api/v2/import_token 要求が成功すると、サービス・インスタンス用のインポート・トークンが作成されます。 応答本文には、インポート・トークンに関連付けられているメタデータ (作成日やポリシーの詳細など) が含まれています。 次のスニペットは出力例を示しています。

    {
      "creationDate": "2019-04-08T16:58:29Z",
      "expirationDate": "2019-04-08T17:18:29Z",
      "maxAllowedRetrievals": 1,
      "remainingRetrievals": 1
    }
    

CLI を使用したインポート・トークンの作成

Hyper Protect Crypto Servicesに統合されている Key Protect CLI を使用してインポート・トークンを作成するには、以下の手順を実行します。

  1. Key Protect CLI をセットアップします

  2. 次のコマンドを使用してインポート・トークンを作成します。

    ibmcloud kp import-token create
    

    このコマンドの他のパラメーターについては、Key Protect CLI リファレンスを参照してください。

API を使用したインポート・トークンの取得

以下のエンドポイントへの GET 呼び出しを行うことによって、Hyper Protect Crypto Services サービス・インスタンスと関連付けられたインポート・トークンを取得します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/import_token
  1. サービス内で鍵の処理を行うために、サービス資格情報および認証資格情報を取得します

  2. 鍵管理サービス APIを呼び出して、サービス・インスタンスに関連付けられているインポート・トークンを取得します。

    curl -X GET \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/import_token \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 1. 鍵管理サービス API を使用してインポート・トークンを取得するために必要な変数について説明します。
    変数 説明
    リージョン 必須。 Hyper Protect Crypto Services サービス・インスタンスを置く地理的領域を表す、地域の省略形 (us-southau-syd など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    ポート 必須。 API エンドポイントのポート番号。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。

    GET api/v2/import_token 要求が成功すると、サービス・インスタンス用のインポート・トークンが取得されます。 応答本文には、インポート・トークンに関連付けられているメタデータ (作成日やポリシーの詳細など) が含まれています。 以下のスニペットは、値が切り捨てられた出力例を示しています。

    {
      "creationDate": "2019-04-08T16:58:29Z",
      "expirationDate": "2019-04-08T17:18:29Z",
      "maxAllowedRetrievals": 1,
      "remainingRetrievals": 0,
      "payload": "MIICIjANBgkqhkiG...",
      "nonce": "8zJE9pKVdXVe/nLb"
    }
    

    応答本体には公開暗号鍵も含まれています。 これは、Hyper Protect Crypto Services サービス・インスタンスに鍵素材をアップロードする前に ルート鍵を暗号化するために 使用できます。

    この例では、payload 値が、インポート・トークンと関連付けられた公開鍵を表しています。 この値は base64 でエンコードされています。 さらにセキュリティーを強化するため、Hyper Protect Crypto Services は、サービスへの鍵インポート要求が元のものであることを検証するために使用される nonce 値も提供します。 これらの値の使用方法について詳しくは、チュートリアル: 暗号鍵の作成とインポートを参照してください。

CLI を使用したインポート・トークンの取得

Hyper Protect Crypto Servicesに統合されている Key Protect CLI を使用してインポート・トークンを取得するには、以下の手順を実行します。

  1. Key Protect CLI をセットアップします

  2. 次のコマンドを使用してインポート・トークンを取得します。

    ibmcloud kp import-token show
    

    このコマンドの他のパラメーターについては、Key Protect CLI リファレンスを参照してください。

次の作業