インポート・トークンの作成
最初に 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
-
鍵管理サービス 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-south、au-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 を使用してインポート・トークンを作成するには、以下の手順を実行します。
-
次のコマンドを使用してインポート・トークンを作成します。
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
-
鍵管理サービス 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-south、au-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 を使用してインポート・トークンを取得するには、以下の手順を実行します。
-
次のコマンドを使用してインポート・トークンを取得します。
ibmcloud kp import-token showこのコマンドの他のパラメーターについては、Key Protect CLI リファレンスを参照してください。
次の作業
- 暗号鍵をセキュアに IBM Cloud に取り込むためのインポート・トークンの使用について詳しくは、ルート鍵のインポートを参照してください。
- Hyper Protect Crypto Services でのインポート・トークンの使用についてのガイド付きチュートリアルについては、チュートリアル: 暗号鍵の作成とインポートを参照してください。