擷取簽署金鑰

本主題說明如何從受防護的 VM 執行個體中擷取簽署金鑰 (EKPub)。

您可以擷取加密金鑰和簽署金鑰的簽署金鑰。可使用加密金鑰來加密資料,如此僅有 vTPM 能讀取該資料,也可以使用簽署金鑰來驗證 vTPM 做出的簽名。您也可以在傳送機密資訊給 VM 執行個體前,使用金鑰來確認該執行個體的身分。

您必須具備 getShieldedInstanceIdentity 權限才能擷取簽署金鑰。

使用 Google Cloud CLI 擷取簽署金鑰

可使用 gcloud compute instances get-shielded-identity 指令列,從受防護的 VM 執行個體中擷取簽署金鑰的公用部分。

    gcloud compute instances get-shielded-identity [INSTANCE_NAME]

傳回的結果看起來類似下列所示:

encryptionKey:
  ekPub: |
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4ucWqhLjIkcEJyqc8KJM
    12345678abcdefghijklmnopqrstuvwxyz12345678abcdefghijklmnopqrstu
    oBSrm0swIu3x4LWR/Ebl5KA0EKe9YFGaS9Pguun1m6X8Ld2zAqmoIwnxDiOqxQEU
    mx2wxkjf0bbjxG5ZI1i3t/c/QzeaE2WWTlKdgnUDyxSloDBq63yywtoIrp1nbDLj
    X8qdBymixu8jXXp1iGwmEUltnEnx779JKTpKgKTEednri+NcfRmXHrnPCxfiPudQ
    4wIDAQAB
    -----END PUBLIC KEY-----
kind: compute#shieldedInstanceIdentity
signingKey:
  ekPub: |
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzQvcD+2LAnsXAgdsVYAc
    12345678abcdefghijklmnopqrstuvwxyz12345678abcdefghijklmnopqrstu
    V/7WHasUuGlkbqiDOuDWgb15FAn35PU64HGey67McZTUT9EvrkT/ryXi4kZgBtoM
    lQIDAQAB
    -----END PUBLIC KEY-----

使用 Compute Engine API 擷取簽署金鑰

您可以使用 Compute Engine API 來查看簽署金鑰資訊。如要深入瞭解如何使用此 API,請參閱使用指南

GET /compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/getShieldedInstanceIdentity

{
  "signingKey": {
    "ekPub": [PEM-formatted key]
  },
  "encryptionKey": {
    "ekPub": [PEM-formatted key]
  },
  "kind": "compute#shieldedInstanceIdentity"
}

後續步驟