インポート・トークンの作成
最初に Key Protect インスタンス用のインポート・トークンを 作成することによって、ルート鍵素材をクラウドにセキュアに インポートできるようになります。
インポート・トークンは、ルート鍵素材を暗号化して Key Protect にセキュアに取り込むために、指定するポリシーに基づいて使用されます。 鍵をクラウドにセキュアにインポートすることについて詳しくは、クラウドへの独自の暗号鍵の取り込みを参照してください。
この機能は現在、 Key Protect Dedicatedとは互換性がありません。
API を使用したインポート・トークンの作成
以下のエンドポイントへの POST 呼び出しを行うことによって、 Key Protect インスタンスと関連付けられた インポート・トークンを作成します。
https://<region>.kms.cloud.ibm.com/api/v2/import_token
-
Key Protect API を呼び出して、インポート トークンのポリシーを設定します。
$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/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> }'次の表に従って、例の要求内の変数を置き換えてください。
| 変数 | 説明 |
|---|---|
| リージョン | 必須。 Key Protect インスタンスが存在している地理的領域を表す、地域の省略形 (例: us-south または eu-gb)。 詳しくは、地域のサービス・エンドポイントを参照してください。 |
| IAM_token | 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを curl 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。 |
| instance_ID | 必須。 Key Protect サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。 |
| expiration_time | インポート・トークンが作成されてから有効である期間 (秒)。 最小値は 300 秒 (5 分)、最大値は 86400 (24 時間) です。 デフォルト値は 600 (10 分) です。 |
| use_count | インポート・トークンを有効期間内に取得できる回数。これを超えるとアクセスできなくなります。 デフォルト値は 1 です。 最大値は 500 です。 |
POST api/v2/import_token 要求が成功すると、 Key Protect インスタンス用のインポート・トークンが作成されます。 応答本体には、インポート・トークンと関連付けられたメタデータ (作成日やポリシー詳細など) が含まれています。 次のスニペットは出力例を示しています。
Key Protect インスタンスに関連付けられるインポート・トークンは、どの時点でも 1 つしか持つことができません。 後続のインポート・トークンの作成要求はすべて、前のインポート・トークンをオーバーライドします。
{
"creationDate": "2019-04-08T16:58:29Z",
"expirationDate": "2019-04-08T17:18:29Z",
"maxAllowedRetrievals": 1,
"remainingRetrievals": 1
}
API を使用したインポート・トークンの取得
以下のエンドポイントへの GET 呼び出しを行うことによって、 Key Protect インスタンスと関連付けられた インポート・トークンを取得します。
https://<region>.kms.cloud.ibm.com/api/v2/import_token
-
Key ProtectKey Protect インスタンスに関連付けられているインポートトークンを取得するには、 API を呼び出してください。
$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/import_token" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"次の表に従って、例の要求内の変数を置き換えてください。
| 変数 | 説明 |
|---|---|
| リージョン | 必須。 Key Protect インスタンスが存在している地理的領域を表す、地域の省略形 (例: us-south または eu-gb)。 詳しくは、地域のサービス・エンドポイントを参照してください。 |
| IAM_token | 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを curl 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。 |
| instance_ID | 必須。 Key Protect サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。 |
GET api/v2/import_token 要求が成功すると、 Key Protect インスタンス用のインポート・トークンが取得されます。 応答本体には、インポート・トークンと関連付けられたメタデータ (作成日やポリシー詳細など) が含まれています。
取得されたインポート・トークンは、インポート・トークンの有効期限が切れる日付まで、1 つ以上の鍵をインポートするために再使用できます。
以下のスニペットは出力例を示しています (一部の値は切り捨てられています)。
{
"creationDate": "2019-04-08T16:58:29Z",
"expirationDate": "2019-04-08T17:18:29Z",
"maxAllowedRetrievals": 1,
"remainingRetrievals": 0,
"payload": "Rm91ciBzY29yZSBhbmQgc2V2ZW4geWVhcnMgYWdv",
"nonce": "8zJE9pKVdXVe/nLb"
}
応答本体には公開暗号鍵も含まれています。 これは、 Key Protect インスタンスに鍵素材をアップロードする前に ルート鍵を暗号化するために 使用できます。
この例では、payload 値が、インポート・トークンと関連付けられた公開鍵を表しています。 この値は base64 でエンコードされています。 セキュリティをさらに強化するため、 Key Protect では、サービスへのキーインポート要求の真正性を確認するために使用される「 nonce 」値も提供しています。 これらの値の使用方法について詳しくは、チュートリアル: 暗号鍵の作成とインポートを参照してください。
次の作業
- 暗号鍵をセキュアに IBM Cloud に取り込むためのインポート・トークンの使用について詳しくは、ルート鍵のインポートを参照してください。
- Key Protect でのインポート・トークンの使用についてのガイド付きチュートリアルについては、チュートリアル: 暗号鍵の作成とインポートを参照してください。