鍵パーツ・ファイルを使用したサービス・インスタンスの初期設定
Hyper Protect Crypto Services インスタンスを使用するには、まず、マスター鍵をロードしてサービス・インスタンスを初期設定する必要があります。 このトピックでは、IBM Cloud TKE CLI プラグインを介して鍵パーツ・ファイルを使用することによってサービス・インスタンスを初期設定する手順について説明します。
サービス・インスタンスの初期設定方法の概要および関連する基本概念については、サービス・インスタンスの初期設定およびサービス・インスタンスの初期設定方法の概要を参照してください。
次の図は、ファイルに保管されているマスター・キー・パーツを使用してサービス・インスタンスを初期設定するために必要な手順の概要を示しています。詳細な手順については、図の各ステップをクリックしてください。
次の動画で、Hyper Protect Crypto Services TKE CLI プラグインを使用した IBM Cloud インスタンスの初期設定方法を学習することもできます。
Hyper Protect Crypto Services インスタンスの初期化に使用される資産を保護するのは、お客様の責任です。 ベスト・プラクティスについては、 FAQ を参照してください。
開始前に
インスタンスの初期設定を開始する前に、前提条件手順が完了していることを確認してください。
サービスの初期化のためのターゲット暗号装置の選択
IBM Cloud ユーザー・アカウントに割り当てられた暗号装置は、サービス・インスタンスというグループに含まれます。 サービス・インスタンスには最大 6 つの運用暗号装置を設定できます。 1 つのサービス・インスタンスに属するすべての暗号装置は、同じ構成内容にする必要があります。 インスタンスが配置されているリージョン内の 1 つのアベイラビリティー・ゾーンにアクセスできない場合に、運用暗号装置を交互に使用できるので、ロード・バランシングや高可用性に役立ちます。
IBM Cloud ユーザーに割り当てられている暗号装置は、 インプリント・モードAn operational mode in which crypto units are assigned to a user.と呼ばれるクリアな状態で開始します。
単一のサービス・インスタンス内のすべての暗号装置のマスター鍵レジスターは、同じ設定内容にする必要があります。 すべての暗号装置に同一セットの管理者を追加する必要があります。また、すべての暗号装置が同時にインプリント・モードを終了する必要があります。
-
現在のユーザー・アカウントに属するターゲット・リソース・グループに含まれるサービス・インスタンスと暗号装置を表示するには、次のコマンドを使用します。
ibmcloud tke cryptounits
以下の出力は、表示される内容の例です。 出力表の「SELECTED」列に、TKE CLI プラグインで実行する後続の管理コマンドのターゲットになる暗号装置が示されています。
SERVICE INSTANCE: 482cf2ce-a06c-4265-9819-0b4acf54f2ba CRYPTO UNIT NUM SELECTED TYPE LOCATION 1 false OPERATIONAL [us-south].[AZ3-CS3].[02].[03] 2 false OPERATIONAL [us-south].[AZ2-CS2].[02].[03] 3 false FAILOVER [us-east].[AZ2-CS2].[03].[04] 4 false FAILOVER [us-east].[AZ3-CS3].[01].[07] SERVICE INSTANCE: 96fe3f8d-9792-45bc-a9fb-2594222deaf2 CRYPTO UNIT NUM SELECTED TYPE LOCATION 5 false OPERATIONAL [us-south].[AZ1-CS4].[00].[03] 6 false OPERATIONAL [us-south].[AZ2-CS5].[03].[03]
-
選択した暗号装置リストに暗号装置を追加するには、次のコマンドを使用します。
ibmcloud tke cryptounit-add
現在のユーザー・アカウントに属するターゲット・リソース・グループに含まれる暗号装置のリストが表示されます。 プロンプトが出されたら、選択した暗号装置リストに追加する暗号装置番号のリストを入力します。
フェイルオーバー用暗号装置を使用してリージョンをまたぐ高可用性を有効にする場合は、インスタンスの初期設定のために、選択したリストにすべてのフェイルオーバー用暗号装置を必ず追加してください。
フェイルオーバー用暗号装置を運用暗号装置と同様に初期設定および構成していない場合は、リージョン規模の災害発生時にデータの自動リストアのためにフェイルオーバー用暗号装置を使用することはできません。 リージョンをまたぐ災害復旧について詳しくは、高可用性と災害復旧を参照してください。
パブリック・ネットワークを使用している場合は、ネットワーク・ポリシーが
private-only
に設定されたサービス・インスタンスに関連付けられている暗号装置はリストされません。 private-only の暗号装置には、プライベート・ネットワークを介してのみアクセスできます。 private-only 接続のセットアップについて詳しくは、TKE プラグインのプライベート・エンドポイントをターゲットとして設定するを参照してください。 -
選択した暗号装置リストから暗号装置を削除するには、次のコマンドを使用します。
ibmcloud tke cryptounit-rm
現在のユーザー・アカウントに属するターゲット・リソース・グループに含まれる暗号装置のリストが表示されます。 プロンプトが出されたら、選択した暗号装置リストから削除する暗号装置番号のリストを入力します。
一般に、サービス・インスタンス内のすべての暗号装置が選択されているか、まったく選択されていないかのどちらかです。 この操作により、後続の管理コマンドが、サービス・インスタンスのすべての暗号装置を一貫して更新することになります。 しかし、1 つのサービス・インスタンスに属する一部の暗号装置の構成内容が異なっている場合、そのサービス・インスタンスに属するすべての暗号装置の構成内容を一貫性のある状態に復元するために、暗号装置を個別に選択して操作する必要があります。
次のコマンドを使用して、選択した暗号装置の構成設定を比較することができます。
ibmcloud tke cryptounit-compare
マスター鍵のロード
新しいマスター鍵レジスターにロードするには、その前にターゲット暗号装置に 1 つ以上の管理者を追加し、インプリント・モードを終了します。
新規マスター鍵レジスターにロードするには、IBM Cloud CLI プラグインを使用して以下のタスクを実行します。
ステップ 1: 1 つ以上の署名鍵の作成
新規マスター鍵レジスターにロードするには、暗号装置管理者は固有の署名鍵でコマンドに署名する必要があります。 最初のステップとして、署名キーを含む 1 つ以上の署名キー・ファイルをワークステーションに作成します。
セキュリティーを考慮して、署名鍵の所有者をマスター鍵パーツの所有者と別の人にすることができます。 署名鍵の所有者は、署名鍵ファイルに関連付けられたパスワードを知る唯一の人にする必要があります。
-
ワークステーション上の既存の署名鍵を表示するには、次のコマンドを使用します。
ibmcloud tke sigkeys
-
ワークステーション上で新規署名鍵を作成して保存するには、次のコマンドを使用します。
ibmcloud tke sigkey-add
プロンプトが出されたら、管理者名と、署名鍵ファイルを保護するためのパスワードを入力します。 パスワードは忘れないようにしてください。 パスワードを失くした場合、署名鍵は使用できなくなります。
必要であれば、このコマンドを繰り返し実行して複数の署名鍵を作成します。
-
将来のコマンドに署名する管理者を選択するには、次のコマンドを使用します。
ibmcloud tke sigkey-sel
ワークステーションで検出された署名キーのリストが表示されます。プロンプトが出されたら、これ以降の管理コマンドに署名するために選択する署名キー・ファイルのキー番号を入力します。 プロンプトが出されたら、署名鍵ファイルのパスワードを入力します。
このコマンドによって、今後のコマンドに署名できる署名鍵が決まります。 選択できる署名キー・ファイルの数に制限はありません。コマンドの署名に必要な数より多い署名キーを選択した場合は、使用される実際の署名キーはコマンドの実行時に決まります。
サード・パーティーの署名サービスを使用して、署名鍵を提供することもできます。 詳しくは、インスタンスの初期設定用の署名鍵の管理に署名サービスを使用するを参照してください。
ステップ 2: ターゲット暗号装置の 1 つ以上の管理者の追加
-
暗号装置の既存の管理者を表示するには、次のコマンドを使用します。
ibmcloud tke cryptounit-admins
-
管理者を追加するには、次のコマンドを使用します。
ibmcloud tke cryptounit-admin-add
ワークステーション上で検出された署名鍵ファイルのリストが表示されます。
プロンプトが出されたら、追加する暗号装置管理者と関連付けられている署名鍵ファイルを選択します。 次に、選択した署名鍵ファイルのパスワードを入力します。
必要であれば、コマンドを繰り返して追加の暗号装置管理者を追加します。
暗号化ユニットに追加する管理者の数は、ステップ 3 で設定する予定の署名しきい値および失効署名しきい値を上回る必要があります。 例えば、署名しきい値または失効署名しきい値を 2 に設定しようとする場合は、少なくとも 2 人の管理者を暗号化ユニットに追加する必要があります。 暗号装置には最大 8 人の管理者を追加できます。
ワークステーションから管理者の署名鍵ファイルを削除しないでください。 そうでない場合、暗号装置のゼロ化やマスター鍵のローテートなど、署名が必要な TKE アクションを実行できません。
インプリント・モードでは、暗号装置管理者を追加するコマンドに署名する必要はありません。 暗号装置がインプリント・モードを終了した後に、暗号装置の最低必要署名数の値によって、コマンドに署名する必要がある暗号装置管理者の数が決まるようになります。
セキュリティーおよびコンプライアンスの理由により、暗号装置の管理者名が監査目的でログに表示されることがあります。
ステップ 3: ターゲット暗号装置のインプリント・モードを終了するためのクォーラム認証の最低必要数の設定
インプリント・モードの暗号装置はセキュアではないと見なされます。インプリント・モードでは、新規マスター・キー・レジスターへのロードなど、ほとんどの管理コマンドは実行できません。
1 つ以上の暗号装置管理者を追加した後、次のコマンドを使用してインプリント・モードを終了します。
ibmcloud tke cryptounit-thrhld-set
プロンプトが出されたら、最低必要署名数と取り消しの最低必要署名数の値を入力します。 最低必要署名数とは、ほとんどの管理コマンドの実行に必要な署名数を制御するものです。 取り消しの最低必要署名数とは、インプリント・モード終了後の管理者の削除に必要な署名数を制御するものです。 最低必要署名数の設定にかかわらず、署名を 1 つしか必要としないコマンドもあります。
最低必要署名数の値は、1 から 8 までの数値でなければなりません。 最低必要署名数と取り消しの最低必要署名数は異なる値にすることができます。 最低必要署名数を 1 より大きい値に設定することは、機密操作 (マスター鍵レジスターのコミット、最低必要署名数の変更、暗号装置のインプリント・モード終了後の管理者の追加または削除など) に対して クォーラム認証 を実施する方法です。
インプリント・モードを終了するコマンドには、新しい署名しきい値で指定した数の管理者の署名が必要になります。暗号化ユニットのインプリント・モードを終了すると、その暗号化ユニットに対するすべてのコマンドに署名が必要になります。暗号装置のインプリント・モードを終了した後でも、cryptounit-thrhld-set
コマンドを使用して暗号装置の最低必要署名数を変更できます。現在の最低必要署名数の値を表示するには、ibmcloud tke cryptounit-thrhlds
コマンドを実行します。
ステップ 4: 使用する一連のマスター鍵パーツの作成
各マスター鍵パーツは、ワークステーション上のパスワード保護されたファイルに保存されます。
少なくとも 2 つのマスター鍵パーツを作成する必要があります。 セキュリティー上の配慮として、最大 3 つのマスター・キー・パーツが使用可能で、各キー・パーツは別のユーザーが所有できます。 鍵パーツの所有者は、鍵パーツ・ファイルに関連付けられたパスワードを知る唯一の人にする必要があります。
-
ワークステーション上の既存のマスター鍵パーツを表示するには、次のコマンドを使用します。
ibmcloud tke mks
-
ワークステーション上でランダムなマスター鍵パーツを作成して保存するには、次のコマンドを使用します。
ibmcloud tke mk-add --random
プロンプトが出されたら、鍵パーツの説明と、鍵パーツ・ファイルを保護するためのパスワードを入力します。 パスワードは忘れないようにしてください。 パスワードを失くした場合、鍵パーツは使用できなくなります。
-
既知の鍵パーツ値を入力してそれをワークステーション上のファイルに保存するには、次のコマンドを使用します。
ibmcloud tke mk-add --value
プロンプトが出されたら、32 バイトの鍵パーツの 16 進数ストリングとして鍵パーツ値を入力します。 次に、鍵パーツの説明と、鍵パーツ・ファイルを保護するためのパスワードを入力します。
ステップ 5: 新規マスター鍵レジスターへのロード
マスター鍵レジスターにロードするには、使用するすべてのマスター鍵パーツ・ファイルと署名鍵ファイルが、共通のワークステーションに存在する必要があります。 ファイルが別々のワークステーションで作成された場合は、衝突を避けるためにファイル名にそれぞれ別の名前を付けてください。 マスター鍵パーツ・ファイルの所有者と署名鍵ファイルの所有者は、マスター鍵レジスターが共通のワークステーションにロードされるときにファイル・パスワードを入力する必要があります。
マスター鍵のロード方法については、マスター鍵レジスターの詳細図を参照してください。
新規マスター鍵レジスターにロードするには、次のコマンドを使用します。
ibmcloud tke cryptounit-mk-load
ワークステーションで検出されたマスター鍵パーツのリストが表示されます。
プロンプトが出されたら、新規マスター鍵レジスターにロードする鍵パーツ、使用する署名鍵ファイルのパスワード、選択した各鍵パーツのファイルのパスワードを入力します。 このコマンドには、署名鍵は 1 つしか必要ありません。
ステップ 6: 新規マスター鍵レジスターのコミット
必ず、 ステップ 5 の直後にこのステップを実行して、新しいマスター鍵レジスターを Full committed
状態に移行してください。 そうしないと、サービス・インスタンスを初期化することも、 GREP11 API または PKCS #11 API を使用して暗号操作を実行することもできません。
新規マスター鍵レジスターをロードすると、新規マスター鍵レジスターは Full uncommitted
状態になります。 新規マスター鍵レジスターを使用して鍵ストレージを初期化または再暗号化するには、その前に新規マスター鍵レジスターをコミット状態にします。 マスター鍵のロード方法については、マスター鍵レジスターの詳細図を参照してください。
新規マスター鍵レジスターをコミットするには、次のコマンドを使用します。
ibmcloud tke cryptounit-mk-commit
プロンプトが出されたら、使用する署名鍵ファイルのパスワードを入力します。 クォーラム認証を実施するには、完全な署名セットが必要です。
ステップ 7: マスター鍵のアクティブ化
次のコマンドでマスター鍵を現行のマスター鍵レジスターに移動することによって、マスター鍵をアクティブ化します。
ibmcloud tke cryptounit-mk-setimm
新しいマスター鍵を受け入れるかどうかを確認するメッセージが表示されます。
アクションを実行する前に以下の点を考慮してください。
- サービス・インスタンスを初めて初期化する場合は、このメッセージを無視し、
y
を入力して続行できます。 - サービス・インスタンスで鍵の管理を既に開始していて、以前使用したのと同じマスター鍵を再ロードしたい場合は、進行中の鍵管理アクションがないことを確認し、
y
を入力して続行します。 - サービス・インスタンスで鍵の管理を既に開始していて、新しいマスター鍵をロードしたい場合は、
N
を入力してキャンセルします。 マスター鍵のローテーションについて詳しくは、マスター鍵のローテーションを参照してください。
プロンプトが出されたら、使用する署名鍵ファイルのパスワードを入力します。 このコマンドでは、ステップ 6 で鍵が既に使用可能になっているため、必要な署名鍵は 1 つのみです。 マスター鍵は、管理者署名を使用してアクティブにすることができます。
次の作業
-
TKE CLI プラグイン・コマンドの他のオプションについて詳しくは、CLI で次のコマンドを実行してください。
ibmcloud tke help
-
インスタンスのダッシュボードの**「KMS 鍵 (KMS keys)」**タブに移動して、ルート鍵と標準鍵を管理します。 プログラムで鍵を管理する方法について詳しくは、 Hyper Protect Crypto Services 鍵管理サービスの API リファレンス資料を確認してください。
-
クラウド HSM で暗号操作を実行する方法について詳しくは、クラウド HSM の概要を参照してください。
-
Hyper Protect Crypto Services を他の IBM Cloud サービスのルート鍵プロバイダーとして使用します。 Hyper Protect Crypto Services の統合について詳しくは、サービスの統合を確認してください。
-
マスター鍵をローテートする方法については、鍵パーツ・ファイルを使用したマスター鍵のローテートを参照してください。