Hyper Protect Crypto Services (HPCS) から Key Protect Dedicated への移行
Hyper Protect Crypto Services (HPCS) を使用しており、 Key Protect Dedicated に移行する必要がある場合は、この移行ガイドに従ってください。 その内容は以下の通りだ:
評価段階:
機能別マイグレーション:
- お客様 (CRK)
- 標準キー
- KMIP for VMware
- PKCS #11(GREP11)
- ユニファイド・キー・オーケストレーター(UKO)
- Terraform
- CLIプロビジョニング
- セキュア・インポート
完了:
HPCS利用の特定
HPCS インスタンスのすべての IBM Cloud アカウントチェックする。
各 IBM Cloud アカウント、以下の IBM Cloud CLI コマンドを 実行する:
ibmcloud resource service-instances --all-resource-groups --long --service-name hs-crypto --limit 100
コマンドを実行する前に、 IBM Cloud CLIが目的のアカウントターゲットにしていることを確認する:
ibmcloud target
出力に表示されているアカウント、チェックしたいアカウント一致していることを確認する。 IBM Cloud CLIは、一度に1つのアクティブなアカウント動作します。 間違ったアカウントコマンドを実行すると、HPCSインスタンスが見つからない可能性があります。
それを確認すること:
-
アカウント管理者のユーザーでログインし、 アカウントサービスのViewer(プラットフォーム)とReader(サービス)にアクセスします。
-
以下のコマンドを使用して、チェックしたいアカウント明示的にターゲットにする:
ibmcloud target -c <account_id>
このコマンドは、対象となるアカウントすべてのリソースグループにわたってHPCSインスタンスを検索しますが、表示権限があるインスタンスのみが返されます。 空の結果は、パーミッションが不十分であるか、HPCSインスタンスがないことを示している可能性があります。
IBM Cloud IAMはプラットフォームとサービスの両方の認可を実施し、HPCSはインスタンス検出を認可されたユーザーに制限しているため、HPCSインスタンスのリストにはサービスレベルのアクセスが必要です。
また、 IBM Cloud の請求レポートを確認することでも、HPCSの使用状況を確認することができます。 HPCSチャージの存在は、 アカウント HPCSインスタンスが存在することを示す。 これを行うには、 アカウント管理者であり、課金および使用データを表示するのに十分な権限を持つユーザーで IBM Cloud にログインし、以下を開きます。 https://cloud.ibm.com/billing/usage を開き、利用タイプをチェックする Hyper Protect Crypto Services。
また、 IBM Cloud リソースリストを確認することで、HPCSの使用状況を確認することができます。 そのためには、 アカウント管理者であり、全サービスにアカウントビューア(プラットフォーム)およびリーダ(サービス)アクセス権を持つユーザで IBM Cloud にログインし、以下を開きます。 https://cloud.ibm.com/resources を開き、製品 Hyper Protect Crypto Services のリソース インスタンスを確認します。
IAMロールの詳細とアクセス権の割り当て方法については、 IBM Cloud IAMロールを 参照してください。
HPCSインスタンスが存在しない場合、マイグレーションは必要ありません。
使用法の検索
HPCSインスタンスがある場合、そのリソースをどのように使用しているかを判断する必要がある。 次の表は、HPCSの利用状況を確認するためのさまざまな方法を説明したものである:
| メソッド | 説明 | 考慮事項 |
|---|---|---|
| アクティビティー・トラッキング・イベント | ログに記録されたイベントを通じて、HPCSの使用状況を正確に示します | 可能な限り大きな時間ウィンドウを使用してイベントを検索します。 イベントがないからといって、利用がないとは限らない。 使用は、まれなイベント(例えば、 IBM Cloud サービスインスタンスの再起動)、またはイベント保持期間を超える可能性のある長い間隔の間に発生する可能性があります。 |
| 関連付け | IBM Cloud リソース別の HPCS 使用率を表示します | リソースが常に同期しているとは限らない分散コンピューティング・システムの性質上、関連付けがないことが必ずしも利用がないことを意味するわけではない。 逆に、協会があるからといって、必ずしも積極的に利用されるとは限らない。 付き合いは古くなるものだ。 IBM Cloud リソースの中には、アソシエーションを作成したり使用したりしないものもある。 kp registrations 命令 を使って関連付けをリストアップする。 |
| 関連付けられているリソースの同期化 | アソシエーションの同期を改善 | kp key sync コマンドを 使用して、関連リソースを明示的に同期し、より正確な関連データを取得する。 |
| キーユースレポーター(KUR) | IBM Cloud アカウントスキャンし、HPCS キーを参照するリソースを KMS インスタンスとキーでグループ化したレポートを生成する IBM 提供の CLI ツール。 また、アクティビティ追跡監査ログファイルを処理することができる。 | ディスカバリーとレポーティングツールのみ。 マイグレーションを実行しない。 このツールは、すべての可能なキーの使用法を検出するわけではありません。 |
この文書では、2つの別々のツールを参照している:
- キー・マイグレーション・ツール(CRKM)- マイグレーション・インテントの作成と同期のトリガーに使用。 このツールは、自動CRK マイグレーションに 必要である。
- Key Usage Reporter (KUR)- HPCS鍵を参照するサービスを特定するための発見・報告ツール。 KURはマイグレーションを行わない。 Key Usage Reporter(KUR) を参照。
移行作業を進める前に、最新バージョンの Key Protect CLI プラグインがインストールされていることを確認してください。 このアップデートにより、すべてのマイグレーション機能とコマンドの互換性が保証されます。
現在のプラグインのバージョンを確認するには:
ibmcloud plugin show key-protect
Key Protect のCLIプラグインを最新バージョンに更新するには:
ibmcloud plugin update key-protect
プラグインがインストールされていない場合は、以下を実行してインストールすることができます:
ibmcloud plugin install key-protect
HPCSと Key Protect Dedicatedの両方で、 Key Protect CLIプラグインは、環境変数 KP_TARGET_ADDR からターゲット・インスタンスのエンドポイントを読み取る必要があります。 KP_TARGET_ADDR 変数は、プライベート・エンドポイントとパブリック・エンドポイントの両方で機能する。
このコマンド例では、HPCSインスタンスを対象としています:
export KP_TARGET_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
このコマンドの例では、 Key Protect Dedicatedインスタンスを対象としている:
export KP_TARGET_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.kms.appdomain.cloud
HPCSと Key Protect Dedicatedの両方のインスタンス・エンドポイントは、特定のインスタンスの IBM Cloud UIコンソールで見つけることができます。
このドキュメントに従い、 IBM Cloud CLIを使用してHPCSに接続する場合は、ログイン・ユーザーがHPCSインスタンス・レベルのIAMポリシーを持っていることを確認してください。 キー・リング・レベルまたはキー・レベルのIAMポリシーは、すべてのアソシエーションと他のリソースをリストしないかもしれない。
カスタム・アプリ対 IBM Cloud サービスとソフトウェア HPCSの利用状況
HPCSの利用は主に2つのソースからもたらされる:カスタムアプリと IBM Cloud サービスやソフトウェア。
カスタムアプリ
カスタムアプリケーションによるHPCS利用は、カスタムコードまたはISVアプリケーションがHPCSを直接利用する場合に発生します。
カスタム・アプリによるHPCSの使用状況を検索するには、 HPCSのアクティビティ追跡イベントや コード検索などの助けを借りて実行する必要があります。
以下の用法を検索する:
- を含むホスト名への参照
hs-crypto - HPCS REST API
- GREP11
- HPCS CLIプラグイン
また、HPCS PKCS11 ライブラリからHPCSの使用法を検索することもできます:
また、クライアントSDKから使用方法を検索する:
- キープロテクト・ゴー・クライアント
- Keyprotect-python-client
- キープロテクト・ジャバ・クライアント
- Keyprotect-nodejs-client
- レッドストーン
- hpcs-grep11
HPCSにアクセスできるIAM IDを検索する。主に サービス IDと Trusted Profiles、およびあまり一般的でないユーザーID。 HPCSサービス、インスタンス、キーリング、またはキーにスコープされたロールを持つIDは、カスタム・アプリケーション使用の可能性を示す強力な指標です。
IBM Cloud サービスおよびソフトウェア
HPCSを使用している IBM Cloud サービスとソフトウェアを特定するには、以下の推奨アプローチに従ってください:
-
Key Usage Reporter(KUR)から始める- Key Usage Reporter(KUR )ツールは、出発点として推奨される。 IBM Cloud アカウントスキャンし、HPCS キーを参照するリソースの包括的なレポートを生成します。このレポートは、サービスとキーごとにグループ化されています。
-
アクティビティ・トラッキングとの相互参照- HPCSのアクティビティ・トラッキング・イベントを、利用可能な最大時間枠でレビューし、暗号処理を実行したサービスを特定する。 Key Usage Reporter(KUR )ツールは、アクティビティ追跡監査ログファイルを処理し、HPCSの利用状況を特定するのに役立つ CSV サマリーを作成することができます。
利用方法の分類
マイグレーションに関連するHPCSの利用形態は、それぞれ以下のカテゴリーのいずれかに分類される:
| 使用タイプ | 説明 |
|---|---|
| お客様 (CRK) | データ暗号化キーの暗号化 |
| 標準キー | 秘密 |
| KMIP for VMware | VMware KMIP クライアントが使用 |
| エンタープライズ PKCS#11 キー | PKCS#11または GREP11 インターフェース |
| UKOが管理する鍵 | ユニファイド・キー・オーケストレーターによる管理 |
| Terraform | インフラストラクチャー・アズ・コードによるHPCSインスタンスのプロビジョニング |
| IBM Cloud CLI を使用したインスタンスのプロビジョニング | インスタンスのプロビジョニング |
| ルート鍵素材のセキュアなインポート | オプションでキーのインポートの一部として使用される |
ルートキー(CRK)の移行
CRKの存在チェック
以下のBashスクリプトを使用して、HPCSインスタンスの 全状態の CRKの総数をカウントします。
IBM Cloud CLIから IBM Cloud にログインしていることを確認してください。
# count the total number of CRKs in all states
HPCS_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
HPCS_INSTANCE_ID=fadedbee-0000-0000-0000-1234567890ab
AUTH_HEADER="${AUTH_TOKEN:-$(jq -r .IAMToken ~/.bluemix/config.json)}"
header="$(curl -i -k -s --head \
"${HPCS_ADDR}/api/v2/keys?state=0,1,2,3,5&extractable=false" \
-H "authorization: ${AUTH_HEADER}" \
-H "bluemix-instance: ${HPCS_INSTANCE_ID}" \
-H "prefer: return=representation" \
| grep '^Key-Total:' \
| tr -d '\r')"
if [ -n "$header" ]; then
total="${header#Key-Total: }"
echo "Total number of CRKs in all states: $total"
else
echo "Error: Key-Total header not found. Try logging into IBM Cloud again. Check endpoint, auth token, or permissions." >&2
fi
HPCS_ADDR と HPCS_INSTANCE_ID を各 HPCS インスタンスで有効な値に置き換える。 HPCSのインスタンスエンドポイントとインスタンスIDは、 IBM Cloud UIコンソールで特定のインスタンスについて確認できます。
出力は次の例のようになります。
Total number of CRKs in all states: 11
すべてのHPCSインスタンスでCRKがゼロの場合、CRKのマイグレーションは必要ありません。
以下のスクリプトを使用して、アクティブ(1)及び非アクティブ(期限切れ)(3)状態の CRK の数を確認する。 アクティブ(1)状態または非アクティブ(期限切れ)(3)状態の CRK のみが、 ラップ、 アンラップ、 リラップなどの 暗号操 作に使用できる。 非活性化(3)のCRKは、アンラップとリラップをサポートするが、ラップはサポートしない。
# count the total number of CRKs in Active (1) or Deactivated (Expired) (3) states
HPCS_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
HPCS_INSTANCE_ID=fadedbee-0000-0000-0000-1234567890ab
AUTH_HEADER="${AUTH_TOKEN:-$(jq -r .IAMToken ~/.bluemix/config.json)}"
header="$(curl -i -k -s --head \
"${HPCS_ADDR}/api/v2/keys?state=1,3&extractable=false" \
-H "authorization: ${AUTH_HEADER}" \
-H "bluemix-instance: ${HPCS_INSTANCE_ID}" \
-H "prefer: return=representation" \
| grep '^Key-Total:' \
| tr -d '\r')"
if [ -n "$header" ]; then
total="${header#Key-Total: }"
echo "Total number of CRKs in Active (1) or Deactivated (Expired) (3) states: $total"
else
echo "Error: Key-Total header not found. Try logging into IBM Cloud again. Check endpoint, auth token, or permissions." >&2
fi
すべての HPCS インスタンスにおいて、アクティブ状態(1)または非アクティブ状態(期限切れ) (3)の CRK がゼロの場合、暗号操作に使用できる CRK はない。 しかし、HPCSはまだ使われているかもしれない。 リソースやアプリケーションは、まだ他の状態のCRKを参照するように構成されているかもしれない。 このようなCRKで暗号操作を行おうとすると失敗する。
CRKカウントの解釈:
| 条件 | 解釈 | アクション |
|---|---|---|
| CRK合計=0(全州) | どのHPCSインスタンスにもCRKが存在しない | CRKの移行は不要です |
| CRK合計>0だが、アクティブ(1)+非アクティブ(3)=0 | 現在、暗号操作に使用できるCRKはない | 移行はまだ必要かもしれない。 リソースやアプリケーションが他の州のCRKを参照しているかどうかを確認する |
| アクティブ(1)または非アクティブ(3)のCRKが存在する | CRKは暗号操作に使用可能(完全または部分的) | CRKへの移行が必要 |
IBM Cloud CLI kp keys コマンドを 使用すると、HPCS CRK の完全な CRN を取得できます。
次の例は、全州のCRKをリストアップしたものである:
export KP_TARGET_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
ibmcloud kp keys --instance-id fadedbee-0000-0000-0000-1234567890ab --crn --key-type root-key --key-states active,suspended,deactivated,destroyed --number-of-keys 5000
KP_TARGET_ADDR を各 HPCS インスタンスの有効な値に置き換える。 HPCS のインスタンス・エンドポイントは、特定のインスタンスの IBM Cloud UI コンソールで見つけることができます。
- このコマンドは、サスペンド(無効)状態やデストロイ(ソフト削除)状態を含む、すべての状態の CRK を一覧表示します。
- サスペンド(無効)状態およびデストロイド(ソフト削除)状態の CRK の能動的な暗号使用は許可されないが、これらの状態の CRK を IBM Cloud リソースまたはカスタム・コードで参照することは可能である。
- CRKをサスペンド(無効)状態やデストロイド(ソフト削除)状態からアクティブ状態にすることができる。
- このコマンドは一度に5000CRKまでリストアップできる。 すべてのCRKをリストアップするには、ページネーションが必要かもしれない。
カスタム・アプリケーションにおけるお客様 (CRK)の移行
カスタム・アプリケーションは、HPCSで保護されているデータ暗号化キー(DEK)をリラップすることで、CRKを Key Protect Dedicatedに移行することができます。
移行プロセスには、以下の手順が含まれます
- HPCSから データ暗号化キー (DEK)を解く。
- Key Protect 専用DEKを巻く。
- 新しいラップデータ暗号鍵(WDEK)を生成する。
- 以降の暗号操作には、新しいWDEKを使用する。
どのような場合でも、カスタム・アプリケーションは必須である:
- 別のエンドポイントを使う。 Key Protect Dedicatedインスタンスは、そのインスタンスに固有のエンドポイントを持つ。
- 別のキーIDを使用してください。
- 適切なレベルで Key Protect Dedicated へのアクセスを許可する IAM ID(おそらくサービス ID)を使用する。 Key Protect Dedicatedを対象とした新しいIAMポリシーが必要になるかもしれない。
Key Protect APIの詳細については、 Key Protect APIリファレンスを 参照のこと。
IBM Cloud サービスとソフトウェアにおけるお客様 (CRK)の移行
HPCSと統合された一部の IBM Cloud サービスと IBM ソフトウェアは、 Key Protect 専用への自動CRK移行ワークフローに参加することができます。 このワークフローは、マイグレーション・インテントとキー・ライフサイクルの同期イベントに基づいており、暗号の継続性を維持しながら混乱を最小限に抑える。
別の移行経路:サービス・インスタンスの再作成
マイグレーション・インテントのワークフローに代わる方法として、 IBM Cloud サービスの新しいインスタンスを作成し、 Key Protect Dedicated からの CRK で最初から構成する方法があります。 次に、既存のサービス・インスタンスから新しいサービス・インスタンスにデータとメタデータをコピーする。 新しいインスタンスが検証された後、HPCS CRKを使用する元のインスタンスは廃止することができます。
この方法では、データがコピーされ、参照が新しいインスタンスを指すように更新される間、移行期間中にサービスが中断する可能性がある。 トレードオフは、このアプローチでは、新しいインフラストラクチャをプロビジョニングし、データをコピーし、元のサービスインスタンスを指す参照(エンドポイント、バインディング、アプリケーション構成など)を更新する必要があるということです。 サービスインスタンスを再作成する運用コストと、 Key Protect 専用 CRK で新たに開始するシンプルさを比較評価します。
以下のセクションでは、移行インテント・モデル、前提条件、移行の流れ、進行状況の監視方法について説明します。
マイグレーションの概要
IBM Cloud サービスでは、サービス管理データ暗号鍵(DEK)を暗号化するために、一般的にお客様鍵(CRK)が使用される。 マイグレーション中、DEKはHPCS CRKの代わりに Key Protect Dedicated CRKによって暗号化されるようにリラップされ、データの再暗号化は必要ありません。
大まかに言えば、マイグレーションは以下のように機能する:
- HPCS CRK を特定の Key Protect 専用 CRK に移行する意向を表明する。
- IBM Cloud その HPCS CRK に関連するサービスは、インテントを検出する。
- 各サービスはDEKを再ラップし、鍵の関連付けを更新する。
- HPCS CRKとの関連付けは、移行完了後に削除される。
前提条件
IBM Cloud サービスとソフトウェアの CRK マイグレーションを開始する前に、以下の要件が満たされていることを確認してください:
- サービスのサポート
- HPCS-to- Key Protect Dedicated CRK Migration Intentを明示的にサポートする IBM Cloud サービスおよびソフトウェアのみが参加できます。
- 現在、マイグレーション・インテントをサポートする IBM のサービスとソフトウェアは以下の通り:
| IBM サービス | マイグレーション・インテントのサポート | サービス別指示書 |
|---|---|---|
| アプリ構成 | フル | 該当なし |
| Block Storage for VPC | フル | 該当なし |
| Cloud Object Storage (COS) | フル | 該当なし |
| データベース・サービス(ICD) | フル | 該当なし |
| Event Notifications | フル | 該当なし |
| Event Streams | フル | 移行には最大1営業日かかります |
| Kubernetes(IKS) | フル | ストレージ・コンポーネント |
| Red Hat OpenShift (ROKS) | フル | ストレージ・コンポーネント |
| Schematics | フル | 該当なし |
| Secrets Manager | フル | 該当なし |
-
現在、 IBM のサービスおよびソフトウェアのサポートは行っておりません:
移行を開始する前に、すべてのサービスが移行インテントをサポートするのを待つ必要はありません。 Key Usage Reporter(KUR) ツールと アクティビティ追跡イベントを 使用して、どのサービスがHPCS CRKを使用しているかを確認します。 HPCSキーが移行インテントをサポートするサービスでのみ使用されている場合は、今すぐ移行を完了できます。
1つのHPCS CRKは、サポートされているサービスとサポートされていないサービスの両方で同時に使用することができます。 この場合、今すぐ移行インテントを作成する。 移行インテントをサポートするサービスは、インテントを検出し、移行を完了する。 マイグレーション・インテントはCRKに添付されたままである。 マイグレーション・インテントのサポートが追加されたサービスが増えた場合、同じCRK上で Key Migration Tool(CRKM )からsyncコマンドを実行する必要があります。 新しい移行インテントを作成する必要はありません。
つまり、今日中に移行プロセスを開始し、サポートが利用可能になった時点で、残りのサービスの移行を完了させることができます。
-
- ターゲットCRK
- Key Protect 専用のCRKが存在しなければならない。 ターゲットCRKは、API、CLI、またはUIを使用して、 お客様キー・マテリアルの有無にかかわらず、生成またはインポートすることができます。
-
- IAM 許可
- サービス間IAM認可ポリシーは、 IBM Cloud サービスが Key Protect 専用インスタンス、キーリング、または個々のキーにアクセスすることを許可しなければならない。 サービス間のIAM認可ポリシーの設定方法については、各サービスのドキュメントを参照すること。 サービス間 IAM 認可ポリシーは、対象の Key Protect Dedicated インスタンスと同じアカウント定義する必要があります。 そのアカウント、サービスインスタンスのアカウント異なるかもしれない。 IBM Cloud Databases、 Messages for RabbitMQ、 Kubernetes、 OpenShift サービスなどのユースケースの場合、IAMポリシーの作成時に委任承認が有効になっていることを確認する。 移行に失敗するほとんどのケースは、このステップが実行されていないか、または正しく実行されていないために起こります。
マイグレーション・インテント
マイグレーション・インテントは、HPCS CRKに付加されるオプションのサブリソースである。 Key Protect 専用CRKをCRNで指定する。
マイグレーションを開始する:
- 移行元のHPCS CRKに移行インテントを作成します。
- インテントは、 Key Protect 専用CRKを参照する。
- 移行インテントは、 キーマイグレーションツールを 使用して作成されます。
移行インテントが作成されると、HPCSサービスは、移行が要求されていることを IBM Cloud サービスに通知する同期イベント(既存のアソシエーションごとに1つ)を発行する。
一部のサービス(例えば、 IBM Cloud Databases、 Messages for RabbitMQ、 Kubernetes、 OpenShift サービス)では、インテント作成から数分後に、より多くの同期イベントを明示的にトリガーする必要がある。 これらのイベントは、Key Migration Toolのsyncコマンドを使用してトリガーすることができます。
IBM Cloud サービスが使用する移行ロジック
IBM Cloud サービスが HPCS CRK の移行インテントを処理する場合、以下の手順を実行する:
-
アンラップ :サービスは、HPCSを呼び出して平文のDEKを取得することで、既存のラップされたDEK(WDEK)をアンラップする。
-
ラップ :DEKはターゲット Key Protect 専用CRKを使用してラップされ、新しいWDEKが生成される。
-
置き換える :このサービスは、HPCSに包まれたDEKを Key Protect Dedicatedに包まれたDEKに置き換える。
-
アソシエーション : Key Protect Dedicatedに新しいアソシエーションが作成され、ターゲットCRKとサービスリソースがリンクされる。
-
通知する :サービスはHPCSにリソースの移行が完了したことを通知し、HPCSは元の関連付けを自動的に削除する。
この処理は、HPCS CRKに関連する各サービスリソースによって独立して実行される。
マイグレーション進捗状況のモニタリング
いくつかのメカニズムを使って、移行の進捗状況を監視することができます:
- 関連付け
- HPCS CRKに関連するアソシエーションの数は減少し、州のアソシエーションが存在しない場合、理想的にはゼロになる。 Key Protect 専用CRKに関連するアソシエーションの数が増える。
- キー・マイグレーション・ツール(CRKM)
- ソースとターゲットの両方のCRKのアソシエーション・カウントを報告する。 ステータスの一括検査と再試行をサポート。
- 手動同期
- 同期イベントは、REST APIまたはKey Migration Toolを通じていつでも再トリガーすることができ、不完全な移行を再試行することができます。
については Event Streams マイグレーション・インテントの作成後、マイグレーションには最大1営業日かかる場合があります。 その他のサービスについては、4時間以内に移行が完了する見込みだ。
KUR(Key Usage Reporter)によるHPCS CRKの使用状況の確認
HPCS お客様 (CRK)を使用している IBM Cloud サービスの特定を支援するため、 IBM は、 Key Usage Reporter(KUR)ツールを 提供している。
KURは、 IBM Cloud のアカウントスキャンし、HPCSキーを参照するリソースのレポートを生成するコマンドラインツールである。 HPCSキーを使用しており、移行が必要と思われるサービスやリソースの特定に役立つ。
レポートはリソースをサービスごとにグループ化し、暗号化されたリソースと関連する鍵の CRN を含む。 この情報を以下の目的に活用できます:
- 主要な移行の候補となるサービスを特定する。
- アソシエーションとアクティビティ・トラッキング・データをクロスチェックする。
- 移行計画と検証のサポート
KURはまた、アクティビティ追跡監査ログファイルを処理し、HPCSの利用パターンを特定するのに役立つ CSV サマリーを作成することができます。
重要な考慮事項と限界
- 移行ツールはベストエフォート型で提供されるため、可能性のあるすべての使用パターンを検出できるとは限らない。
- 現在、すべての IBM Cloud サービスがマイグレーション・インテントをサポートしているわけではない。
- 一部のサービスまたはサービスの特定の部分(例えば、IKSおよびROKSの持続的なボリュームクレーム)は、特定の手続きを必要とし、マイグレーション・インテントでは完全にはカバーされない。 詳細については、次のセクションをご覧ください。
- HPCSを廃止する前に、すべてのHPCSの使用が停止していることを確認する責任があります。
移行シナリオ例
次のエンドツーエンドの例は、 Cloud Object Storage インスタンスで使用されている HPCS CRK を移行する方法を示しています。
開始点:
- HPCS CRK (
HPCS_key_1) は、 Cloud Object Storage インスタンス (COS_1) が使用する DEK を保護する。 - 目的は、
COS_1の代わりに、 Key Protect 専用CRK(KP_D_key_1)を、データを移動させることなく使用することである。
ステップ1:HPCS CRKの使用状況の確認
Key Usage Reporter(KUR) ツールを使用してアカウントスキャンし、どのサービスとリソースが HPCS_key_1 を使用しているかを特定します。 KURレポートと アクティビティ追跡イベントを 照合し、利用状況を確認する。
ステップ2: Key Protect 専用CRKの作成
Key Protect Dedicatedインスタンスに KP_D_key_1。 ターゲットCRKは、API、CLI、またはUIを通じて、 お客様キー・マテリアルの有無にかかわらず、生成またはインポートすることができます。
ステップ3:IAM認可ポリシーを設定する
Cloud Object Storage が Key Protect 専用インスタンス、キーリング、または KP_D_key_1 が存在する個々のキーにアクセスできるように、サービス間 IAM 認可ポリシーを作成する。 IAM ポリシーは、対象の Key Protect Dedicated インスタンスと同じアカウント定義する必要があります。 IBM Cloud Databases、 Messages for RabbitMQ、 Kubernetes、
OpenShift, などのサービスでは、IAMポリシーの作成時に委任された承認が有効になっていることを確認する。
移行に失敗するほとんどのケースは、IAM承認ポリシーが構成されていないか、または正しく構成されていないために発生します。
続行する前に、CRKM ツール authz-check コマンドを使用して、必要な IAM 認可ポリシーが適 用されていることを確認する。 authz-check コマンドは、各ソース HPCS CRK 上のアソシエーションを検査し、各登録サービスがターゲット Key Protect 専用 CRK にアクセスすることを許可する一致する IAM 認可ポリシーが存在するかどうかをチェックする。 各関連付けについて、ツールは、一致するポリシーが見つかったか、ポリシーが見つからないか、作成する必要があるポリシーのテンプレートとともに報告する。
移行インテントを作成する前にこのチェックを実行することで、移行に失敗する原因となる権限ギャップを特定し、修正することができます。 詳細は、 Key Migration Tool(CRKM) を参照。
ステップ 4: 移行インテントを作成する
キー・マイグレーション・ツール(CRKM)を 使用して、 HPCS_key_1 上に、ターゲットの CRK KP_D_key_1 を参照するマイグレーション・インテントを作成する。 CRKMツールは、ソースHPCS CRK CRNとターゲット Key Protect 専用CRK CRNのペアを含む
CSV ファイルを受け付けます。これにより、移行インテントを一括して作成することができます。
マイグレーション・インテントが作成されると、HPCSはマイグレーション要求について関連サービスに通知する同期イベントを発行する。
ステップ 5:同期を実行する
一部のサービス(例えば、 IBM Cloud Databases、 Messages for RabbitMQ、 Kubernetes、 OpenShift )では、インテント作成から数分後に、より多くの同期イベントを明示的にトリガーする必要がある。 これらのイベントをトリガーするには、CRKM ツールの同期コマンドを使用します。
syncコマンドはいつでも実行でき、不完全なマイグレーションを再試行できます。
手順 6:移行の進捗状況を監視する
CRKM ツール Status コマンドを使用して、移行の進捗状況を確認します。 このツールは、ソース HPCS CRK とターゲット Key Protect Dedicated CRK の両方の関連カウントをレポートします。 サービスが移行を完了すると
HPCS_key_1、協会の数は減少する。KP_D_key_1、協会の数が増える。
Event Streams の場合、移行には最大1営業日かかる場合があります。 その他のサービスについては、移行は4時間以内に終了する見込みだ。
キーマイグレーションツール(CRKM)について
鍵移行ツール(CRKM )はCLIツールであり、以下の操作をサポートする:
- ステータス全 CRK ペアのソース CRK とターゲット CRK の関連カウントを表示することで、移行の進捗状況を報告します。
- Authz-check :移行前に、登録された各サービスに必要なIAM認可ポリシーが適用されていることを確認する。 アクション可能なテンプレートを使用して、一致するポリシーと欠落しているポリシーを報告します。
- 作成します:移行元と移行先のCRK CRNペアの CSV ファイルから移行インテントを一括作成します。
- 同期 :同期イベントをトリガーし、移行インテントを処理するようサービスを促す。 不完全なマイグレーションを再試行するために複数回実行できる。
- 削除 :1つ以上のソースキーから移行意図を削除します。
CRKMツールはCRKの自動移行に必要で、ディスカバリーとレポーティングを行うKURツールと連動する。
標準キーの移行
HPCSの 標準鍵は、アプリケーションで直接使用されるAPIキー、パスワード、暗号化キーなどの秘密情報を格納する。 CRKと異なり、標準鍵はマイグレーション・インテントのワークフローを使用しない。 標準キーの移行には、HPCSからキー・マテリアルを取り出し、サポートされているサービスに再ビジョニングする必要がある。
標準キーの存在チェック
以下のbashスクリプトを使用して、各HPCSインスタンスで、すべての有効な標準キー 状態に ある標準キーの総数を数えます。
IBM Cloud CLIから IBM Cloud にログインしていることを確認してください。
# count the total number of Standard keys in all states
HPCS_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
HPCS_INSTANCE_ID=fadedbee-0000-0000-0000-1234567890ab
AUTH_HEADER="${AUTH_TOKEN:-$(jq -r .IAMToken ~/.bluemix/config.json)}"
header="$(curl -i -k -s --head \
"${HPCS_ADDR}/api/v2/keys?state=1,5&extractable=true" \
-H "authorization: ${AUTH_HEADER}" \
-H "bluemix-instance: ${HPCS_INSTANCE_ID}" \
-H "prefer: return=representation" \
| grep '^Key-Total:' \
| tr -d '\r')"
if [ -n "$header" ]; then
total="${header#Key-Total: }"
echo "Total number of Standard keys in all states: $total"
else
echo "Error: Key-Total header not found. Try logging into IBM Cloud again. Check endpoint, auth token, or permissions." >&2
fi
HPCS_ADDR と HPCS_INSTANCE_ID を各 HPCS インスタンスで有効な値に置き換える。 HPCSのインスタンスエンドポイントとインスタンスIDは、 IBM Cloud UIコンソールで特定のインスタンスについて確認できます。
出力は次の例のようになります。
Total number of Standard keys in all states: 4
出力が空行の場合は、 IBM Cloud CLIから IBM Cloud に再度ログインする。
すべてのHPCSインスタンスにゼロのStandard Keyが存在する場合、Standard Keyの移行は必要ない。
以下のスクリプトを使用して、破棄(5)状態の標準キーの数をチェックする。
# count the total number of Standard keys in Destroyed (5) state.
HPCS_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
HPCS_INSTANCE_ID=fadedbee-0000-0000-0000-1234567890ab
AUTH_HEADER="${AUTH_TOKEN:-$(jq -r .IAMToken ~/.bluemix/config.json)}"
header="$(curl -i -k -s --head \
"${HPCS_ADDR}/api/v2/keys?state=5&extractable=true" \
-H "authorization: ${AUTH_HEADER}" \
-H "bluemix-instance: ${HPCS_INSTANCE_ID}" \
-H "prefer: return=representation" \
| grep '^Key-Total:' \
| tr -d '\r')"
if [ -n "$header" ]; then
total="${header#Key-Total: }"
echo "Total number of Standard keys in Destroyed (5) state: $total"
else
echo "Error: Key-Total header not found. Try logging into IBM Cloud again. Check endpoint, auth token, or permissions." >&2
fi
すべての標準キーが破棄(5)(ソフト削除)状態にある場合、使用は保証されない。 IBM Cloud リソースやカスタム・アプリケーションは、まだそのキーを参照するかもしれない。 この場合、次に鍵素材を取り出そうとすると、操作は失敗すると予想される。
標準鍵は、Active(1)またはDestroyed(5)の状態でのみ存在できる。 その他の主要な状態は、CRKにのみ適用される。
HPCS 標準鍵の完全な CRN は、 IBM Cloud CLI kp keys コマンドで 取得できる。
以下の例では、標準キーの状態を示している:
export KP_TARGET_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.hs-crypto.appdomain.cloud
ibmcloud kp keys --instance-id fadedbee-0000-0000-0000-1234567890ab --crn --key-type standard-key --key-states active,destroyed --number-of-keys 5000
KP_TARGET_ADDR を各 HPCS インスタンスの有効な値に置き換える。 HPCS のインスタンス・エンドポイントは、特定のインスタンスの IBM Cloud UI コンソールで見つけることができます。
- このコマンドは一度に最大5000個の標準キーをリストアップできる。 すべての標準キーをリストアップするには、ページネーションが必要になるかもしれない。
HPCSの使用状況の確認 AIX
AIX システム( IBM Cloud またはオンプレミス)があり、スタンダード・キーが HPCS に存在する場合、 AIX ホストで以下のコマンドを実行し、これらのキーが使用中かどうかを確認する。 hdcryptmgr コマンドの出力にある TYPE フィールドは、HPCS 認証方式を示す。
keysvrmgr show -t hpcs
hdcryptmgr showlv <lvname> -v
hdcryptmgr showpv <pvname> -v
論理ボリュームまたは物理ボリュームが TYPE=hpcs を報告しない場合、 AIX システムは HPCS 標準キーをアクティブに使用していません。
AIX® 7.3 Technology Level (TL) 4 Service Pack (SP) 1 以降、 Key Protect Dedicated Server 認証方式は、非推奨の Hyper Protect Crypto Services (HPCS) 認証方式に取って代わります。 hdcryptmgrコマンドの -t オプションが更新され、hpcs値の代わりにkmsが有効な値として含まれるようになった。 hpcs オプションの値は、 Key Protect でも受け入れられる。 HPCSから Key Protect Serverへ移行するには、暗号化された論理ボリュームのトピックのHPCSから Key Protect Serverへの移行セクションを参照してください。
によるHPCS標準キーの使用状況の確認 Direct Link
Direct Link のドキュメントを参照。 Direct Link MACsec CAK および MD5 キーの HPCS から HPCS への移行 Secrets Manager
標準キーの移行
前述の Direct Link、 AIX 以外に標準キーが存在する場合は、以下の手順で移行する必要がある:
-
鍵情報を取得する : HPCS APIを 使用して、各標準鍵の平文の鍵素材を取得する。
-
キー・マテリアルを再プロビジョニングする :取得した鍵素材をサポートされているサービスに保存する。 これを行うには、次の方法があります:
- 新しい Key Protect 専用スタンダードキーにキー素材をインポートする。
- IBM Cloud Secrets Manager に秘密を保存する。これは一般的な秘密資料に対して推奨される解決策である。
-
アプリケーション参照の更新 :HPCS標準キーを参照するカスタムアプリケーション、サービス構成、またはIAMポリシーを更新します。 アプリケーションは、新しいサービス・エンドポイント、キーID、および Key Protect Dedicated または Secrets Manager の新しいキーへのアクセスを許可する必要な IAM ポリシーで更新されなければならない。
-
検証 :HPCS標準キーを廃止する前に、すべてのアプリケーションとサービスが新しいキーで正しく機能していることを確認する。
VMWareマイグレーションのためのKMIP
VMware HPCSのKMIPサポートは2026年12月31日に終了し、その後KMIP for VMware サービスは機能しなくなります。 Key Protect Dedicatedへの移行に関する詳しい手順は、 こちらに 掲載されています。
PKCS #11 ( GREP11 )
エンタープライズPKCS #11鍵は、PKCS #11またはPKCS #11インターフ ェースを通じて使用される。 GREP11 インターフェースを通じて使用される鍵は、 Key Protect Dedicated ではサポートされない。
この機能が使用されているかどうかを調べるには、HPCSのアクティビティトラッキングのログをチェックして、アクションフィールドが hs-crypto.ep11.use 、または hs-crypto.keystore で始まるエントリーを調べます。 これらのエントリが存在する場合、PKCS #11 ( GREP11 ) が使用されていることを示す。
GREP11/PKCS#11 移行ガイドを 参照してください。
ユニファイド・キー・オーケストレーター(UKO)
UKOが管理する鍵は、 Key Protect Dedicatedではサポートされない。
UKO移行ガイドを 参照してください。
Terraform
Terraform を Key Protect Dedicated で使用するには、環境変数 IBMCLOUD_KP_API_ENDPOINT に特定の Key Protect Dedicated インスタンスの public または private API エンドポイントを設定する必要がある。
新しい Key Protect Dedicated インスタンスのプロビジョニングは、 IBM Cloud Console UI と IBM Cloud CLI から利用できます。 Terraform による新しい Key Protect Dedicated インスタンスの作成はサポートされていません。
IBM Cloud CLI を使用したインスタンスのプロビジョニング
Hyper Protect Crypto Services インスタンスをプロビジョニングするプロセスは、 IBM Cloud CLI を使用して Key Protect 専用インスタンスをプロビジョニングするプロセスとは異なります。
IBM Cloud CLI を使用して Key Protect Dedicated インスタンスをプロビジョニングする 手順を 参照してください。
ルート鍵素材のセキュアなインポート
ルート鍵素材の安全なインポートは、 Key Protect Dedicatedではサポートされていません。
この機能が使用されているかどうかを調べるには、HPCSのアクティビティトラッキングのログをチェックして、アクションフィールドが hs-crypto.import-token.create または hs-crypto.import-token.read のエントリーを調べます。 これらのエントリが存在することは、ルート鍵素材の安全なインポートが使用されていることを示す。
Key Protect Dedicatedは、ルート鍵素材の通常のインポートをサポートし、鍵素材は HTTPS を使用して転送中に暗号化される。
マイグレーション後
Key Protect Dedicatedへの移行を完了した後、HPCSインスタンスがもはやアクティブに使用されていないことを確認し、HPCSのサービス終了日までにリスクを低減するための管理された措置を講じる必要があります。
HPCSがすでに使用されていないことを確認する
移行後、HPCSのアクティビティ追跡イベントを検査し、HPCSインスタンスに対して操作が実行されていないことを確認します。
利用可能な最大の保持ウィンドウにわたってイベントをレビューする。
アクティビティ追跡イベントが継続的な使用を示している場合:
- 利用を担当するサービスまたは作業負荷を特定する。
- マイグレーション・インテントを使用して、リソースがCRKマイグレーションをサポートしているかどうかを確認する。
- 先に進む前に、その用途の移行を完了するか、再試行する。
アクティビティ追跡イベントの欠如は、使用の不在を決定的に証明するものではない。 サービスやカスタム・アプリの中には、キーの使用頻度が低いものや、再起動、リストア、フェイルオーバーなどのライフサイクル・イベント時にのみキーを使用するものがある。
移行したHPCS CRKを徐々に無効にする
特定のHPCS CRKが不要になったと確信したら、それらのCRKを無効にすることができます。
削除する前にCRKを無効にすることを推奨する:
- 残りの暗号操作は、明確なエラーとともに即座に失敗する。
- 無効化されたキーは、予期せぬ依存関係が発見された場合、迅速に再有効化することができる。
- 検証中の安全なロールバックメカニズムが提供される。
推奨されるマイルストーンは、移行に成功したすべての HPCS CRK が無効状態にあることを確認することです。
Disabled状態のCRKはいつでも再有効化でき、永久に修復をブロックすることはない。
最終的なマイルストーンと廃止措置に関する考察
HPCSのCRKと標準キーの削除は技術的には可能です。 ただし、削除は慎重に行うこと:
- 削除された鍵は、削除後の限られた期間しか復元できない。
- リカバリーウィンドウの期限が切れると、削除は永久に続く。
- 時間が経過し、ワークロードが進化するにつれて、リカバリはますます困難になる。
これらの理由から、移行の一環としてHPCSキーを削除する必要はない。
保守的で推奨されるアプローチはこうだ:
- HPCSインスタンスとCRKは無効のままにしておく。
- 検証後に再度有効にしたり、変更したりしないでください。
このアプローチは、暗号の移行が正常に完了することを保証しながら、リスクを最小限に抑える。
お客様の責任
あなたには責任がある:
- すべてのHPCSの使用が停止したことを確認
- 移行後のアプリケーションとサービスの動作検証
HPCSがもはやどのような作業負荷からも必要とされないと確信できる場合にのみ、廃止作業を進める。