管理金鑰別名
您可以使用 Hyper Protect Crypto Services,以 Hyper Protect Crypto Services API 來管理金鑰別名。
金鑰別名是可用來識別金鑰的唯一人類可讀名稱。 別名可讓您的服務透過可辨識的自訂名稱來參照金鑰,而不是 Hyper Protect Crypto Services所提供的自動產生 ID。 假設您建立 ID 為 02fd6835-6001-4482-a892-13bd2085f75d 且別名為 US-South-Test-Key 的金鑰。 當您呼叫 Hyper Protect Crypto Services API 以 擷取金鑰 時,可以使用 US-South-Test-Key 來參照金鑰。
在 Hyper Protect Crypto Services中管理金鑰的金鑰別名之前,請記住下列考量:
-
別名與金鑰無關。
別名是它自己的資源,對它採取的任何動作都不會影響相關聯的金鑰。 例如,刪除別名並不會刪除相關聯的金鑰。
-
別名一次只能與一個金鑰相關聯。
別名只能與位於相同實例及地區中的一個金鑰相關聯。 如果您想要變更與別名相關聯的金鑰,則需要執行下列步驟:
- 刪除別名。
- 最多等待 10 分鐘。
- 重建別名並將它對映至金鑰。
-
您可以在不同的實例或地區中建立同名的別名。
每一個別名都與每一個實例或地區中的不同金鑰相關聯,您服務的應用程式碼可以在不同的實例或地區中重複使用。 例如,如果您將
us-south和us-east區域中的別名命名為Application Key,且每一個別名都鏈結至不同的金鑰。
建立金鑰別名
若要建立金鑰的金鑰別名,您可以使用使用者介面或金鑰管理服務 API。
每一個金鑰最多可以有五個別名。 每個實例限制為 1,000 個別名。
使用使用者介面建立金鑰別名
完成下列步驟,以使用使用者介面建立金鑰別名:
-
移至 功能表 > 資源清單,以檢視資源清單。
-
從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。
-
選取側邊功能表中的 KMS 金鑰 標籤,並尋找您要為其建立金鑰別名的金鑰。
-
按一下 動作 圖示
,以開啟金鑰的選項清單,然後按一下 編輯金鑰別名。
-
輸入以逗點區隔的金鑰別名。 您最多可以為金鑰新增五個別名。
每一個別名都必須是英數、區分大小寫,且不能包含橫線 (-) 或底線 (_) 以外的空格或特殊字元。別名不能是第 4 版 UUID,且不能是 Hyper Protect Crypto Services 保留名稱:
allowed_ip、key、keys、metadata、policy、policies、registration、registrations、ring、rings、rotate、wrap、unwrap、rewrap、version、versions。別名大小可以是 2-90 個字元 (內含)。 -
按一下儲存。
使用 API 建立金鑰別名
對下列端點發出 POST 呼叫,以建立金鑰別名。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<alias>
-
若要建立金鑰別名,您必須獲指派 管理員 或 撰寫者 服務存取角色。 瞭解 IAM 角色如何對映至 Hyper Protect Crypto Services 服務動作,請參閱 服務存取角色。
-
執行下列
curl指令來建立金鑰別名。$ curl -X POST \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<key_alias>" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -H "correlation-id: <correlation_ID>"根據下表取代範例要求中的變數。
表 1. 說明使用 Hyper Protect Crypto Services API 建立金鑰別名所需的變數 變數 說明 region必要。 代表 Hyper Protect Crypto Services 實例所在地理區域的區域縮寫,例如 us-south。 如需相關資訊,請參閱地區服務端點。port必要。 API 端點的埠號。 key_ID必要。 您要與別名相關聯的金鑰 ID。 若要擷取金鑰 ID,請參閱 列出金鑰 API。 key_alias必要。 方便識別金鑰且人類可閱讀的唯一名稱。 每一個別名都必須是英數、區分大小寫,且不能包含橫線 (-) 或底線 (_) 以外的空格或特殊字元。 別名不能是第 4 版 UUID ,且不能是 Hyper Protect Crypto Services 保留名稱: allowed_ip、key、keys、metadata、policy、policies、registration、registrations、ring、rings、rotate、wrap、unwrap、rewrap、version、versions。 別名大小可以是 2-90 個字元 (內含)。附註: Hyper Protect Crypto Services 實例中不能有重複的別名。
IAM_token必要。 您的 IBM Cloud 存取記號。 在 curl要求中包含IAM記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號。instance_ID必要。 指派給您 Hyper Protect Crypto Services 服務實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID。 correlation_ID用來追蹤及關聯交易的唯一 ID。 若要保護個人資料的機密性,請在建立金鑰別名時避免輸入個人識別資訊 (PII),例如您的姓名或位置。 如需 PII 的其他範例,請參閱 NIST 特殊出版品 800-122的 2.2 小節。
成功的
POST api/v2/keys/<key_ID>/aliases/<key_alias>回應會傳回金鑰的別名,以及其他 meta 資料。 別名是指派給金鑰的唯一名稱,可用來擷取相關聯金鑰的相關資訊。{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "keyId": "02fd6835-6001-4482-a892-13bd2085f75d", "alias": "test-alias", "creationDate": "2020-03-12T03:37:32Z", "createdBy": "..." } ] }如需回應參數的詳細說明,請參閱 Hyper Protect Crypto Services REST API 參考資料文件。
刪除金鑰別名
若要移除金鑰的金鑰別名,您可以使用使用者介面或金鑰管理服務 API。
使用使用者介面刪除金鑰別名
完成下列步驟,以利用使用者介面來刪除金鑰別名:
- 登入使用者介面。
- 移至 功能表 > 資源清單,以檢視資源清單。
- 從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。
- 選取側邊功能表中的 KMS 金鑰 標籤,並尋找您要為其建立金鑰別名的金鑰。
- 按一下 動作 圖示
,以開啟金鑰的選項清單,然後按一下 編輯金鑰別名。
- 刪除您要移除的金鑰別名,然後按一下 儲存。
使用 API 刪除金鑰別名
對下列端點發出 DELETE 呼叫,以刪除金鑰別名。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<alias>
-
執行下列
curl指令,以刪除金鑰別名。$ curl -X DELETE \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<key_alias>" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -H "correlation-id: <correlation_ID>"根據下表取代範例要求中的變數。
表 2. 說明使用 Hyper Protect Crypto Services API 刪除金鑰別名所需的變數 變數 說明 region必要。 代表 Hyper Protect Crypto Services 實例所在地理區域的區域縮寫,例如 us-south。 如需相關資訊,請參閱地區服務端點。port必要。 API 端點的埠號。 key_ID必要。 金鑰的唯一 ID。 key_alias必要。 識別您金鑰的唯一人類可讀名稱。 IAM_token必要。 您的 IBM Cloud 存取記號。 在 curl要求中包含IAM記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號。instance_ID必要。 指派給您 Hyper Protect Crypto Services 服務實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID。 correlation_ID用來追蹤及關聯交易的唯一 ID。 成功的
DELETE api/v2/keys/<key_ID>/aliases/<key_alias>要求會傳回 HTTP204 No Content回應,指出已刪除與金鑰相關聯的別名。從服務中刪除別名最多需要 10 分鐘。
使用金鑰別名的 API
下表列出您可以在其中使用金鑰別名的 API。
| API | 金鑰別名影響 |
|---|---|
| 建立根金鑰。 | 在建立根金鑰時,您最多可以建立五個別名。 |
| 建立標準金鑰。 | 在建立標準金鑰時,您最多可以建立五個別名。 |
| 擷取金鑰。 | 您可以依 ID 或別名來擷取金鑰。 |
| 檢視金鑰 meta 資料 | 您可以依 ID 或別名來擷取金鑰的 meta 資料。 |