IBM Cloud Docs
ルート鍵の作成

ルート鍵の作成

使用できますIBM Cloud®Hyper Protect Crypto Services作成する ルートキーA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service.UIを使用するか、プログラムでHyper Protect Crypto Servicesキー管理サービス API。

ルート鍵は、クラウド内の暗号化データのセキュリティーを保護するために使用される対称鍵ラップ鍵です。 ルート鍵について詳しくは、エンベロープ暗号化を参照してください。

UI でルート キーを作成する

サービスのインスタンスを作成したら UI を使用してルート キーを作成するには、次の手順を実行します。

Hyper Protect Crypto Services インスタンスの二重許可設定を有効にする場合、サービスに追加するどの鍵についても、鍵の削除には 2 人のユーザーからの許可が必要となることに留意してください。

  1. UI にログインします

  2. 「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。

  3. IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。

  4. 新しい鍵を作成するには、サイド・メニューの**「KMS 鍵 (KMS keys)」**タブを選択します。

  5. **「鍵」テーブルで、「鍵の追加」をクリックし、「鍵の作成」**を選択します。

    キーの詳細を以下のように指定します。

    表 1. キーを作成するための設定について説明します。
    設定 説明
    キー・タイプ Hyper Protect Crypto Services で管理する鍵のタイプ。 キー・タイプのリストから、**「ルート・キー」**を選択します。
    キーの名前 鍵を簡単に識別するための、人間が理解できる固有の名前。 長さは、2 文字から 90 文字である必要があります。 プライバシーを保護するため、鍵の名前には、個人の名前や場所などの個人情報 (PII) を含めないように注意してください。
    キー・エイリアス (オプション) 鍵を認識しやすくするために鍵に割り当てる (人間が理解できる) 1 つ以上の固有の別名。 別名の長さは 2 文字から 90 文字です。 最大 5 つの別名を (コンマ区切りにして) 鍵に設定することができます。

    注: 各エイリアスは英数字で、大文字と小文字が区別され、スペースやダッシュ (-) またはアンダースコア (_) 以外の特殊文字を含めることはできません。エイリアスはバージョン 4 UUID にすることはできず、Hyper Protect Crypto Services予約名:allowed_ipkeykeysmetadatapolicypoliciesregistrationregistrationsringringsrotatewrapunwraprewrapversionversions

    鍵リング ID 既存の鍵リングのリストから鍵リングを選択します。 鍵リングを割り当てない場合は、default の鍵リングに鍵が追加されます。 鍵リングについて詳しくは、鍵リングの管理を参照してください。
    有効期限の日付 (オプション) 鍵の有効期限が切れる日時を設定します。 有効期限が切れると、キーは非アクティブ状態に移行します。 鍵の状態について詳しくは、暗号鍵のライフサイクルのモニターを参照してください。
    説明 (オプション) 鍵の詳しい説明を追加します。 説明の長さは 2 文字から 240 文字までです。
  6. 鍵の詳細の入力が完了したら、**「鍵の作成」**をクリックして確認します。

サービス内で作成される鍵は、AES-CBC アルゴリズムによってサポートされている、対称 256 ビット鍵です。 セキュリティ強化のため、キーはFIPS 140-2レベル4認定によって生成されます。ハードウェア セキュリティ モジュール(HSM)A physical appliance that provides on-demand encryption, key management, and key storage as a managed service.安全な場所にあるIBM Cloudデータセンター。

API を使用したルート鍵の作成

以下のエンドポイントへの POST 呼び出しを行うことにより、ルート鍵を作成します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
  1. サービス内で鍵の処理を行うために、サービス資格情報および認証資格情報を取得します

  2. 電話する Hyper Protect Crypto Servicesキー管理サービス API以下 curl 指示。

    curl -X POST \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys" \
      -H "authorization: Bearer <IAM_token>" \
      -H "bluemix-instance: <instance_ID>" \
      -H "content-type: application/vnd.ibm.kms.key+json" \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H "correlation-id: <correlation_ID>" \
      -d '{
              "metadata": {
                  "collectionType": "application/vnd.ibm.kms.key+json",
                  "collectionTotal": 1
              },
              "resources": [
                  {
                      "type": "application/vnd.ibm.kms.key+json",
                       "name": "<key_name>",
                       "aliases": [alias_list],
                       "description": "<key_description>",
                       "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
                       "extractable": <key_type>
                  }
              ]
          }'
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 2. API を使用してルート鍵を追加するために必要な変数について説明します。
    変数 説明
    region 必須。 Hyper Protect Crypto Services サービス・インスタンスを置く地理的領域を表す、地域の省略形 (us-southau-syd など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    key_ring_ID オプション。 鍵を割り当てるターゲット鍵リングの固有 ID。 指定しない場合は、ヘッダーは自動的に default そして、鍵は指定されたデフォルトの鍵リングに属しているHyper Protect Crypto Services実例。

    詳しくは、鍵リングの管理を参照してください。

    correlation_ID トランザクションを追跡し、相互に関連付けるために使用される固有 ID。
    key_name 必須。 鍵を簡単に識別するための、人間が理解できる固有の名前。

    重要: プライバシー保護のため、鍵のメタデータとして個人データを保管しないでください。

    alias_list オプション。 鍵に割り当てる (人間が理解できる) 1 つ以上の固有の別名。

    重要: プライバシーを保護するために、個人データをキーのメタデータとして保存しないでください。

    各エイリアスは英数字で、大文字と小文字が区別され、スペースやダッシュ(-)またはアンダースコア(_)以外の特殊文字を含めることはできません。エイリアスはバージョン4のUUIDにすることはできず、Hyper Protect Crypto Services予約名:allowed_ipkeykeysmetadatapolicypoliciesregistrationregistrationsringringsrotatewrapunwraprewrapversionversions エイリアスのサイズは 2 〜 90 文字です。

    key_description オプション: 鍵の詳しい説明。

    重要: プライバシー保護のため、鍵のメタデータとして個人データを保管しないでください。

    YYYY-MM-DD

    HH:MM:SS.SS

    オプション: システム内の鍵の有効期限が切れる日時 (RFC 3339 形式)。 もし、expirationDate 属性が省略されている場合、キーは期限切れになりません。
    key_type 鍵の素材をサービスの外に出すことができるかどうかを決定するブール値。

    extractable 属性を false に設定すると、wrap 操作または unwrap 操作に使用できるルート鍵がサービスによって作成されます。

    個人データの機密性を保護するため、サービスに鍵を追加するときに、個人の名前や場所などの個人情報 (PII) を入力しないようにしてください。 PIIのその他の例については、セクションを参照してください。2.2の NIST 特別出版物 800-122

    要求で expirationDate を設定した場合は、その有効期限を過ぎてから 1 時間以内に、鍵が非アクティブ状態に変わります。

    成功した POST /v2/keys 応答は、鍵の ID 値を他のメタデータと共に返します。 この ID はキーに割り当てられた固有 ID であり、今後の Hyper Protect Crypto Services キー管理サービス API の呼び出しに使用されます。

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "type": "application/vnd.ibm.kms.key+json",
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "name": "test-root-key",
                "aliases": [
                    "alias-1",
                    "alias-2"
                  ],
                "description": "A test root key",
                "state": 1,
                "extractable": false,
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
                "imported": false,
                "creationDate": "2020-03-12T03:37:32Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "256",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 256,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-12T03:37:32Z",
                "keyVersion": {
                    "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                    "creationDate": "2020-03-12T03:37:32Z"
                },
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": false
            }
        ]
    }
    

    応答パラメータの詳細な説明については、Hyper Protect Crypto ServicesREST API リファレンス ドキュメント

  3. オプション: 次の呼び出しを実行して Hyper Protect Crypto Services サービス・インスタンス内の鍵を表示し、鍵が作成されたことを確認します。

    curl -X GET \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
      -H 'accept: application/vnd.ibm.collection+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'correlation-id: <correlation_ID>' \
    

サービスでルート鍵を作成した後に、その鍵が Hyper Protect Crypto Services の境界から出ることはありません。鍵の素材を取得することもできません。

次の作業