使用單一授權來刪除金鑰
如果您是 IBM Cloud® Hyper Protect Crypto Services 實例的管理程式,則可以使用 Hyper Protect Crypto Services 來刪除根金鑰或標準金鑰以及金鑰所保護的內容。
在刪除金鑰之前,請確定您瞭解 刪除及清除金鑰的概念,並檢閱 考量。
使用使用者介面刪除金鑰
依預設,Hyper Protect Crypto Services 需要一個授權才能刪除金鑰。 如果您偏好使用圖形介面來刪除加密金鑰,則可以使用使用者介面。
在建立金鑰或將現有金鑰匯入到服務之後,請完成下列步驟來刪除金鑰:
- 登入使用者介面。
- 移至 功能表 > 資源清單,以檢視資源清單。
- 從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。
- 在 KMS 金鑰 頁面上,使用 金鑰 表格來瀏覽服務中的金鑰。
- 選取您要刪除的按鍵,然後按一下 動作 圖示
,以開啟按鍵的選項清單。
- 從選項功能表中,按一下 刪除金鑰,輸入金鑰名稱以確認要刪除的金鑰,然後按一下 刪除金鑰。
刪除金鑰之後,金鑰會移至「已毀損」狀態。 您可以在刪除之後 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 參數 來刪除索引鍵。
-
擷取您要刪除之金鑰的 ID。
您可以透過 擷取金鑰清單 或存取使用者介面,在服務實例中尋找金鑰的 ID。
-
執行下列 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-south或au-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此標頭會變更 POST及DELETE作業的伺服器行為。 當您將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
當您刪除具有相關聯登錄的金鑰時,您會清除金鑰的內容及相關聯資料。 金鑰所加密的任何資料都會變成無法存取。
如果金鑰正在保護由於保留原則而不可刪除的資源,則此動作無法成功。 您可以透過 檢查金鑰的登錄詳細資料,來驗證金鑰是否與不可擦除資源相關聯。 然後,您必須聯絡帳戶擁有者,以移除與金鑰相關聯的每一個資源上的保留原則,然後才能刪除金鑰。
-
擷取您要強制刪除之金鑰的 ID。
您可以提出
GET /v2/keys/要求,或在使用者介面中檢視您的金鑰,來擷取指定金鑰的 ID。 -
執行下列 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-south或eu-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此標頭會變更 POST及DELETE作業的伺服器行為。 當您將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 參考資料文件。
下一步
- 若要還原先前刪除的金鑰,請參閱 還原金鑰。
- 若要建立另一個根金鑰,請參閱 建立根金鑰。
- 若要刪除服務實例,請參閱 刪除服務實例
- 若要進一步瞭解如何以程式化方式管理金鑰,請參閱 Hyper Protect Crypto Services 金鑰管理服務 API 參考資料文件。