ランディング・ゾーンのデプロイ可能アーキテクチャーでの鍵管理のオーバーライド

ランディング・ゾーンのデプロイ可能なアーキテクチャーは、 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-keyslz-atracker-keyslz-roks-key、および slz-vsi-volume-key という名前の鍵を作成します。

  1. 以下の 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"
      }
    }
    
  2. 「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。

既存の KMS での鍵の作成

このオーバーライド例では、 test-kms という既存の IBM Key Protect インスタンスを使用します。 use_datatrue に設定することで、既存のインスタンスを使用できます。 この例の残りの部分では、既存のインスタンス内の slz-slz-ring という名前の鍵リングに 4 つの鍵を作成します。

Key Protectの代わりに Hyper Protect Crypto Services を使用するには、 "use_data": true ではなく "use_hs_crypto": true を渡します。

  1. 以下の 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
      }
    }
    
  2. 「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。

KMS を使用せずに既存の鍵を使用

既存の KMS インスタンスをプルせずに既存の鍵を使用するには、鍵の CRN を含めます。 CRN は、デプロイ可能なアーキテクチャーをデプロイしているアカウント内、または別のアカウント内の鍵を参照できます。 既存のキーの属性は、 name および existing_key_crn です。 既存の鍵 CRN を使用する場合は、 block-storage および cloud-object-storage が外部アカウント内の KMS にアクセスできるようにする認証ポリシーが必要です。 詳しくは、 許可を使用したサービス間のアクセス権限の付与 を参照してください。

デプロイ可能なアーキテクチャーで KMS を作成しない場合は、必ず key_management.name および key_management.resource_group を省略してください。

  1. 以下の 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"
          }
        ]
      }
    }
    
  2. 「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。

既存の鍵を使用し、さらに鍵を作成する

この例では、鍵の作成と既存の鍵の使用の両方を行います。 test-kms という Key Protect インスタンスは、 slz-slz-keyslz-atracker-key、および slz-roks-key という 3 つのキーを使用して作成されます。 さらに、既存の slz-vsi-volume-key キーが使用されます。

この例では、KMS インスタンスを使用せずに鍵をプルするために、既存の鍵が CRN によって識別されます。 あるいは、 「Create keys in an existing KMS」 の例のように "use_data": true を設定することもできます。 既存の鍵 CRN を使用する場合は、 block-storagecloud-object-storage、および secrets-manager が外部アカウント内の KMS にアクセスできるようにする認証ポリシーが必要です。 詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。

  1. 以下の 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"
      }
    }
    
  2. 「プロジェクト構成の編集」 セクションの手順に従って、デプロイ可能なアーキテクチャーを変更します。

プロジェクト構成の編集

デプロイ可能なアーキテクチャーの構成をオーバーライドするには、以下のステップをいずれかの例と共に使用します。

  1. JSON の例をコピーします。 必要に応じて変更します。

  2. デプロイ可能アーキテクチャーの override_json_string 入力変数に JSON を追加します。

    1. 「プロジェクト」 ページに移動し、プロジェクトを選択します。
    2. 「構成」 タブに移動し、デプロイ可能なアーキテクチャー構成を選択します。
    3. 「編集」 をクリックします。
    4. 「構成」 セクションで、 「オプション」 パネルをクリックします。
    5. override_json_string を見つけて、 「JSON の編集」 をクリックします。
    6. 前にコピーしたこの JSON を貼り付け、 「保存」 をクリックします。
  3. 変更を検証して承認します。