ランディング・ゾーンのデプロイ可能アーキテクチャーでの鍵管理のオーバーライド
ランディング・ゾーンのデプロイ可能なアーキテクチャーは、 IBM Key Protect または Hyper Protect Crypto Servicesを統合することで、鍵管理機能を提供します。 ほとんどの入力では不可能な、より高度な変更を鍵管理に加えるには、オーバーライド入力を使用します。
値をオーバーライドするには、オーバーライド入力変数で JSON key_management オブジェクトを渡します。 プロジェクトまたは IBM Cloud Schematicsを使用したデプロイメントの場合、 override_json_string 入力に値が追加されます。 IBM Key Protect と Hyper Protect Crypto Services の両方が、 ランディング・ゾーンのデプロイ可能なアーキテクチャー でサポートされています。
ランディング・ゾーン構成ツール を使用して、デプロイ可能なアーキテクチャーをカスタマイズすることもできます。
鍵管理オーバーライドの例
これらの例では、デプロイ可能なアーキテクチャーに鍵管理サービス (KMS) を組み込むための一般的なユース・ケースをいくつか示します。
ランディング・ゾーンのデプロイ可能アーキテクチャーでサポートされる鍵管理属性の完全なリストについては、 GitHubの terraform-ibm-landing-zone リポジトリーの 「入力」セクション にある key_management オブジェクトを参照してください。
Key Protect インスタンスとキーを作成します。
この例では、デフォルト構成について説明します。オーバーライド値は必要ありません。 ただし、この例では、他の入力変数 (キー名など) では使用できない値をオーバーライドできることを示しています。 このオーバーライド例では、test-kms という名前の IBM Key Protect のインスタンスを作成し、 test-kms インスタンス内に slz-slz-key、 slz-atracker-key、
slz-roks-key、および slz-vsi-volume-key という名前の鍵を作成します。
-
以下の JSON をコピーします。
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-vsi-volume-key", "root_key": true } ], "name": "test-kms", "resource_group": "testrg" } } -
「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。
既存の KMS での鍵の作成
このオーバーライド例では、 test-kms という既存の IBM Key Protect インスタンスを使用します。 use_data を true に設定することで、既存のインスタンスを使用できます。 この例の残りの部分では、既存のインスタンス内の slz-slz-ring という名前の鍵リングに 4 つの鍵を作成します。
Key Protectの代わりに Hyper Protect Crypto Services を使用するには、 "use_data": true ではなく "use_hs_crypto": true を渡します。
-
以下の JSON をコピーします。
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-vsi-volume-key", "root_key": true } ], "name": "test-kms", "resource_group": "testrg", "use_data": true } } -
「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。
KMS を使用せずに既存の鍵を使用
既存の KMS インスタンスをプルせずに既存の鍵を使用するには、鍵の CRN を含めます。 CRN は、デプロイ可能なアーキテクチャーをデプロイしているアカウント内、または別のアカウント内の鍵を参照できます。 既存のキーの属性は、 name および existing_key_crn です。 既存の鍵 CRN を使用する場合は、 block-storage および cloud-object-storage が外部アカウント内の KMS にアクセスできるようにする認証ポリシーが必要です。 詳しくは、 許可を使用したサービス間のアクセス権限の付与 を参照してください。
デプロイ可能なアーキテクチャーで KMS を作成しない場合は、必ず key_management.name および key_management.resource_group を省略してください。
-
以下の JSON をコピーします。
{ "key_management": { "keys": [ { "name": "slz-slz-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:6128229e-1bbb-4c25-827c-c97f077fb585" }, { "name": "slz-atracker-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:9157cce8-3c1a-42be-b67f-0103426bc147" }, { "name": "slz-roks-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:7ccfb2a6-4d7d-4e85-af35-9548cda719d0:key:682c774b-c781-4bbb-b3b7-3ddf1831ab2f" }, { "name": "slz-vsi-volume-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3" } ] } } -
「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。
既存の鍵を使用し、さらに鍵を作成する
この例では、鍵の作成と既存の鍵の使用の両方を行います。 test-kms という Key Protect インスタンスは、 slz-slz-key、 slz-atracker-key、および slz-roks-key という 3 つのキーを使用して作成されます。 さらに、既存の slz-vsi-volume-key キーが使用されます。
この例では、KMS インスタンスを使用せずに鍵をプルするために、既存の鍵が CRN によって識別されます。 あるいは、 「Create keys in an existing KMS」 の例のように "use_data": true を設定することもできます。 既存の鍵 CRN を使用する場合は、 block-storage、 cloud-object-storage、および
secrets-manager が外部アカウント内の KMS にアクセスできるようにする認証ポリシーが必要です。 詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。
-
以下の JSON をコピーします。
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "name": "slz-vsi-volume-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3" } ], "name": "test-kms", "resource_group": "testrg" } } -
「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。
プロジェクト構成の編集
デプロイ可能なアーキテクチャーの構成をオーバーライドするには、以下のステップをいずれかの例と共に使用します。
-
JSON の例をコピーします。 必要に応じて変更します。
-
デプロイ可能アーキテクチャーの override_json_string 入力変数に JSON を追加します。
- 「プロジェクト」 ページに移動し、プロジェクトを選択します。
- 「構成」 タブに移動し、デプロイ可能なアーキテクチャー構成を選択します。
- 「編集」 をクリックします。
- 「構成」 セクションで、 「オプション」 パネルをクリックします。
- override_json_string を見つけて、 「JSON の編集」 をクリックします。
- 前にコピーしたこの JSON を貼り付け、 「保存」 をクリックします。
-
変更を検証して承認します。