Puede exportar un certificado de clave de aprobación (Endorsement Key, EK) de TPM desde un host ESXi e importarlo al clúster de vSphere Trust Authority. Esto se hace cuando se quiere confiar en un host ESXi concreto en el clúster de confianza.

Para importar un certificado de EK de TPM al clúster de Trust Authority, hay que cambiar el tipo de atestación predeterminado del clúster de Trust Authority para que acepte certificados de EK. El tipo de atestación predeterminado acepta certificados de la entidad de certificación (Certificate Authority, CA) de TPM. Algunos TPM no incluyen certificados de EK. Si desea confiar en hosts ESXi individuales, el TPM debe incluir un certificado de EK.

Nota: Almacene los archivos de certificado de EK en una ubicación segura, por si necesita restaurar la configuración de vSphere Trust Authority.

Requisitos previos

Procedimiento

  1. Asegúrese de que está conectado como administrador de Trust Authority a la instancia de vCenter Server del clúster de Trust Authority.
    Por ejemplo, puede introducir $global:defaultviservers para mostrar todos los servidores conectados.
  2. (opcional) Si es necesario, puede ejecutar los siguientes comandos para asegurarse de que está conectado a la instancia de vCenter Server del clúster de Trust Authority.
    Disconnect-VIServer -server * -Confirm:$false
    Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'password'
  3. Para cambiar el tipo de atestación del clúster de Trust Authority:
    1. Ejecute el cmdlet Get-TrustAuthorityCluster para mostrar los clústeres que esta instancia de vCenter Server administra.
      Get-TrustAuthorityCluster
      Se mostrarán los clústeres.
    2. Asigne la información de Get-TrustAuthorityCluster a una variable.
      Por ejemplo, este comando asigna el clúster con el nombre vTA Cluster a la variable $vTA.
      $vTA = Get-TrustAuthorityCluster 'vTA Cluster'
    3. Asigne la información de Get-TrustAuthorityTpm2AttestationSettings a una variable.
      Por ejemplo, este comando asigna la información a la variable $tpm2Settings.
      $tpm2Settings = Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA
    4. Ejecute el cmdlet Set-TrustAuthorityTpm2AttestationSettings, especificando RequireEndorsementKey o RequireCertificateValidation, o ambos.
      Por ejemplo, este comando especifica RequireEndorsementKey.
      Set-TrustAuthorityTpm2AttestationSettings -Tpm2AttestationSettings $tpm2Settings -RequireEndorsementKey
      El sistema responde con un mensaje de confirmación similar al siguiente.
      Confirmation
      Configure the Tpm2AttestationSettings 'TrustAuthorityTpm2AttestationSettings-domain-c8' with the following parameters:
       RequireCertificateValidation: False
       RequireEndorsementKey: True
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
    5. En la solicitud de confirmación, presione Intro. (El valor predeterminado es Y).
      La salida muestra un estado True de la configuración especificada. Por ejemplo, este estado muestra True en Solicitar clave de aprobación y False en Solicitar validación de certificado.
      Name                                     RequireEndorsementKey          RequireCertificateValidation   Health
      ----                                     ---------------------          ----------------------------   ------
      TrustAuthorityTpm2AttestationSettings... True                           False                          Ok
  4. Para exportar el certificado EK de TPM:
    1. Desconéctese de la instancia de vCenter Server del clúster de Trust Authority.
      Disconnect-VIServer -server * -Confirm:$false
      
    2. Ejecute el cmdlet Connect-VIServer para conectarse como usuario raíz a uno de los hosts ESXi en el clúster de confianza.
      Connect-VIServer -server host_ip_address -User root -Password 'password'
    3. Ejecute el cmdlet Get-VMHost para confirmar el host ESXi.
      Get-VMHost
      Se mostrará la información del host.
    4. Asigne Get-VMHost a una variable.
      Por ejemplo:
      $vmhost = Get-VMHost
    5. Ejecute el cmdlet Export-Tpm2EndorsementKey para exportar el certificado de EK del host ESXi.
      Por ejemplo, este comando exporta el certificado de EK al archivo tpm2ek.json.
      Export-Tpm2EndorsementKey -VMHost $vmhost -FilePath C:\vta\tpm2ek.json
      Se creará el archivo.
  5. Para importar el EK de TPM:
    1. Desconéctese del host ESXi en el clúster de confianza.
      Disconnect-VIServer -server * -Confirm:$false
      
    2. Conéctese a la instancia de vCenter Server del clúster de Trust Authority mediante el usuario administrador de Trust Authority.
      Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'password'
    3. Ejecute el cmdlet Get-TrustAuthorityCluster.
      Get-TrustAuthorityCluster
      Se muestran los clústeres del clúster de Trust Authority.
    4. Asigne la información de Get-TrustAuthorityCluster 'clúster' a una variable.
      Por ejemplo, este comando asigna la información del clúster vTA Cluster a la variable $vTA.
      $vTA = Get-TrustAuthorityCluster ‘vTA Cluster’
    5. Ejecute el cmdlet New-TrustAuthorityTpm2EndorsementKey.
      Por ejemplo, este comando utiliza el archivo tpm2ek.json que se exportó anteriormente en el paso 4.
      New-TrustAuthorityTpm2EndorsementKey -TrustAuthorityCluster $vTA -FilePath C:\vta\tpm2ek.json
      Se muestra información de la clave de aprobación importada.

Resultados

El tipo de atestación del clúster de Trust Authority se cambia para que se acepten certificados de EK. El certificado de EK se exporta desde el clúster de confianza y se importa al clúster de Trust Authority.

Ejemplo: Exportar e importar un certificado de EK de TPM

En este ejemplo, se muestra cómo utilizar PowerCLI para cambiar el tipo de atestación predeterminado del clúster de Trust Authority de forma que acepte certificados de EK, exportar el certificado EK de TPM del host ESXi en el clúster de confianza e importarlo al clúster de Trust Authority. En la siguiente tabla, se muestran los componentes y los valores de ejemplo que se utilizan.

Tabla 1. Ejemplo de configuración de vSphere Trust Authority
Componente Valor
vCenter Server para clúster de Trust Authority 192.168.210.22
Variable $vTA Get-TrustAuthorityCluster 'vTA Cluster'
Variable $tpm2Settings Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA
Variable $vmhost Get-VMHost
Host ESXi en un clúster de confianza 192.168.110.51
Administrador de Trust Authority trustedadmin@vsphere.local
Directorio local que contiene el archivo de salida C:\vta
PS C:\Users\Administrator> Connect-VIServer -server 192.168.210.22 -User trustedadmin@vsphere.local -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.210.22                 443   VSPHERE.LOCAL\TrustedAdmin

PS C:\Users\Administrator> Get-TrustAuthorityCluster

Name                 State                Id
----                 -----                --
vTA Cluster          Enabled              TrustAuthorityCluster-domain-c8

PS C:\Users\Administrator> $vTA = Get-TrustAuthorityCluster 'vTA Cluster'

PS C:\Users\Administrator> $tpm2Settings = Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA

PS C:\Users\Administrator> Set-TrustAuthorityTpm2AttestationSettings -Tpm2AttestationSettings $tpm2Settings -RequireEndorsementKey

Confirmation
Configure the Tpm2AttestationSettings 'TrustAuthorityTpm2AttestationSettings-domain-c8' with the following parameters:
 RequireCertificateValidation: False
 RequireEndorsementKey: True
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Name                                     RequireEndorsementKey          RequireCertificateValidation   Health
----                                     ---------------------          ----------------------------   ------
TrustAuthorityTpm2AttestationSettings... True                           False                          Ok

PS C:\Users\Administrator> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator> Connect-VIServer -server 192.168.110.51 -User root -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.110.51                 443   root

PS C:\Users\Administrator> Get-VMHost

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz   MemoryUsageGB   MemoryTotalGB Version
----                 --------------- ---------- ------ ----------- -----------   -------------   ------------- -------
192.168.110.51       Connected       PoweredOn       4          55        9576           1.230           7.999   7.0.0

PS C:\Users\Administrator> $vmhost = Get-VMHost
PS C:\Users\Administrator> Export-Tpm2EndorsementKey -VMHost $vmhost -FilePath C:\vta\tpm2ek.json

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        12/3/2019  10:16 PM           2391 tpm2ek.json

PS C:\Users\Administrator> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator> Connect-VIServer -server 192.168.210.22 -User trustedadmin@vsphere.local -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.210.22                 443   VSPHERE.LOCAL\TrustedAdmin

PS C:\Users\Administrator> Get-TrustAuthorityCluster

Name                 State                Id
----                 -----                --
vTA Cluster          Enabled              TrustAuthorityCluster-domain-c8

PS C:\Users\Administrator> $vTA = Get-TrustAuthorityCluster ‘vTA Cluster’
PS C:\Users\Administrator> New-TrustAuthorityTpm2EndorsementKey -TrustAuthorityCluster $vTA -FilePath C:\vta\tpm2ek.json

TrustAuthorityClusterId                  Name                                     Health
-----------------------                  ----                                     ------
TrustAuthorityCluster-domain-c8          1a520e42-4db8-1cbb-6dd7-f493fd921ccb     Ok

Qué hacer a continuación

Continúe con Importar la información del host de confianza en el clúster de Trust Authority.