Configurar CMEK para catálogos de MCS en GCP

Puede utilizar claves de cifrado administradas por el cliente (CMEK) para catálogos de MCS. Al usar esta funcionalidad, asigna el rol CryptoKey Encrypter/Decrypter de Google Cloud Key Management Service al agente de servicio de Compute Engine. La cuenta de Citrix DaaS debe tener los permisos correctos en el proyecto en el que se almacena la clave. Consulte Asignar permisos a la cuenta de Citrix DaaS. Consulte Ayuda a proteger los recursos con claves de Cloud KMS para obtener más información.

Su agente de servicio de Compute Engine tiene el siguiente formato: service-<Project _Number>@compute-system.iam.gserviceaccount.com. Este formato es distinto de la cuenta de servicio predeterminada de Compute Engine.

Nota: No

Puede que esta cuenta de servicio de Compute Engine no aparezca en la pantalla IAM Permissions de Google Console. En tales casos, use el comando gcloud como se describe en Helping to protect resources by using Cloud KMS keys.

Asignar permisos a la cuenta de Citrix DaaS

Los permisos de Google Cloud KMS se pueden configurar de varias formas. Puede proporcionar permisos de KMS a nivel de proyecto o a nivel de recursos. Consulte Permisos y funciones para obtener más información.

Permisos de KMS a nivel de proyecto

Una opción es proporcionar a la cuenta de Citrix DaaS permisos a nivel de proyecto para explorar los recursos de Cloud KMS. Para ello, cree un rol personalizado y agregue los siguientes permisos:

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

Asigne este rol personalizado a su cuenta de Citrix DaaS. Esto le permite examinar las claves regionales del proyecto correspondiente del inventario.

Permisos de KMS a nivel de recursos

Para la otra opción, los permisos de nivel de recurso, en la consola de Google Cloud, busque la cryptoKey que usa para el aprovisionamiento de MCS. Agregue la cuenta de Citrix DaaS a un llavero o a una clave que utilice para aprovisionamiento de catálogos.

Sugerencia:

Con esta opción, no puede examinar las claves regionales de su proyecto en el inventario, puesto que la cuenta de Citrix DaaS no tiene permisos de lista a nivel de proyecto sobre los recursos de Cloud KMS. Sin embargo, aún puede aprovisionar un catálogo mediante CMEK especificando el cryptoKeyId correcto en las propiedades personalizadas de ProvScheme. Consulte Crear un catálogo con CMEK mediante propiedades personalizadas.

Rotar claves administradas por el cliente

Google Cloud does not support rotating keys on existing persistent disks or images. Una vez que se aprovisiona una máquina, se asocia a la versión de clave en uso en el momento de su creación. Sin embargo, se puede crear una nueva versión de la clave y esa nueva clave se utilizará con las máquinas o recursos recién aprovisionados creados al actualizar un catálogo con una nueva imagen maestra.

Consideraciones importantes acerca de los llaveros

Los llaveros no se pueden cambiar de nombre ni eliminar. Además, podría incurrir en cargos imprevistos al configurarlos. Al eliminar o quitar un llavero, Google Cloud muestra un mensaje de error:

  Sorry, you can't delete or rename keys or key rings.   We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable.   (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
  We're aware that this can make things untidy, but we have no immediate plans to change this.
  If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

Sugerencia:

Para obtener más información, consulte Editing or deleting a key ring from the console.

Crear un catálogo con CMEK mediante propiedades personalizadas

Al crear su esquema de aprovisionamiento a través de PowerShell, especifique una propiedad CryptoKeyId en ProvScheme CustomProperties. Por ejemplo:

  '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
  </CustomProperties>'
<!--NeedCopy-->

El cryptoKeyId debe especificarse en el siguiente formato:

projectId:location:keyRingName:cryptoKeyName

Por ejemplo, si quiere usar la clave my-example-key en el llavero my-example-key-ring en la región us-east1 y el proyecto con ID my-example-project-1, sus parámetros personalizados de ProvScheme se parecerían a:

  '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
  </CustomProperties>'
<!--NeedCopy-->

Todas las imágenes y discos aprovisionados de MCS relacionados con este esquema de aprovisionamiento utilizan esta clave de cifrado administrada por el cliente.

Sugerencia:

Si usa claves globales, la ubicación de las propiedades del cliente debe indicar global y no el nombre de la región, que en el ejemplo anterior es us-east1. Por ejemplo: &lt;Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" /&gt;.

Configurar CMEK para catálogos de MCS en GCP