使用單一授權來刪除金鑰

如果您是 IBM Cloud® Hyper Protect Crypto Services 實例的管理程式,則可以使用 Hyper Protect Crypto Services 來刪除根金鑰或標準金鑰以及金鑰所保護的內容。

在刪除金鑰之前,請確定您瞭解 刪除及清除金鑰的概念,並檢閱 考量

使用使用者介面刪除金鑰

依預設,Hyper Protect Crypto Services 需要一個授權才能刪除金鑰。 如果您偏好使用圖形介面來刪除加密金鑰,則可以使用使用者介面。

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

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

刪除金鑰之後,金鑰會移至「已毀損」狀態。 您可以在刪除之後 30 天內 還原已刪除的金鑰。 與金鑰相關聯的 meta 資料(例如金鑰刪除日期)會保存在 Hyper Protect Crypto Services 資料庫中。

使用 API 刪除金鑰

依預設,Hyper Protect Crypto Services 需要一個授權才能刪除金鑰。 您可以執行下列動作來刪除金鑰及內容: DELETE 呼叫下列端點。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>

如果金鑰主動保護一或多個雲端資源,則此動作無法成功。 你可以 檢閱與金鑰相關聯的資源,或 在查詢時使用 force 參數 來刪除索引鍵。

  1. 擷取服務及鑑別認證以在服務中使用金鑰

  2. 擷取您要刪除之金鑰的 ID。

    您可以透過 擷取金鑰清單 或存取使用者介面,在服務實例中尋找金鑰的 ID。

  3. 執行下列 cURL 指令,以永久地刪除金鑰及內容。

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

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

    表 1. 說明使用 API 刪除金鑰所需的變數
    變數 說明
    region 必要。 代表 Hyper Protect Crypto Services 實例所在地理區域的區域縮寫,例如 us-southau-syd。 如需相關資訊,請參閱地區服務端點
    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 是 default。 如需相關資訊,請參閱 管理金鑰環

    return_preference 此標頭會變更 POSTDELETE 作業的伺服器行為。 當您將 return_preference 變數設為 return=minimal 時,服務會傳回成功的刪除回應。 當您將變數設為 return=representation 時,服務會傳回金鑰資料及金鑰 meta 資料。

    如果 return_preference 變數設為 return=representation,則會在回應實體內文中傳回 DELETE 要求的詳細資料。

    下列 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": "test-root-key",
                "aliases": [
                    "alias-1",
                    "alias-2"
                  ],
                "state": 5,
                "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-10T20:41:27Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "256",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 256,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-16T20:41:27Z",
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": true,
                "deletionDate": "2020-03-16T21:46:53Z",
                "deletedBy": "..."
            }
        ]
    }
    

    如需可用參數的詳細說明,請參閱 Hyper Protect Crypto Services 金鑰管理服務 API 參考資料文件

使用 force 查詢參數

Hyper Protect Crypto Services 會封鎖刪除保護雲端資源的金鑰,例如 IBM Cloud Object Storage 儲存區。 您可以對下列端點發出 DELETE 呼叫,以強制刪除金鑰及內容。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>?force=true

當您刪除具有相關聯登錄的金鑰時,您會清除金鑰的內容及相關聯資料。 金鑰所加密的任何資料都會變成無法存取。

如果金鑰正在保護由於保留原則而不可刪除的資源,則此動作無法成功。 您可以透過 檢查金鑰的登錄詳細資料,來驗證金鑰是否與不可擦除資源相關聯。 然後,您必須聯絡帳戶擁有者,以移除與金鑰相關聯的每一個資源上的保留原則,然後才能刪除金鑰。

  1. 擷取鑑別認證以使用服務中的金鑰

  2. 擷取您要強制刪除之金鑰的 ID。

    您可以提出 GET /v2/keys/ 要求,或在使用者介面中檢視您的金鑰,來擷取指定金鑰的 ID。

  3. 執行下列 cURL 指令,以強制刪除金鑰及內容。

    curl -X DELETE \
    "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>?force=true" \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>' \
    -H "x-kms-key-ring: <key_ring_ID>" \
    -H 'prefer: <return_preference>'
    

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

    表 2. 說明使用 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 是 default。 如需相關資訊,請參閱 管理金鑰環

    return_preference 此標頭會變更 POSTDELETE 作業的伺服器行為。 當您將 return_preference 變數設為 return=minimal 時,服務會傳回成功的刪除回應。 當您將變數設為 return=representation 時,服務會傳回金鑰資料及金鑰 meta 資料。

    如果 return_preference 變數設為 return=representation,則會在回應實體內文中傳回 DELETE 要求的詳細資料。

    下列 JSON 物件顯示範例回覆值。

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "type": "application/vnd.ibm.kms.key+json",
                "aliases": [
                    "alias-1",
                    "alias-2"
                ],
                "name": "test-root-key",
                "description": "...",
                "state": 5,
                "expirationDate": "2020-03-15T20:41:27Z",
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "deleted": true,
                "algorithmType": "AES",
                "createdBy": "...",
                "deletedBy": "...",
                "creationDate": "2020-03-10T20:41:27Z",
                "deletionDate": "2020-03-16T21:46:53Z",
                "lastUpdateDate": "2020-03-16T20:41:27Z",
                "extractable": false
            }
        ]
    }
    

    如需可用參數的詳細說明,請參閱 Hyper Protect Crypto Services 金鑰管理服務 API 參考資料文件

下一步