De forma predeterminada, Filestore cifra el contenido del cliente en reposo. Filestore se encarga del cifrado sin que tengas que hacer nada más. Esta opción se llama Cifrado predeterminado de Google.
Si quieres controlar tus claves de encriptado, puedes usar claves de encriptado gestionadas por el cliente (CMEKs) en Cloud KMS con servicios integrados con CMEKs, como Filestore. Si usas claves de Cloud KMS, tendrás control sobre su nivel de protección, ubicación, calendario de rotación, permisos de uso y acceso, y límites criptográficos. Además, Cloud KMS te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google sea el propietario y gestione las claves de cifrado de claves (KEKs) simétricas que protegen tus datos, tú controlas y gestionas estas claves en Cloud KMS.
Una vez que hayas configurado tus recursos con CMEKs, la experiencia de acceder a tus recursos de Filestore será similar a la de usar el cifrado predeterminado de Google. Para obtener más información sobre las opciones de encriptado, consulta Claves de encriptado gestionadas por el cliente (CMEK).
Las CMEKs se pueden usar con instancias y copias de seguridad de Filestore.
Opciones de CMEK
Filestore admite CMEKs almacenadas como claves de software, como claves de hardware en un clúster de HSM y como claves almacenadas externamente en Cloud External Key Manager (Cloud EKM).
Para obtener más información, consulta Cloud Key Management Service.
Interrupciones del servicio de EKM
Por diseño, las claves externas las gestiona un tercero. En estas circunstancias,Google Cloud no se responsabiliza de la disponibilidad de las claves.
Si Cloud Key Management Service (Cloud KMS)
recibe una notificación de External Key Manager (EKM)
que indica que no se puede acceder a una clave externa, los usuarios recibirán una ekm_key_unreachable_detected
notificación. Durante un máximo de una hora, los usuarios tienen acceso limitado a las operaciones de la instancia. Si el estado de la clave no cambia en una hora, se aplican las siguientes acciones:
- La clave está inhabilitada.
- Todas las operaciones de cifrado y descifrado fallan.
- La instancia de Filestore está suspendida.
En algunos casos, como un evento imprevisto (por ejemplo, el reinicio de una VM), el acceso a la instancia puede interrumpirse antes de una hora.
Las notificaciones de claves inaccesibles se pueden ver en la página de detalles de la instancia de Filestore:
Ve a la página Instancias de Filestore.
Los usuarios también reciben ekm_key_unreachable_detected
notificaciones sobre cualquiera de las siguientes operaciones si se realizan en el plazo de una hora desde la primera notificación:
- Restaurar una captura
- Crear una copia de seguridad de la instancia
- Eliminar una copia de seguridad
- Restaurar una instancia a partir de una copia de seguridad
- Actualizar o parchear una instancia
Niveles admitidos
En la siguiente tabla se muestran los niveles de servicio de Filestore que admiten CMEKs:
Nivel | Compatibilidad con CMEK |
---|---|
HDD básico | No |
SSD básico | No |
Por zonas | Sí |
Regional | Sí |
Empresa | Sí |
Crear un conjunto de claves y una clave para usar con tu instancia
El conjunto de claves y la clave pueden estar en un proyecto distinto de la instancia de Filestore, pero deben estar en la misma ubicación. Si ya tienes un llavero de claves y una clave de Cloud KMS que quieres usar con Filestore, ve a la siguiente sección. De lo contrario, sigue las instrucciones para crear claves de cifrado simétricas y, a continuación, crea un conjunto de claves y una clave.
Conceder permiso de acceso a la clave a la cuenta de servicio de Filestore
Para poder crear una instancia de Filestore que use una CMEK, la cuenta de servicio de Filestore debe tener el rol de encargado de cifrar o descifrar claves de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter
).
Se crea una cuenta de servicio de Filestore la primera vez que creas una instancia de Filestore en el proyecto. Si aún no tienes una cuenta de servicio de Filestore, ejecuta el siguiente comando
services identity create
:gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
Sustituye INSTANCE_PROJECT_NUMBER_OR_ID por el número o el ID del proyecto en el que quieras crear la instancia de Filestore.
Asigna a la cuenta de servicio de Filestore el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS ejecutando el comando
projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \ --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Haz los cambios siguientes:
- KMS_PROJECT_NUMBER_OR_ID con el número o el ID del proyecto que contiene la clave de Cloud KMS que quieres usar.
- INSTANCE_PROJECT_NUMBER con el número de proyecto (no el ID del proyecto) en el que quieras crear la instancia de Filestore.
Crear una instancia que use tu clave de Cloud KMS
Google Cloud consola
Para crear una instancia que use tu clave de Cloud KMS para cifrar datos, sigue estos pasos:
En la consola, ve a la página de instancias de Filestore. Google Cloud
Haz clic en Crear instancia.
Seleccione un nivel de instancia que admita CMEKs y rellene todos los demás campos obligatorios y opcionales como lo haría normalmente.
Haz clic en Mostrar opciones avanzadas.
Marca la casilla Usar una clave de encriptado gestionada por el cliente (CMEK).
Selecciona la clave de Cloud KMS que quieras usar en la instancia.
Haz clic en Crear.
CLI de gcloud
Para crear una instancia de Filestore que use tu clave de Cloud KMS para cifrar datos, especifica la marca --kms-key
en el comando filestore instances create
:
gcloud filestore instances create nfs-server \
--tier=<var>TIER</var> \
--location=us-central1 \
--file-share=name="vol1",capacity=1TiB \
--network=name="default" \
--kms-key=KMS_KEY
Haz los cambios siguientes:
- TIER con un nivel de Filestore que admita las CMEKs.
- KMS_KEY con el nombre completo de la clave de Cloud KMS que quieras usar. También puedes especificar cada argumento por separado con el siguiente formato:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID
Haz los cambios siguientes:
- KMS_KEY con el nombre de la clave de Cloud KMS.
- KMS_PROJECT_NUMBER_OR_ID por el número o el ID del proyecto en el que se crea la clave.
- KMS_KEY_RING con el nombre del conjunto de claves.
- KMS_REGION con la región del conjunto de claves. El conjunto de claves y la instancia deben estar en la misma región.
Obtener una lista de claves
Para obtener una lista de claves, ejecuta el comando kms keys list
:
gcloud kms keys list \
--project=KMS_PROJECT_NUMBER_OR_ID \
--keyring=KEY_RING \
--location=KMS_REGION
Haz los cambios siguientes:
- KMS_PROJECT_NUMBER_OR_ID por el número o el ID del proyecto en el que se crea la clave.
- KEY_RING con el nombre del conjunto de claves.
- KMS_REGION con la región del conjunto de claves.
La columna Nombre de la salida muestra el nombre completo de las claves existentes. Por ejemplo:
projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
Obtener información sobre la clave de instancia
En las siguientes secciones se explica cómo obtener información sobre la clave de instancia.
Listar las instancias que usan una clave de Cloud KMS concreta
Para mostrar las instancias de Filestore que usan una clave concreta, ejecuta el comando instances list
:
gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"
Sustituye KMS_KEY por el nombre completo de la clave que quieras usar.
Ejemplo:
gcloud filestore instances list \
--filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"
El resultado tiene este aspecto:
INSTANCE_NAME LOCATION TIER CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS STATE CREATE_TIME
nfs-server us-central1 ENTERPRISE 1024 vol1 10.166.108.2 READY 2021-08-12T11:38:56
Obtener información de la clave de Cloud KMS de una instancia
Usa uno de los siguientes métodos para obtener información sobre la clave de Cloud KMS de una instancia de Filestore:
Google Cloud consola
Ve a la página Instancias de Filestore.
Haz clic en el ID de la instancia para abrir la página de detalles de la instancia.
Haga clic en la pestaña Descripción general.
Si la instancia cifra los datos con una clave de Cloud KMS en lugar de con unaGoogle-owned and Google-managed encryption key, el nombre de la clave se muestra en el campo Clave de cifrado.
CLI de gcloud
Ejecuta el siguiente comando instances describe
:
gcloud filestore instances describe INSTANCE_ID \
--location=INSTANCE_LOCATION
Haz los cambios siguientes:
- INSTANCE_ID con el ID de instancia de la instancia de Filestore de la que quieras obtener información.
- INSTANCE_LOCATION por la región o la zona en la que se encuentra la instancia.
El resultado tiene este aspecto:
createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
- 10.0.100.2
modes:
- MODE_IPV4
network: network
reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE
Inhabilitar o destruir una clave de Cloud KMS que utilice una instancia
Si se detecta un cambio en el estado de la clave de Cloud KMS, la instancia dejará de servir datos automáticamente. Estos son algunos ejemplos:
- Inhabilitar una clave o una versión de clave.
- Destruir una clave o una versión de clave.
- Modificar los permisos de una clave.
Esta detección suele producirse en cuestión de minutos después de que cambie el estado de la clave, pero en algunos casos puede tardar hasta una hora.
Una vez que se detiene una instancia, se bloquea el acceso a los datos del sistema de archivos compartidos y a las capturas. Las instancias detenidas se siguen facturando hasta que se eliminan.
Iniciar una instancia detenida
Si una instancia de Filestore detenida usa una clave de Cloud KMS para cifrar datos, todas las versiones de la clave deben estar habilitadas o restauradas antes de reiniciar la instancia.
Una vez que se habilita el estado de la clave de Cloud KMS, la instancia detectará automáticamente los cambios de clave y se reiniciará sin que tengas que hacer nada más, normalmente en un plazo de 20 minutos.
Compatibilidad con CMEK para cadenas de copias de seguridad
Puedes usar CMEKs para cifrar no solo tus instancias de Filestore, sino también tus cadenas de copia de seguridad.
La compatibilidad con CMEK no está disponible para las copias de seguridad de nivel básico.
Las cadenas de copias de seguridad se encuentran en un solo segmento y una sola región. Para almacenar y cifrar datos de copias de seguridad en una región que no sea la de la instancia de origen, los usuarios deben aplicar dos CMEKs independientes: una para la instancia y otra para la cadena de copias de seguridad. Se aplican algunos requisitos:
- Una CMEK debe residir en la misma región que la cadena de copia de seguridad que cifra.
- Se aplica una sola CMEK al bucket en el que se almacena la cadena de copias de seguridad y no se puede combinar ni sustituir.
Limitaciones de la rotación de claves
Durante la rotación de claves, se crean nuevas claves de cifrado para sustituir a las que ya hay. Las siguientes acciones relacionadas con la rotación de claves pueden impedir que restaures una cadena de copia de seguridad:
- Desactivar una clave o una versión de clave.
- Destruir una clave o una versión de clave.
- Modificar los permisos de las claves.
Estas acciones no impiden que se creen copias de seguridad en la cadena.
Si no puedes restaurar tu cadena de copia de seguridad, sigue estos pasos:
- Elimina todas las copias de seguridad.
- Inicia una nueva cadena. Puedes usar cualquiera de las siguientes opciones:
- Crea la copia de seguridad en otra ubicación con la misma clave de encriptado gestionada por el cliente.
- Crea la copia de seguridad en la misma ubicación con una CMEK nueva.
Para obtener más información, consulta el artículo Introducción a las copias de seguridad.
Siguientes pasos
- Consulta cómo aplicar una política de organización de CMEK.
- CMEK
- Consulta información sobre el cifrado en tránsito Google Cloud.