本頁說明如何在 Cloud KMS 中建立金鑰。金鑰可以是對稱或非對稱加密金鑰、非對稱簽署金鑰,或是 MAC 簽署金鑰。
建立金鑰時,您會將金鑰新增至特定 Cloud KMS 位置的金鑰環。您可以建立新的金鑰環,或使用現有的金鑰環。 在這個頁面中,您會產生新的 Cloud KMS 或 Cloud HSM 金鑰,並將其新增至現有的金鑰環。 如要建立 Cloud EKM 金鑰,請參閱「建立外部金鑰」。如要匯入 Cloud KMS 或 Cloud HSM 金鑰,請參閱「匯入金鑰」。
事前準備
完成本頁面上的工作前,您需要下列項目:
- Google Cloud 專案資源,用於存放 Cloud KMS 資源。建議您為 Cloud KMS 資源使用獨立專案,不要包含任何其他 Google Cloud 資源。
- 您要在其中建立金鑰的金鑰環名稱和位置。 選擇與其他資源相近的位置,並支援所選保護等級的鑰匙圈。 如要查看可用的位置和支援的保護等級,請參閱「Cloud KMS 位置」。 如要建立金鑰環,請參閱「建立金鑰環」。
- 選用:如要使用 gcloud CLI,請準備環境。
在 Google Cloud 控制台中啟用 Cloud Shell。
必要的角色
如要取得建立金鑰所需的權限,請要求管理員在專案或父項資源中,授予您下列 IAM 角色:
- Cloud KMS 管理員 (
roles/cloudkms.admin) -
如要建立單一租戶 HSM 金鑰:
Cloud KMS 單一租戶 HSM 金鑰建立者 (
roles/cloudkms.hsmSingleTenantKeyCreator)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備建立金鑰所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立金鑰,必須具備下列權限:
-
cloudkms.cryptoKeys.create -
cloudkms.cryptoKeys.get -
cloudkms.cryptoKeys.list -
cloudkms.cryptoKeyVersions.create -
cloudkms.cryptoKeyVersions.get -
cloudkms.cryptoKeyVersions.list -
cloudkms.keyRings.get -
cloudkms.keyRings.list -
cloudkms.locations.get -
cloudkms.locations.list -
resourcemanager.projects.get -
如要擷取公開金鑰,請按照下列步驟操作:
cloudkms.cryptoKeyVersions.viewPublicKey -
如要建立單一租戶 HSM 金鑰:
-
cloudkms.singleTenantHsmInstances.get -
cloudkms.singleTenantHsmInstances.use
-
建立對稱式加密金鑰
控制台
前往 Google Cloud 控制台的「Key Management」頁面。
找出您要在哪個金鑰環中建立金鑰,然後按一下該金鑰環名稱。
按一下 [Create key] (建立金鑰)。
在「Key name」(金鑰名稱) 中輸入金鑰名稱。
在「防護等級」中,選取「軟體」、「HSM」或「單一租戶 HSM」。
如果您選取「單一租戶 HSM」,請選取要建立金鑰的「單一租戶 HSM 執行個體」。
在「金鑰內容」部分,選取「產生的金鑰」。
針對「目的」,選取「Symmetric encrypt/decrypt」。
接受「Rotation period」(輪替週期) 和「Starting on」(開始日期) 的預設值。
點選「建立」。
gcloud
如要在指令列上使用 Cloud KMS,請先安裝或升級至最新版 Google Cloud CLI。
如要建立軟體或多租戶 Cloud HSM 金鑰,請使用 kms keys create 指令:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "PROTECTION_LEVEL"
更改下列內容:
KEY_NAME:金鑰名稱。KEY_RING:金鑰所屬金鑰環的名稱。LOCATION:金鑰環的 Cloud KMS 位置。PROTECTION_LEVEL:金鑰要使用的防護等級,例如software或hsm。您可以省略software金鑰的--protection-level旗標。
如要瞭解所有旗標和可能的值,請執行含有 --help 旗標的指令。
--crypto-key-backend 旗標新增至 kms keys create 指令:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "hsm-single-tenant" \
--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
更改下列內容:
INSTANCE_PROJECT:單一租戶 Cloud HSM 執行個體所在的專案 ID。INSTANCE_NAME:要建立金鑰的單一租戶 Cloud HSM 執行個體名稱。如要進一步瞭解單一租戶 Cloud HSM 執行個體,請參閱「建立及管理單一租戶 Cloud HSM 執行個體」。
如要瞭解所有旗標和可能的值,請執行含有 --help 旗標的指令。
C#
如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Cloud KMS C# SDK。