Habilitar claves de cifrado gestionadas por el cliente

En este documento se describe cómo cifrar los datos de Dataplex Universal Catalog con claves de cifrado gestionadas por el cliente (CMEK).

Información general

De forma predeterminada, Dataplex Universal Catalog cifra el contenido del cliente en reposo. Universal Catalog de Dataplex 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 cifrado, puedes usar claves de cifrado gestionadas por el cliente (CMEKs) en Cloud KMS con servicios integrados con CMEKs, como el catálogo universal de Dataplex. 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. Cloud KMS también te permite monitorizar el uso de las claves, ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google sea el propietario y el gestor de 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 acceso a tus recursos de Dataplex Universal Catalog 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).

Dataplex Universal Catalog usa una CMEK por ubicación para todos los recursos de Dataplex Universal Catalog.

Puedes configurar una clave CMEK a nivel de organización en Dataplex Universal Catalog.

Para obtener más información sobre las CMEK en general, incluido cuándo y por qué habilitarlas, consulta el artículo Claves de cifrado gestionadas por el cliente (CMEK).

Ventajas de CMEK

CMEK te permite hacer lo siguiente:

  • Gestiona las operaciones del ciclo de vida de las claves y los permisos de acceso.
  • Monitoriza el uso de las claves con la API Key Inventory y los paneles de control Key Usage de Cloud KMS, que te permiten ver qué claves protegen qué recursos. Cloud Logging te indica cuándo se accedió a las claves y quién lo hizo.
  • Cumple requisitos normativos específicos gestionando tus claves de cifrado.

Cómo funciona CMEK con Dataplex Universal Catalog

Los administradores de cifrado de Dataplex Universal Catalog de tu Google Cloud proyecto pueden configurar la CMEK para Dataplex Universal Catalog proporcionando la clave de Cloud KMS. A continuación, Dataplex Universal Catalog usa la clave de Cloud KMS especificada para cifrar todos los datos, incluidos los datos que ya existían y los recursos nuevos que se creen en Dataplex Universal Catalog.

Funciones compatibles

Cuestiones importantes

  • De forma predeterminada, cada organización se aprovisiona con el cifrado predeterminado de Google.
  • El administrador de la organización puede cambiar a CMEK en Dataplex Universal Catalog para cualquier ubicación.
  • Universal Catalog de Dataplex admite claves de Cloud KMS, claves de Cloud HSM y claves de Cloud External Key Manager.
  • Se admite la rotación de claves y, cuando está disponible, la nueva versión de la clave se usa automáticamente para cifrar los datos. Los datos ya existentes también se cifran con esta nueva versión.
  • Dataplex Universal Catalog conserva las copias de seguridad de los datos durante un máximo de 15 días. Las copias de seguridad que se creen después de habilitar la CMEK se cifrarán con la clave de KMS especificada. Los datos de los que se haya creado una copia de seguridad antes de habilitar la CMEK seguirán cifrados con el cifrado predeterminado de Google durante un máximo de 15 días.

Limitaciones

  • El cambio a CMEK es un proceso irreversible. Una vez que hayas elegido las claves de cifrado gestionadas por el cliente, no podrás volver al cifrado predeterminado de Google.
  • Una vez que se ha configurado una clave de Cloud KMS para Dataplex Universal Catalog, no se puede actualizar ni cambiar.
  • Dataplex Universal Catalog solo admite el cifrado a nivel de organización. Por lo tanto, la configuración del cifrado se define a nivel de organización para una ubicación determinada y se usa para cifrar los datos de Dataplex Universal Catalog de todos los proyectos de esa organización y ubicación. El cifrado con CMEK no se admite en proyectos específicos de una organización o una carpeta. Para definir políticas de organización relacionadas con CMEK, es necesario tener en cuenta varios aspectos.
  • El catálogo universal de Dataplex no admite la función de claves de cifrado gestionadas por el cliente (CMEK) en la región global.
  • La protección con CMEK no está disponible para los metadatos capturados en aspectos y glosarios.

Proteger las claves de cifrado

Para asegurarte de que sigues teniendo acceso a los datos cifrados con CMEK, sigue estas prácticas recomendadas:

  • Asegúrate de que tus claves de cifrado gestionadas por el cliente sigan habilitadas y accesibles. Si una clave se inhabilita o se destruye, no se podrá acceder a los datos de Dataplex Universal Catalog. Si la clave no está disponible durante más de 30 días, los datos cifrados con ella se eliminarán automáticamente y no se podrán recuperar.
  • Si se elimina la clave de Cloud KMS y no se puede recuperar, se perderán de forma permanente todos los datos asociados del catálogo universal de Dataplex.
  • En los casos en los que Cloud KMS no esté disponible temporalmente, Dataplex Universal Catalog seguirá admitiendo operaciones completas en la medida de lo posible durante un máximo de una hora. Una vez transcurrido este periodo, los datos dejarán de estar accesibles temporalmente como medida de protección.
  • Cuando uses Cloud EKM, ten en cuenta que Google no controla la disponibilidad de tus claves gestionadas externamente. Si las claves a corto plazo no están disponibles, los datos no se podrán consultar temporalmente. Si una clave no está disponible durante 30 días, los datos se perderán permanentemente.
  • Una vez que hayas habilitado CMEK, no muevas proyectos de una organización a otra, ya que esta acción provoca la pérdida de datos.

Disponibilidad de Dataplex Universal Catalog

En las secciones siguientes se describe el proceso y el impacto operativo previsto cuando habilites CMEK en tu organización de Dataplex Universal Catalog.

Aprovisionamiento inicial de la infraestructura

Después de guardar la configuración del cifrado, Dataplex Universal Catalog configura la infraestructura necesaria. Este proceso suele tardar entre 6 y 8 horas. Durante esta fase de aprovisionamiento, conservas el acceso completo a todas las funciones de Dataplex Universal Catalog y los datos permanecen cifrados mediante el cifrado gestionado por Google. Si se define la política de organización constraints/gcp.restrictNonCmekServices, las solicitudes de creación de recursos fallarán hasta que se complete la fase de aprovisionamiento.

Encriptado de datos y disponibilidad de la API

Una vez aprovisionada la infraestructura, Dataplex Universal Catalog empieza a cifrar los datos que ya están almacenados en la organización. Para asegurar la integridad de los datos y evitar posibles incoherencias durante este proceso de cifrado, los métodos de la API Dataplex no están disponibles temporalmente. Esta restricción impide las operaciones de actualización de datos. Cuando activas por primera vez CMEK para Dataplex Universal Catalog, se cifran todos los datos. Se estima que esta operación única tardará hasta dos horas.

Operaciones posteriores al cifrado

Una vez que se haya completado correctamente el cifrado de los datos, los métodos de la API Dataplex estarán disponibles. Los datos que se crean o modifican en Dataplex Universal Catalog se cifran automáticamente con la CMEK configurada, sin interrupciones operativas ni restricciones de API.

Crear una clave y habilitar CMEK

En las siguientes instrucciones se explica cómo crear una clave y habilitar CMEK para Dataplex Universal Catalog. Puedes usar una clave creada directamente en Cloud KMS o una clave gestionada de forma externa que pongas a disposición con Cloud EKM.

  1. En el Google Cloud proyecto en el que quieras gestionar tus claves, haz lo siguiente:

    1. Habilita la API Cloud Key Management Service.

    2. Crea un conjunto de claves de Cloud KMS en la ubicación en la que quieras usarlo.

    3. Crea una clave con una de las siguientes opciones:

  2. Crea y muestra la cuenta de servicio gestionada por Google:

    gcloud beta services identity create \
        --service=dataplex.googleapis.com \
        --organization=ORG_ID
    

    Sustituye ORG_ID por el ID de la organización que contiene la clave.

    Si se te pide que instales el componente de comandos beta de Google Cloud CLI, introduce Y.

    El comando services identity de la CLI de gcloud crea u obtiene la cuenta de servicio específica gestionada por Google que puede usar el catálogo universal de Dataplex para acceder a la clave de Cloud KMS.

    El ID de la cuenta de servicio tiene el formato service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com. También se crea una cuenta de servicio específica de CMEK con el formato service-org-ORG_ID@gcp-sa-dataplex-cmek.iam.gserviceaccount.com. La cuenta de servicio específica de CMEK se usa para cifrar y descifrar los datos almacenados en Dataplex Universal Catalog. Si usas Controles de Servicio de VPC para la clave de Cloud KMS, debes conceder acceso a la cuenta de servicio específica de CMEK mediante una regla de entrada.

  3. Asigna el rol de gestión de identidades y accesos Encargado del cifrado y descifrado de CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) a la cuenta de servicio de Dataplex Universal Catalog. Concede este permiso en la clave que has creado.

    Consola

    1. Ve a la página Gestión de claves.

      Ir a Gestión de claves

    2. Haz clic en el conjunto de claves.

    3. En la lista de claves disponibles, haz clic en la que has creado.

    4. Haz clic en la pestaña Permisos.

    5. Haz clic en Conceder acceso.

    6. En el panel Conceder acceso que se abre, sigue estos pasos para conceder acceso a la cuenta de servicio de Universal Catalog de Dataplex:

      1. En Añadir principales, introduce la cuenta de servicio service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com.
      2. En Asignar roles, selecciona el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS.
      3. Haz clic en Guardar.

    gcloud

    Asigna a la cuenta de servicio el cloudkms.cryptoKeyEncrypterDecrypter rol:

    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location=LOCATION \
        --keyring KEY_RING \
        --project=KEY_PROJECT_ID \
        --member serviceAccount:service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    

    Haz los cambios siguientes:

    • KEY_NAME: el nombre de la clave
    • LOCATION: la ubicación
    • KEY_RING: el conjunto de claves
    • KEY_PROJECT_ID: el ID del proyecto de la clave
  4. Asígnate el rol Administrador de cifrado de Dataplex.

    Consola

    Sigue las instrucciones para conceder un rol de gestión de identidades y accesos.

    gcloud

    gcloud organizations add-iam-policy-binding ORG_ID \
        --member='user:USER_EMAIL' \
        --role='roles/dataplex.encryptionAdmin'
    

    Haz los cambios siguientes:

    • ORG_ID: el ID de la organización que contiene la clave.
    • USER_EMAIL: la dirección de correo del usuario.
  5. Configura Dataplex Universal Catalog para que use tu clave de CMEK.

    Consola

    1. En la Google Cloud consola, ve a la página Dataplex.

      Ir a Dataplex

    2. Haz clic en Settings (Configuración).

    3. En Seleccionar región para CMEK, selecciona una región. La región que selecciones debe coincidir con la ubicación de la clave de Cloud KMS.

    4. En Seleccionar clave de cifrado, elija la clave que ha creado.

    5. Haz clic en Guardar.

      El proceso de cifrado de datos tarda un tiempo en completarse. Cuando se complete el proceso, aparecerá el siguiente mensaje: Data Encryption is complete. Your selected CMEK key is now protecting your data.

    gcloud

    1. Define la configuración de cifrado en Dataplex Universal Catalog:

      gcloud dataplex encryption-config create default \
          --location=LOCATION \
          --organization=ORG_ID \
          --key=KEY_RESOURCE_ID
      

      Haz los cambios siguientes:

      • ORG_ID: el ID de la organización que contiene la clave.
      • KEY_RESOURCE_ID: el ID de recurso clave. Por ejemplo, projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME. Sustituye PROJECT_ID por el ID del proyecto de la clave.

    2. Comprueba que el proceso de cifrado se haya completado:

      gcloud dataplex encryption-config describe default \
          --location=LOCATION \
          --organization=ORG_ID
      

    El proceso de cifrado de datos tarda un tiempo en completarse. Cuando se complete el proceso, aparecerá el siguiente mensaje: encryptionState: COMPLETED.

Almacenamiento de registros y monitorización

Audita las solicitudes de Dataplex Universal Catalog a Cloud KMS habilitando el registro de auditoría de la API de Cloud KMS.

Políticas de organización de CMEK

Google Cloud proporciona restricciones de la política de la organización para aplicar el uso de CMEK y controlar las claves de Cloud KMS permitidas en tu organización. Estas restricciones ayudan a asegurar que los datos de Data Catalog estén protegidos de forma coherente mediante CMEK.

  • constraints/gcp.restrictNonCmekServices exige el uso obligatorio de CMEK para los recursos de Dataplex Universal Catalog.

    • Si añade dataplex.googleapis.com a la lista de nombres de Google Cloud servicios y define la restricción como Deny, se prohibirá la creación de recursos de Data Catalog en Dataplex que no tengan protección de CMEK.

    • Si no se especifica una clave de Cloud KMS para la ubicación solicitada en la configuración de cifrado con CMEK, las solicitudes para crear recursos en Universal Catalog de Dataplex fallarán.

    • Esta política se valida a nivel de proyecto de recurso individual.

  • constraints/gcp.restrictCmekCryptoKeyProjects restringe la selección de claves de Cloud KMS para CMEK a las jerarquías de recursos designadas.

    • Si configuras una lista de indicadores de jerarquía de recursos (proyectos, carpetas u organizaciones) y estableces la restricción en Allow, Dataplex Universal Catalog solo podrá usar claves CMEK de las ubicaciones especificadas.

    • Si se proporciona una clave de Cloud KMS de un proyecto no permitido, no se podrán crear recursos protegidos con CMEK en Dataplex Universal Catalog.

    • Esta política se valida a nivel de proyecto de recurso durante la creación de recursos.

    • Esta política se valida a nivel de organización al configurar los ajustes de cifrado con CMEK.

    • Para evitar incoherencias, asegúrese de que las configuraciones a nivel de proyecto se ajusten a las políticas de toda la organización.

Para obtener más información sobre cómo configurar políticas de la organización, consulta Políticas de la organización de CMEK.

Siguientes pasos