鍵の復元

鍵を削除すると、鍵の状態が「破棄」に変わります。 ただし、鍵に関する情報 (メタデータなど) はまだ表示可能であり、30 日以内であれば鍵をアクティブな状態に復元できます。 このように、鍵はまだ存在するものの、その鍵で暗号化されたデータへのアクセスに鍵を使用できなくなるので、鍵の削除は「ソフト削除」と見なされます。 このトピックでは、鍵の復元プロセスと、鍵の復元プロセスの制限について説明します。

テストおよび開発プロセスの一環として、キーを定期的に作成・削除することはごく一般的なことです。 これらの鍵は永久に削除されるのではなく、「ソフト削除」され、 破棄 状態に移行されます。つまり、鍵は、データの暗号化や暗号化解除などの鍵アクションの一部として使用できません。 鍵データの表示だけは可能であり、鍵の削除が誤操作であった場合には、鍵をアクティブ状態に復元できます。

Key Protect で作成されたものであれ、インポートされたものであれ、またルートキーであれ標準キーであれ、すべてのキーを復元することができます。

この中間期間 (鍵が削除されてもまだ復元可能な期間) は 30 日間続きます。 30 日を過ぎて 90 日が経つまでは、まだ鍵のデータにアクセスできます。ただし、鍵はもう復元できません。 90 日を過ぎると、鍵は自動パージの対象になります。90 日を過ぎたいずれかの時点でパージされます。 パージされた鍵は、破棄された鍵とは異なり、永久に削除されています。

キーの削除時刻と、そのキーで実行可能な操作を、各キーに紐づけます。
キーを削除してからの時間 キー状態の名前 鍵のデータを表示/取得できるか。 リストア可能か。
1 日から 30 日 破棄済み ある ある
30 日から 90 日 破棄済み ある いいえ
90 日以降 パージされる* いいえ いいえ

*注: パージされた鍵は完全にアクセス不能であり、文字どおり「破棄」されています。厳密には「パージ」という鍵の状態はありません。 パージされた鍵は完全に存在しなくなっているので、「状態」というものも存在しません。 ただし、存在しないことも鍵のライフサイクルの一部であるため、「パージ」を状態の 1 つと考えると役に立つ場合があります。 90 日を待たずに鍵をパージする必要がある場合は、特殊な鍵パージ役割が必要です。 詳しくは、鍵の削除を参照してください。

鍵の状態について詳しくは、暗号鍵のライフサイクルのモニターを参照してください。

Key Protect、キーを持つインスタンスは削除できないため、インスタンス自体を削除する前に、インスタンス内のキーをすべて削除する必要がある。 ただし、鍵が「ソフト」削除されるため、ユーザーが鍵を削除し、インスタンスを削除した直後に削除する可能性があります。 このインスタンスの削除により、鍵の削除が復元に適格となるほど最近のものであっても、鍵も完全に削除されます。 このため、 Key Protect、インスタンスが削除された後、短時間であればインスタンスを取り戻すことができる。 インスタンスを再利用できるかどうかを確認するには、 CLI を使用した再利用されたリソースのリスト表示 を参照してください。 リソース (この場合はインスタンス) を再利用するコマンドについては、 CLI を使用したリソースの復元 を確認してください。

鍵を復元できるかどうかを確認する方法

破棄された鍵が復元可能かどうかを確認するには、以下のようにします。

  1. Key Protect コンソールで IBM Cloud インスタンスにナビゲートします。
  2. 左側のナビゲーションで、**「鍵」**画面が表示されていることを確認します。
  3. 復元する鍵を見つけます。 注:復元できるのは、「 削除済み 」状態のキーのみです。
  4. Last updated列の日付を確認します。 次に、上記の表 1 を確認します。 鍵の削除が行われたのが 30 日以内であれば、復元できます。 30 日を過ぎている場合は、鍵を復元できません。 復元できなくなった鍵を復元しようとすると、鍵の復元の試行時にエラーを受け取ります。

コンソールを使用した削除された鍵の復元

グラフィカル・インターフェースを使用して鍵を復元する場合は、IBM Cloud コンソールを使用できます。

サービスに既存の鍵をインポートし、鍵を削除した後、 以下の手順を実行して鍵を復元します。

  1. IBM Cloud コンソールにログインしてください

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

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

  4. **「鍵」**をクリックして鍵パネルを開き、復元する破棄状態の鍵を見つけます。 これを実現する方法の一つは、フィルターパネルを開き、「 キーの状態 」ドロップダウンリストから「 削除済み 」の状態を選択することです。 これによって、削除された鍵のみに結果が限定されます。

  5. 「⋯」アイコンをクリックして、復元する鍵に関するオプションのリストを開きます。 なお、キーが削除され「 破棄済み 」状態になった場合は、復元を試みる前に30秒待つ必要があります。

  6. [ 復元 ] ボタンをクリックして、復元サイドパネルを開きます。

  7. 復元 」ボタンをクリックしてください。

  8. 更新された**「鍵」**テーブルで、対象の鍵が復元されたことを確認します。

API を使用した削除された鍵の復元

次のエンドポイントに対して POST 呼び出しを行うことによって、以前にインポートされた鍵を復元します。

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/restore
  1. サービス内で鍵の処理を行うために、認証資格情報を取得します

    鍵を復元するには、インスタンスまたは鍵に対する_マネージャー_の役割が必要です。 IAM 役割と Key Protect サービスでのアクションの対応関係について詳しくは、サービス・アクセスの役割を参照してください。

  2. 復元する鍵の ID を取得します。

    指定したキーのIDを取得するには、 「keys」リクエストを実行するか、 Key Protect ダッシュボードでキーを確認してください。 詳しくは、鍵のリストの表示を参照してください。

  3. 次の curl コマンドを実行して、鍵を復元し、その鍵に関連付けられているデータへのアクセス権限を再取得します。 鍵を削除してから、その鍵を復元できるようになるまでに 30 秒待つ必要があることに注意してください。

    有効期限の日付が現在の日付または過去の日付である鍵を復元することはできません。

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/restore" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "x-kms-key-ring: <key_ring_ID>"
    

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

変数 説明
リージョン 必須。 Key Protect インスタンスが
        存在している地理的領域を表す、
        地域の省略形
        (例: `us-south` または
        `eu-gb`)。 詳しくは、[地域のサービス・エンドポイント](/docs/key-protect?topic=key-protect-regions#service-endpoints)を参照してください。 |

| keyID_or_alias | 必須。 復元する対象の鍵の固有 ID または別名。 | | IAM_token | 必須。 IBM Cloud アクセス・トークン。 IAM 値を含む、Bearer トークンの全コンテンツを curl 要求に組み込みます。 詳しくは、アクセス・トークンの取得を参照してください。 | | instance_ID | 必須。 Key Protect サービス・インスタンスに割り当てられた固有 ID。 詳しくは、インスタンス ID の取得を参照してください。 | | key_ring_ID | オプション。 鍵が含まれている鍵リングの固有 ID。 指定しない場合は、Key Protect が、指定されたインスタンスに関連付けられているすべての鍵リングで鍵を検索します。 そのため、鍵リング ID を指定して、より最適化された要求を行うことをお勧めします。 注: x-kms-key-ring ヘッダーを指定せずに作成した鍵の鍵リング ID は、default になります。 詳しくは、鍵のグループ化を参照してください。 |

A successful restore request returns an HTTP `201 Created` response, which indicates that the key was restored to the _Active_ key state and is now available for encrypt and decrypt operations. All attributes and policies that were previously associated with the key are also restored.

You will have access to data associated with the key as soon as the key is restored.
{: note}

オプション: 鍵の復元の確認

以下のコマンドを実行して鍵の詳細を取得することで、鍵が復元されたことを確認できます。

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/metadata" \
    -H "accept: application/vnd.ibm.kms.key+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

ここで、<keyID_or_alias> は鍵の ID または別名、<instance_ID> はインスタンスの名前、<IAM_token> は IAM トークンです。

応答本文の state フィールドを確認して、鍵が_アクティブ_鍵の状態に遷移したことを確認します。 以下の JSON 出力は、_アクティブ_鍵のメタデータの詳細の例を示しています。

{
    "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": "...",
            "description": "...",
            "tags": [
                "..."
            ],
            "state": 1,
            "extractable": false,
            "crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
            "imported": true,
            "creationDate": "2020-03-10T20:41:27Z",
            "createdBy": "...",
            "algorithmType": "Deprecated",
            "algorithmMetadata": {
                "bitLength": "128",
                "mode": "Deprecated"
            },
            "algorithmBitSize": 128,
            "algorithmMode": "Deprecated",
            "lastUpdateDate": "2020-03-16T20:41:27Z",
            "keyVersion": {
                "id": "30372f20-d9f1-40b3-b486-a709e1932c9c",
                "creationDate": "2020-03-12T03:37:32Z"
            },
            "dualAuthDelete": {
                "enabled": false
            },
            "deleted": false
        }
    ]
}

_アクティブ_鍵の状態の整数マッピングは 1 です。