Encripta un disco de arranque de una VM de TPU con una clave de encriptación administrada por el cliente (CMEK)
De forma predeterminada, Cloud TPU encripta el contenido del cliente almacenado en reposo. Cloud TPU controla la encriptación por ti sin que debas realizar ninguna acción adicional. Esta opción se denomina encriptación predeterminada de Google.
Si deseas controlar tus claves de encriptación, puedes usar las claves de encriptación administradas por el cliente (CMEK) en Cloud KMS con servicios integrados en CMEK, incluido el de Cloud TPU. El uso de claves de Cloud KMS te permite controlar su nivel de protección, ubicación, programa de rotación, permisos de uso y acceso, y límites criptográficos. El uso de Cloud KMS también te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google posea y administre las claves de encriptación de claves (KEK) simétricas que protegen tus datos, tú las controlas y administras en Cloud KMS.
Después de configurar tus recursos con CMEK, la experiencia de acceso a tus recursos de Cloud TPU es similar a usar la encriptación predeterminada de Google. Para obtener más información sobre tus opciones de encriptación, consulta Claves de encriptación administradas por el cliente (CMEK).
Para usar una CMEK, debes crear un llavero de claves.
Debes hacerlo en la misma ubicación en la que planeas crear
tu Cloud TPU. Por ejemplo, una Cloud TPU en la zona us-central1-a solo puede
usar una clave en la región us-central1.
A continuación, crea una clave en tu llavero de claves. Después de crear una CMEK, deberás otorgar a tu clave acceso a la cuenta de servicio de Compute Engine.
Concede permisos para usar la clave
Debes otorgar el rol de IAM de encriptador/desencriptador de CryptoKey de Cloud KMS
(roles/cloudkms.cryptoKeyEncrypterDecrypter) en la clave de
Cloud KMS al agente de servicio de Compute Engine
en el proyecto de Google Cloud . Otorgar este rol permite que el servicio de
Compute Engine acceda a tu clave de encriptación y la use.
Para otorgar el rol roles/cloudkms.cryptoKeyEncrypterDecrypter al
agente de servicio de Compute Engine, selecciona una de las siguientes opciones:
gcloud
Ejecuta el siguiente comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location LOCATION \
--keyring RING_NAME \
--member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--project KEY_PROJECT_ID
Reemplaza lo siguiente:
KEY_NAME: Es el nombre de la clave.LOCATION: Es la ubicación en la que creaste el llavero de claves.RING_NAME: Es el nombre del llavero de claves.PROJECT_NUMBER: Es el número del proyecto de Google Cloud .KEY_PROJECT_ID: Es el ID del proyecto de claves.
Consola
- En la consola de Google Cloud , ve a la página Administración de claves.
Haz clic en el nombre del llavero de claves que contiene la clave.
Haz clic en el nombre de la clave que deseas modificar.
Haz clic en la pestaña Permisos.
Haz clic en Otorgar acceso. Se abrirá el panel Otorga acceso a la clave.
En el campo Principales nuevas, ingresa el nombre del agente de servicio de Compute Engine:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comReemplaza
PROJECT_NUMBERpor el número del proyecto de Google Cloud.En el menú Seleccionar un rol, elige Encriptador/desencriptador de CryptoKey de Cloud KMS.
Haz clic en Guardar.
Crea una VM de TPU con una CMEK
Puedes especificar una CMEK cuando creas una VM de TPU con la API de TPU o la API de recursos en cola.
API de TPU
Para especificar una CMEK cuando creas una VM de TPU con la API de Cloud TPU, usa el
argumento --boot-disk en el comando tpu-vm create para especificar la clave de
encriptación que se usará:
gcloud compute tpus tpu-vm create TPU_NAME \
--zone ZONE \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
Reemplaza lo siguiente:
TPU_NAME: Es el nombre de tu VM de TPU.ZONE: Es la zona en la que planeaste crear tu Cloud TPU.PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: Es la región en la que creaste el llavero de claves.RING_NAME: Es el nombre del llavero de claves.KEY_NAME: Es el nombre de la clave.TPU_RUNTIME_VERSION: Es la versión de software de la Cloud TPU.ACCELERATOR_TYPE: Es el tipo de acelerador de la Cloud TPU que deseas crear. Para obtener más información sobre los tipos de aceleradores compatibles con cada versión de TPU, consulta Versiones de TPU.
API de recursos en cola
Para especificar una CMEK cuando creas una VM de TPU con la API de recursos en cola, usa
el argumento --bootdisk en el comando queued-resources create para especificar
la clave de encriptación que se usará:
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
--zone ZONE \
--node-id NODE_ID \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--runtime-version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
Reemplaza lo siguiente:
QUEUED_RESOURCE_ID: Es el ID asignado por el usuario de la solicitud del recurso en cola.ZONE: Es la zona en la que planeaste crear tu Cloud TPU.NODE_ID: Es el ID asignado por el usuario de la Cloud TPU que se crea cuando se asigna la solicitud del recurso en cola.PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: Es la región en la que creaste el llavero de claves.RING_NAME: Es el nombre del llavero de claves.KEY_NAME: Es el nombre de la clave.TPU_RUNTIME_VERSION: Es la versión de software de la Cloud TPU.ACCELERATOR_TYPE: Es el tipo de acelerador de la Cloud TPU que deseas crear. Para obtener más información sobre los tipos de aceleradores compatibles con cada versión de TPU, consulta Versiones de TPU.
Para obtener información sobre cómo crear VMs de TPU con CMEK usando GKE, consulta Usa claves de encriptación administradas por el cliente en la documentación de GKE.
CMEK borradas o revocadas
Si se revoca o borra una CMEK, no se apagará de forma automática ninguna VM de TPU que use un disco de arranque encriptado con la CMEK borrada o revocada. La VM de TPU aún podrá acceder a los datos del disco de arranque encriptado hasta que se apague o reinicie la VM. Esto te permite recuperar tus datos si restableces el acceso a una clave revocada o borrada. Si vuelves a habilitar una clave, puedes iniciar o reparar tu VM de TPU, y el disco de arranque se desencriptará y cargará de forma correcta.