En esta página, se describe cómo crear, configurar y aplicar claves de encriptación administradas por el cliente (CMEK) para AlloyDB para PostgreSQL.
Para obtener más información sobre CMEK, consulta Acerca de CMEK.
Crea y autoriza una clave CMEK para AlloyDB
Crea una clave en Cloud Key Management Service (Cloud KMS). AlloyDB admite los siguientes tipos de claves:
La clave debe estar en la misma ubicación que tu clúster de AlloyDB. Por ejemplo, un clúster de AlloyDB ubicado en
us-west1
solo puede usar claves enus-west1
.Si ya tienes una clave de Cloud KMS en la ubicación correcta, puedes omitir este paso.
Otorgar acceso a la clave a AlloyDB
Con Google Cloud CLI, crea y muestra el agente de servicio, o bien muestralo si la cuenta ya existe:
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECT
El comando gcloud services identity crea o obtiene el agente de servicio que AlloyDB puede usar para acceder a la clave de Cloud KMS en tu nombre.
El ID de la cuenta de servicio se asemeja a una dirección de correo electrónico:
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
Otorga el rol
cloudkms.cryptoKeyEncrypterDecrypter
a la cuenta de servicio:gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
- KEY: El ID de Cloud KMS de la clave
- REGION: Es la región de la clave, por ejemplo,
us-central1
. - PROJECT: El ID del proyecto de la clave
- KEYRING: El ID del llavero de claves de Cloud KMS de la clave
Este rol garantiza que la cuenta de servicio tenga permiso para encriptar y desencriptar con la clave de Cloud KMS. Para obtener más información, consulta Permisos y roles de Cloud KMS.
Crea un clúster encriptado con CMEK
Cuando creas un clúster nuevo, puedes elegir encriptarlo con la encriptación predeterminada administrada por Google o usar una clave de CMEK. Para obtener más información, consulta Crea un clúster y su instancia principal.
Cómo ver el método de encriptación y la clave de CMEK de un clúster
Console
En la columna Encriptación de la página Clústeres, se muestra si cada clúster de tu proyecto usa la encriptación administrada por Google o la CMEK.
Para ver los detalles clave de un clúster que usa CMEK, haz clic en su nombre en la columna Nombre del recurso. El campo Clave de encriptación de la página de detalles posterior contiene una descripción de la clave, incluido un vínculo a su propia página de detalles de Cloud KMS.
gcloud
Llama al comando gcloud alloydb clusters describe
:
gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION
Reemplaza lo siguiente:
- CLUSTER: Es el ID del clúster que se describirá.
- PROJECT: Es el ID del proyecto del clúster.
- REGION: Es la región del clúster, por ejemplo,
us-central1
.
El resultado incluye un campo encryptionInfo
con un resumen de la encriptación del clúster.
Aplica CMEK a las copias de seguridad
Cuando creas una copia de seguridad nueva, puedes elegir encriptarla con la encriptación predeterminada administrada por Google o usar una clave de CMEK. Para obtener más información, consulta Crea una copia de seguridad a pedido o Programa copias de seguridad automáticas.
También tienes la opción de aplicar una clave CMEK al clúster creado cuando se restablece desde una copia de seguridad, independientemente del método de encriptación de esa copia de seguridad. Para obtener más información, consulta Restablece un clúster.
Cómo ver el método de encriptación y la clave de CMEK de una copia de seguridad
Console
En la columna Encriptación de la página Copias de seguridad, se muestra si cada clúster de tu proyecto usa la encriptación administrada por Google o las CMEK.
Ir a la página Copias de seguridad
Para ver los detalles clave de una copia de seguridad con CMEK, haz clic en Restablecer. El campo Clave de encriptación del panel de detalles posterior contiene una descripción de la clave, incluido un vínculo a su propia página de detalles de Cloud KMS.
gcloud
Llama al comando gcloud alloydb backups describe
:
gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION
Reemplaza lo siguiente:
- CLUSTER: El ID de la copia de seguridad que se describirá
- PROJECT: El ID del proyecto de la copia de seguridad
- REGION: Es la región de la copia de seguridad, por ejemplo,
us-central1
.
El resultado incluye un campo encryptionInfo
con un resumen de la encriptación de la copia de seguridad.
Inhabilita una clave
Si inhabilitas la clave de CMEK de un clúster, los datos de ese clúster no serán accesibles hasta que vuelvas a habilitar la clave.
Sin embargo, la inhabilitación de una clave puede tardar hasta tres horas en propagarse a tu clúster de AlloyDB. Para inhabilitar una clave y, al mismo tiempo, evitar el acceso a tus datos de inmediato, sigue estos pasos:
Borra la instancia principal de tu clúster. Esto no afecta los datos de tu clúster. Puedes crear una instancia principal nueva después de volver a habilitar la clave, como se describe en la siguiente sección.
Habilita una clave
Para habilitar una clave, sigue estos pasos:
Si borraste la instancia principal de tu clúster antes de inhabilitar la clave, crea una instancia principal nueva.
La habilitación de una clave puede tardar hasta tres horas en propagarse a tu clúster. Se puede acceder a los datos del clúster en cuanto se produce esta propagación.
Visualiza los registros de auditoría de una clave de Cloud KMS
Para ver los registros de auditoría asociados con una clave CMEK en particular, sigue estos pasos:
Asegúrate de que el registro esté habilitado para la API de Cloud KMS en tu proyecto.
Ve al Explorador de registros en la consola de Google Cloud.
Agrega las siguientes líneas al compilador de consultas para limitar las entradas de registro a tu clave de Cloud KMS:
resource.type="cloudkms_cryptokey" resource.labels.location="REGION" resource.labels.key_ring_id="KEYRING" resource.labels.crypto_key_id="KEY"
Reemplaza lo siguiente:
- REGION: Es la región de la clave, por ejemplo,
us-central1
. - KEYRING: El ID del llavero de claves de Cloud KMS de la clave
- KEY: El ID de Cloud KMS de la clave
- REGION: Es la región de la clave, por ejemplo,
En las operaciones normales, las operaciones de encriptación y desencriptación se registran con gravedad
INFO
. Estas entradas se registran cuando las instancias de tu clúster de AlloyDB validan la clave {kms_name_short}, lo que ocurre aproximadamente cada cinco minutos.Si AlloyDB no puede acceder a la clave, las operaciones se registran como
ERROR
.
Cómo ver las justificaciones de acceso de una clave de Cloud EKM
Si usas una clave de Cloud EKM, puedes usar Key Access Justifications para ver el motivo de cada solicitud de Cloud EKM. Además, según la justificación proporcionada, puedes aprobar o rechazar una solicitud de forma automática. Para obtener más información, consulta Cómo ver justificaciones y tomar medidas en función de ellas.