Como recuperar chaves de endosso

Este tópico descreve como recuperar a chave de endosso (EKPub) de uma instância de VM protegida.

É possível recuperar a chave de endosso referente à chave de criptografia e à chave de assinatura. Use a chave de criptografia para criptografar os dados de modo que somente o vTPM possa lê-los e use a chave de assinatura para verificar as assinaturas que o vTPM faz. Também é possível usar a chave para verificar a identidade de uma instância de VM antes de enviar informações confidenciais a ela.

É necessário ter a permissão getShieldedInstanceIdentity para recuperar chaves de endosso.

Como recuperar chaves de endosso usando a CLI do Google Cloud

Use o comando gcloud compute instances get-shielded-identity para recuperar a parte pública da chave de endosso de uma instância de VM protegida.

    gcloud compute instances get-shielded-identity [INSTANCE_NAME]

Os resultados retornados são semelhantes aos seguintes:

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-----

Como recuperar chaves de endosso usando a API do Compute Engine

Use a API do Compute Engine para visualizar informações sobre a chave de endosso. Para mais informações sobre como usar a API, consulte os guias de instruções.

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"
}

A seguir