使用單一授權來刪除金鑰

如果您是 Key Protect 範例的管理員,您可以使用 IBM® Key Protect for IBM Cloud® 刪除加密金鑰及其金鑰資料。

在刪除金鑰之前,請務必先檢閱 刪除及清除金鑰之前的考量

在主控台中刪除金鑰

依預設,Key Protect 需要一個授權才能刪除金鑰。 如果您希望透過圖形化介面刪除加密金鑰,可以使用「IBM Cloud」控制台。

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

  1. 登入 IBM Cloud 主控台

  2. 請前往「選單」>「資源清單」以檢視您的資源清單。

  3. 從 IBM Cloud 資源清單,選取已佈建的 Key Protect 實例。

  4. 在應用程式詳細資料頁面上使用金鑰表格,以瀏覽服務中的金鑰。

  5. 按一下 ⋯ 圖示,以開啟您要刪除之金鑰的選項清單。

  6. 在選項選單中,點選「刪除」。 在確認畫面中,請確認該金鑰未與任何資源相關聯,然後確認刪除。 若某個金鑰所保護的已註冊 IBM Cloud 資源因 保留政策 而無法刪除,則您無法刪除該金鑰。

刪除鍵值後,該鍵值會轉為「已銷毀」狀態。 無法再存取此狀態中由金鑰所加密的任何資料。 與金鑰相關聯的 meta 資料(例如金鑰刪除日期)會保存在 Key Protect 資料庫中。 毀損的金鑰最多可以在 30 天或其到期日之後回復,兩者以較早的日期為準。 在 30 天之後,金鑰無法再回復,並在 90 天之後符合清除資格,此程序會撕碎金鑰資料並使其 meta 資料無法存取。

如果使用者 具有 KeyPurge 屬性,他們可以在四小時後清除金鑰。 如需相關資訊,請參閱 在主控台中清除金鑰

在主控台中清除金鑰

如果您的使用案例必須在 90 天之前清除金鑰 (在正常刪除之後,最快可以清除金鑰),則如果使用者 具有 KeyPurge 角色,則可以在四小時之後清除金鑰。

由於已清除的金鑰會永久解構其金鑰資料,且無法存取 meta 資料,因此無法還原已清除的金鑰。 因此,更重要的是確保關鍵沒有重要的相關資源。

如果要清除金鑰,請執行下列動作:

  1. 遵循 刪除金鑰 的指示。

  2. 在等待至少四小時之後,再次導覽至金鑰,並按一下 ... 圖示。

  3. 從選項中,從下列選項中選取 清除,並確定金鑰沒有相關聯的資源,且您具有必要的 KeyPurge 使用者屬性,以在下一個畫面中確認刪除金鑰。

使用 API 刪除金鑰

如果使用者 具有 KeyPurge 角色,則他們可以在四小時之後清除金鑰。

依預設,Key Protect 需要一個授權才能刪除金鑰。 您可以透過向以下端點發出 DELETE 請求,來刪除一個金鑰及其內容。

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>

如果金鑰主動保護一個以上雲端資源,則此動作不會成功。 您可以 檢閱與金鑰相關聯的資源,或在查詢時 使用 force 參數 來刪除金鑰。

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

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

    您可以在中找到金鑰的 ID Key Protect 實例 擷取金鑰清單,或透過存取 Key Protect 儀表板。

  3. 執行以下 curl 指令,以刪除該金鑰及其內容。

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

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

描述使用Key Protect API 刪除金鑰所需的變數。
變數 說明
區域 必填。 代表您的 Key Protect 實例所在地理區域的區域縮寫,例如 us-south 或 eu-gb。

如需更多資訊,請參閱「區域服務端點」。
keyID_or_alias 必填。 您要刪除的金鑰之唯一識別碼或別名。
IAM_token 必填。 您的 IBM Cloud 存取記號。 請在 curl 請求中包含 IAM 憑證的完整內容,包括 Bearer 值。

如需更多資訊,請參閱「取得存取憑證」。
instance_id 必填。 分配給您的 Key Protect 服務實例的唯一識別碼。

如需更多資訊,請參閱「檢索實例 ID」。
key_ring_ID 選用。 金鑰所屬金鑰環的唯一 ID。

如果未指定,Key Protect 將在與指定實例相關聯的每個金鑰環中搜尋金鑰。 建議為更最佳化的要求指定金鑰環 ID。

附註: 在沒有 x-kms-key-ring 標頭的情況下建立之金鑰的金鑰環 ID 為預設值。
如需相關資訊,請參閱 分組索引鍵
return_preference 可選。一個用於變更伺服器對 POST 和 DELETE 操作行為的標頭。

當您將 return_preference 變數設定為 return=minimal 時,該服務會傳回刪除成功的回應。 當您將變數設定為 return=representation 時,該服務會同時傳回金鑰資料與金鑰元資料。

若將 return_preference 變數設定為 return=representation,則 DELETE 請求的詳細資訊將包含在回應的實體內容中。

刪除金鑰之後,它會轉移至 已停用 金鑰狀態。 在 24 小時之後,如果未恢復金鑰,則金鑰會轉移至 已毀損 狀態。 已刪除的金鑰最多可回復 30 天,或直到其到期日為止,在此之後會解構金鑰內容,且其 meta 資料會變成無法存取。

下列 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:kms: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": "Deprecated",
            "algorithmMetadata": {
                "bitLength": "256",
                "mode": "Deprecated"
            },
            "algorithmBitSize": 256,
            "algorithmMode": "Deprecated",
            "lastUpdateDate": "2020-03-16T20:41:27Z",
            "dualAuthDelete": {
                "enabled": false
            },
            "deleted": true,
            "deletionDate": "2020-03-16T21:46:53Z",
            "deletedBy": "..."
        }
    ]
}

有關可用參數的詳細說明,請參閱 Key Protect 的 REST API 參考文件

使用 force 查詢參數

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

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>?force=true

當您刪除具有相關聯登錄的金鑰時,您會立即取消啟動其金鑰資料及金鑰所加密的資料。 金鑰所加密的任何資料都會變成無法存取。 在刪除金鑰 30 天之後,金鑰無法再還原,金鑰資料將在 90 天之後毀損。

強制刪除金鑰不會成功,如果該金鑰正在保護註冊的 IBM Cloud 資源,而該資源因 保留政策 (即在 IBM Cloud 資源上設定的一次寫入多次讀取 (WORM))而不可刪除。 您可以透過檢查 註冊詳情 中關鍵的 'preventKeyDeletion" 欄位,確認關鍵是否與不可刪除的資源相關聯。 然後,您必須聯絡帳戶所有者,移除與金鑰相關聯的每個註冊 IBM Cloud 資源上的保留政策,才能刪除金鑰。

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

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

    您可以建立 GET /v2/keys/ 來擷取指定金鑰的 ID 要求,或透過在 Key Protect 儀表板。

  3. 執行以下 curl 指令,以強制刪除該金鑰及其內容。

    $ curl -X DELETE \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>?force=true" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "prefer: <return_preference>"
    

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

描述使用Key Protect API 刪除金鑰所需的變數。
變數 說明
區域 必填。 代表您的 Key Protect 實例所在地理區域的區域縮寫,例如 us-southeu-gb

如需更多資訊,請參閱「區域服務端點」。
keyID_or_alias 必填。 您要刪除的金鑰之唯一識別碼或別名。
IAM_token 必填。 您的 IBM Cloud 存取記號。 請在 curl 請求中包含 IAM 憑證的完整內容,包括 Bearer 值。

如需相關資訊,請參閱 擷取存取記號
instance_id 必填。 分配給您的 Key Protect 服務實例的唯一識別碼。

如需更多資訊,請參閱「檢索實例 ID」。
return_preference 選用。 一個用於變更伺服器對 POST 和 DELETE 操作行為的標頭。

當您將 return_preference 變數設定為 return=minimal 時,該服務會傳回刪除成功的回應。 當您將變數設定為 return=representation 時,該服務會同時傳回金鑰資料與金鑰元資料。

若將 return_preference 變數設定為 return=representation,則 DELETE 請求的詳細資訊將包含在回應的實體內容中。

刪除金鑰之後,它會轉移至 已停用 金鑰狀態。 在 24 小時之後,如果未恢復金鑰,則金鑰會轉移至 已毀損 狀態。 已刪除的金鑰可以在最多 30 天或其到期日之後回復,兩者以較早的日期為準。 在此之後,金鑰內容會永久解構,且無法再存取其 meta 資料。

下列 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:kms: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": true
        }
    ]
}

有關可用參數的詳細說明,請參閱 Key Protect 的 REST API 參考文件

金鑰清除

當您刪除金鑰時,您會立即取消啟動其金鑰資料,並將它移至 Key Protect 服務中的後端儲存庫。 在刪除金鑰四小時之後,金鑰會變成可供手動清除。 在刪除金鑰之後 30 天,金鑰會變成不可還原,且金鑰資料會毀損。 在刪除金鑰 90 天之後,如果未手動清除,則金鑰會變成適合自動清除,並將從 Key Protect 服務永久移除或「強迫刪除」其所有相關聯資料。

如需刪除及清除金鑰的相關資訊,請參閱 關於刪除及清除金鑰

下表列出您可以使用哪些 API 來擷取與已刪除金鑰相關的資料。

列出使用者可用於查看有關金鑰及其註冊的詳細資訊的 API。
API 說明
取得金鑰 擷取金鑰詳細資料
取得關鍵 meta 資料 擷取金鑰 meta 資料
取得登錄 擷取與金鑰相關聯的登錄清單