Aplicar una política de organización de CMEK

Google Cloud ofrece dos restricciones de política de organización para ayudar a asegurar el uso de CMEK en una organización:

  • constraints/gcp.restrictNonCmekServices se usa para requerir protección con CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects se usa para limitar las claves de Filestore que se usan para la protección con CMEK.

Las políticas de la organización de CMEK solo se aplican a los recursos que se crean en los servicios Google Cloud admitidos.

Para obtener una explicación más detallada de cómo funciona, consulta la Google Cloud jerarquía de recursos y las políticas de organización de CMEK.

Controlar el uso de CMEK con políticas de organización

Filestore se integra con las restricciones de la política de organización de CMEK para que puedas especificar los requisitos de cumplimiento del cifrado de los recursos de Filestore de tu organización.

Esta integración te permite hacer lo siguiente:

En las siguientes secciones se explican ambas tareas.

Requerir CMEKs para todos los recursos de Filestore

Una política habitual es requerir que se usen CMEKs para proteger todos los recursos de una organización. Puedes usar la restricción constraints/gcp.restrictNonCmekServices para aplicar esta política en Filestore.

Si se define, esta política de organización provoca que fallen todas las solicitudes de creación de recursos sin una clave de Cloud KMS especificada.

Una vez que hayas definido esta política, solo se aplicará a los recursos nuevos del proyecto. Los recursos que ya tengas y que no tengan claves de Cloud KMS seguirán existiendo y se podrá acceder a ellos sin problemas.

Consola

  1. Abre la página Políticas de la organización.

    Ir a Políticas de organización

  2. En el campo Filtro, introduzca constraints/gcp.restrictNonCmekServices y, a continuación, haga clic en Restringir qué servicios pueden crear recursos sin CMEK.

  3. Haz clic en Gestionar política.

  4. En la página Editar política, selecciona Anular política del recurso superior.

  5. Selecciona Añadir una regla.

  6. En Valores de la política, selecciona Personalizado.

  7. En Tipo de política, selecciona Denegar.

  8. En el campo Valores personalizados, introduce is:file.googleapis.com.

  9. Haz clic en Hecho y, a continuación, en Definir política.

gcloud

  1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices
      spec:
        rules:
        - values:
            deniedValues:
            - is:file.googleapis.com
    

    Sustituye PROJECT_ID por el ID del proyecto que quieras usar.

  2. Ejecuta el comando org-policies set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
    

Para verificar que la política se ha aplicado correctamente, puedes intentar crear una instancia o una copia de seguridad en el proyecto. El proceso falla a menos que especifiques una clave de Cloud KMS.

Restringir las claves de Cloud KMS de un proyecto de Filestore

Puedes usar la restricción constraints/gcp.restrictCmekCryptoKeyProjects para limitar las claves de Cloud KMS que puedes usar para proteger un recurso en un proyecto de Filestore.

Por ejemplo, puedes especificar una regla como "Para todos los recursos de Filestore del proyecto projects/my-company-data-project, las claves de Cloud KMS que se usen en este proyecto deben proceder de projects/my-company-central-keys O projects/team-specific-keys".

Consola

  1. Abre la página Políticas de la organización.

    Ir a Políticas de organización

  2. En el campo Filtro, introduce constraints/gcp.restrictCmekCryptoKeyProjects y, a continuación, haz clic en Restringe los proyectos que pueden proporcionar CryptoKeys de KMS para CMEK.

  3. Haz clic en Gestionar política.

  4. En la página Editar política, selecciona Anular política del recurso superior.

  5. Selecciona Añadir una regla.

  6. En Valores de la política, selecciona Personalizado.

  7. En Tipo de política, selecciona Permitir.

  8. En el campo Valores personalizados, introduce lo siguiente:

    under:projects/KMS_PROJECT_ID
    

    Sustituye KMS_PROJECT_ID por el ID del proyecto en el que se encuentran las claves de Cloud KMS que quieres usar.

    Por ejemplo, under:projects/my-kms-project.

  9. Haz clic en Hecho y, a continuación, en Definir política.

gcloud

  1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects
      spec:
        rules:
        - values:
            allowedValues:
            - under:projects/KMS_PROJECT_ID
    

    Donde:

    • PROJECT_ID es el ID del proyecto que quieres usar.
    • KMS_PROJECT_ID es el ID del proyecto en el que se encuentran las claves de Cloud KMS que quieres usar.
  2. Ejecuta el comando org-policies set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
    

Para verificar que la política se ha aplicado correctamente, puedes intentar crear una instancia o una copia de seguridad con una clave de Cloud KMS de otro proyecto. El proceso fallará.

Limitaciones

Se aplican las siguientes limitaciones al definir una política de organización.

Disponibilidad de CMEK

Te recordamos que la compatibilidad con CMEK no está disponible para los niveles de servicio HDD básico y SSD básico. Teniendo en cuenta cómo se definen estas restricciones, si aplicas una política de organización que requiere el uso de CMEK y, a continuación, intentas crear una instancia o una copia de seguridad de nivel básico en el proyecto asociado, esas operaciones de creación fallarán.

Recursos disponibles

Los recursos ya creados no están sujetos a las políticas de la organización que se creen posteriormente. Por ejemplo, si crea una política de organización que requiere que especifique una CMEK para cada operación create, la política no se aplica retroactivamente a las instancias y cadenas de copia de seguridad existentes. Se podrá seguir accediendo a esos recursos sin una CMEK. Si quieres aplicar la política a los recursos que ya tienes, ya sean instancias o cadenas de copias de seguridad, debes sustituirlos.

Permisos necesarios para definir una política de organización

Puede que sea difícil obtener el permiso para definir o actualizar la política de la organización con fines de prueba. Debes tener asignado el rol Administrador de políticas de la organización, que solo se puede asignar a nivel de organización.

Aunque el rol debe concederse a nivel de organización, sigue siendo posible especificar una política que solo se aplique a un proyecto o una carpeta concretos.

Impacto de la rotación de claves de Cloud KMS

Filestore no rota automáticamente la clave de cifrado de un recurso cuando se rota la clave de Cloud KMS asociada a ese recurso.

  • Todos los datos de las instancias y las copias de seguridad disponibles seguirán protegidos por la versión de clave con la que se crearon.

  • Las instancias o copias de seguridad que se creen a partir de ese momento usarán la versión de clave principal especificada en el momento de su creación.

Cuando rotas una clave, los datos que se encriptaron con versiones anteriores de la clave no se vuelven a encriptar automáticamente. Para cifrar los datos con la versión de clave más reciente, debes descifrar la versión de clave antigua del recurso y, a continuación, volver a cifrar el mismo recurso con la versión de clave nueva. Además, al rotar una clave no se inhabilitan ni se destruyen automáticamente las versiones de clave que ya existan.

Para obtener instrucciones detalladas sobre cómo realizar cada una de estas tareas, consulta las siguientes guías:

Acceso de Filestore a la clave de Cloud KMS

Una clave de Cloud KMS se considera disponible y accesible para Filestore en las siguientes condiciones:

  • La clave está habilitada
  • La cuenta de servicio de Filestore tiene permisos de cifrado y descifrado en la clave.

Siguientes pasos