停用根金鑰

您可以使用 IBM Cloud® Hyper Protect Crypto Services 來停用或啟用根金鑰,並暫時撤銷對雲端上金鑰相關聯資料的存取權。

身為管理者,如果您懷疑資料可能暴露、危害或侵害安全,則可能需要暫時停用根金鑰。 當您停用根金鑰時,會暫停加密及解密作業。 確認安全風險不再處於作用中之後,您可以啟用已停用的根金鑰來還原對資料的存取權。

如果您使用與 Hyper Protect Crypto Services整合的雲端服務,則在停用根金鑰之後可能無法存取您的資料。 若要判定 整合服務 是否支援透過停用 Hyper Protect Crypto Services 根金鑰來撤銷資料存取權,請參閱服務文件。

當您停用根金鑰時,金鑰會移至 暫停狀態,且無法再使用它來以加密方式保護資料。

當您啟用先前已停用的根金鑰時,金鑰會從「已暫停」移至「作用中」金鑰狀態。 此動作會還原金鑰的加密及解密作業。

在停用根金鑰之後,您必須等待 30 秒,才能重新啟用它。

對於支援撤銷已停用之根金鑰存取權的整合式雲端服務,該服務可能需要長達 4 小時才能撤銷或還原根金鑰相關聯資料的存取權。 撤銷或還原相關聯資料的存取權之後,對應的啟用事件會顯示在 Activity Tracker Web 使用者介面中。

使用使用者介面停用及啟用根金鑰

如果您偏好使用圖形介面來啟用或停用根金鑰,則可以使用使用者介面。

停用根金鑰

在建立金鑰或將現有金鑰匯入至服務之後,請完成下列步驟來停用金鑰:

  1. 登入使用者介面
  2. 移至 功能表 > 資源清單,以檢視資源清單。
  3. 從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。
  4. 在「KMS 金鑰」頁面上,使用 金鑰 表格來瀏覽服務實例中的金鑰。
  5. 按一下 動作 圖示 「動作」圖示,以開啟您要停用之按鍵的選項清單。
  6. 從選項功能表中,按一下 停用金鑰,輸入金鑰名稱以確認要停用的金鑰,然後按一下 停用金鑰

停用金鑰之後,金鑰的 狀態 會移至 金鑰 表格中的 Suspended

啟用根金鑰

如果您要重新啟用 已停用 的根金鑰,請完成下列步驟:

在停用根金鑰之後,您必須等待 30 秒,才能重新啟用它。

  1. 登入使用者介面
  2. 移至 功能表 > 資源清單,以檢視資源清單。
  3. 從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。
  4. KMS 金鑰 頁面上,使用 金鑰 表格來瀏覽服務中的金鑰。
  5. 按一下 動作 圖示 「動作」圖示,以開啟您要啟用之按鍵的選項清單。
  6. 從選項功能表中,按一下 啟用按鍵

啟用金鑰之後,金鑰的 狀態 會傳送至 金鑰 表格中的 Active

使用 API 停用及啟用根金鑰

停用根金鑰

當您停用根金鑰時,金鑰會移至 暫停狀態,且無法再用來加密資料。

對於支援撤銷已停用根金鑰存取權的整合雲端服務,該服務可能需要長達 4 小時才能撤銷根金鑰相關聯資料的存取權。 撤銷對相關聯資料的存取權之後,對應的停用事件會顯示在 Activity Tracker Web 使用者介面中。

您可以對下列端點發出 POST 呼叫,以停用處於「作用中」金鑰狀態的根金鑰。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/disable
  1. 擷取鑑別認證以使用服務中的金鑰

    若要停用根金鑰,您必須獲指派實例或金鑰的 管理員 服務存取角色。 若要瞭解 IAM 角色如何對映至 Hyper Protect Crypto Services 服務動作,請參閱 服務存取角色

  2. 擷取金鑰管理服務 API 端點 URL。

    您可以透過 概觀 > Connect > 金鑰管理端點 URL,從已佈建的服務實例儀表板取得 API 端點。 或者,您可以使用 API 呼叫來動態 擷取 API 端點 URL。 根據您的需要選取公開或私密金鑰管理端點 URL。

  3. 擷取您要停用之根金鑰的 ID。

    您可以透過提出 列出金鑰 API 要求,或在使用者介面中檢視金鑰,來擷取指定金鑰的 ID。

  4. 透過發出下列 API 呼叫,停用根金鑰並暫停加密及解密作業。

    curl -X POST \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/disable" \
      -H "authorization: Bearer <IAM_token>" \
      -H "bluemix-instance: <instance_ID>" \
      -H "x-kms-key-ring: <key_ring_ID>"
    

    根據下表取代範例要求中的變數。

    表 1. 說明使用 Hyper Protect Crypto Services API 停用根金鑰所需的變數
    變數 說明
    region 必要。 代表 Hyper Protect Crypto Services 服務實例所在地理區域的區域縮寫,例如 us-southeu-de。 如需相關資訊,請參閱地區服務端點
    port 必要。 API 端點的埠號。
    key_ID 必要。 您要停用之根金鑰的唯一 ID。
    IAM_token 必要。 您的 IBM Cloud 存取記號。 請在 cURL 要求中包含 IAM 記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號
    instance_ID 必要。 指派給您 Hyper Protect Crypto Services 服務實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID
    key_ring_ID 選用。 金鑰所屬金鑰環的唯一 ID。 如果未指定,Hyper Protect Crypto Services 將在與指定實例相關聯的每個金鑰環中搜尋金鑰。 因此,建議為更最佳化的要求指定金鑰環 ID。

    附註: 在沒有 x-kms-key-ring 標頭的情況下建立之金鑰的金鑰環 ID 為: 預設值。 如需相關資訊,請參閱 管理金鑰環

    成功的停用要求會傳回 HTTP 204 No Content 回應,指出已針對加密及解密作業停用根金鑰。

  5. 選用項目: 擷取金鑰的相關詳細資料,以驗證已停用根金鑰。

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

    檢閱回應內文中的 state 欄位,以驗證金鑰已移至「已暫停」金鑰狀態。 下列 JSON 輸出顯示已停用根金鑰的 meta 資料詳細資料。

    「暫停」索引鍵狀態的整數對映是 2。 「主要狀態」是以 NIST SP 800-57 為基礎。

    {
        "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": 2,
                "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": true,
                "creationDate": "2020-03-10T20:41:27Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "128",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 128,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-16T20:41:27Z",
                "keyVersion": {
                    "id": "30372f20-d9f1-40b3-b486-a709e1932c9c",
                    "creationDate": "2020-03-12T03:37:32Z"
                },
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": false
            }
        ]
    }
    

啟用已停用的根金鑰

當您啟用先前已停用的根金鑰時,金鑰會從「已暫停」移至「作用中」金鑰狀態。 此動作會還原金鑰的加密及解密作業。

對於支援撤銷已停用根金鑰存取權的整合雲端服務,該服務可能需要長達 4 小時才能還原根金鑰相關聯資料的存取權。 還原對相關聯資料的存取權之後,對應的啟用事件會顯示在 Activity Tracker Web 使用者介面中。

您可以對下列端點發出 POST 呼叫,以啟用處於「已暫停」金鑰狀態的根金鑰。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/enable
  1. 擷取鑑別認證以使用服務中的金鑰

    若要啟用根金鑰,您必須獲指派實例或金鑰的 管理員 服務存取角色。 若要瞭解 IAM 角色如何對映至 Hyper Protect Crypto Services 服務動作,請參閱 服務存取角色

  2. 擷取金鑰管理服務 API 端點 URL。

    您可以按一下 管理 > 金鑰管理端點 URL,從已佈建的服務實例儀表板取得 API 端點,也可以使用 API 呼叫來動態 擷取 API 端點 URL。 根據您的需要選取公開或私密金鑰管理端點 URL。

  3. 擷取您要啟用的已停用根金鑰的 ID。

    您可以擷取指定金鑰的 ID,方法是提出 列出金鑰 API 要求,或在 Hyper Protect Crypto Services 儀表板中檢視金鑰。

  4. 透過發出下列 API 呼叫,啟用根金鑰並還原加密及解密作業。

    在停用根金鑰之後,您必須等待 30 秒,才能重新啟用它。

    curl -X POST \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/enable" \
      -H "authorization: Bearer <IAM_token>" \
      -H "bluemix-instance: <instance_ID>" \
      -H "x-kms-key-ring: <key_ring_ID>"
    

    根據下表取代範例要求中的變數。

    表 2. 說明使用 Hyper Protect Crypto Services API 啟用根金鑰所需的變數
    變數 說明
    region 必要。 代表 Hyper Protect Crypto Services 服務實例所在地理區域的區域縮寫,例如 us-southeu-de。 如需相關資訊,請參閱地區服務端點
    port 必要。 API 端點的埠號。
    key_ID 必要。 您要啟用之根金鑰的唯一 ID。
    IAM_token 必要。 您的 IBM Cloud 存取記號。 請在 cURL 要求中包含 IAM 記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號
    instance_ID 必要。 指派給您 Hyper Protect Crypto Services 服務實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID
    key_ring_ID 選用。 金鑰所屬金鑰環的唯一 ID。 如果未指定,Hyper Protect Crypto Services 將在與指定實例相關聯的每個金鑰環中搜尋金鑰。 因此,建議為更最佳化的要求指定金鑰環 ID。

    附註: 在沒有 x-kms-key-ring 標頭的情況下建立之金鑰的金鑰環 ID 為: 預設值。 如需相關資訊,請參閱 管理金鑰環

    成功啟用要求會傳回 HTTP 204 No Content 回應,指出已恢復用於加密及解密作業的根金鑰。

  5. 選用項目: 擷取金鑰的相關詳細資料,以驗證已啟用根金鑰。

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

    檢閱回應內文中的 state 欄位,以驗證根金鑰已移至「作用中」金鑰狀態。 下列 JSON 輸出顯示作用中金鑰的 meta 資料詳細資料。

    「作用中」索引鍵狀態的整數對映是 1。 「主要狀態」是以 NIST SP 800-57 為基礎。

    {
      "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:hs-crypto: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": "AES",
          "algorithmMetadata": {
            "bitLength": "128",
            "mode": "CBC_PAD"
          },
          "algorithmBitSize": 128,
          "algorithmMode": "CBC_PAD",
          "lastUpdateDate": "2020-03-16T20:41:27Z",
          "keyVersion": {
            "id": "30372f20-d9f1-40b3-b486-a709e1932c9c",
            "creationDate": "2020-03-12T03:37:32Z"
          },
          "dualAuthDelete": {
            "enabled": false
          },
          "deleted": false
        }
      ]
    }