Políticas de la organización de CMEK

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

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

  • constraints/gcp.restrictNonCmekServices se usa para requerir protección de CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects se usa para limitar las claves de Cloud KMS que se usan a fin de proteger las CMEK.

Las políticas de la organización de CMEK solo se aplican a los recursos recién creados dentro de los servicios de Google Cloud compatibles.

Requiere protección de CMEK

A fin de requerir la protección de CMEK para tu organización, configura la política de la organización constraints/gcp.restrictNonCmekServices.

Como restricción de lista, los valores aceptados para esta restricción son los nombres de servicio de Google Cloud (por ejemplo, sqladmin.googleapis.com). Si configuras una lista de nombres de servicio de Google Cloud y estableces la restricción en Rechazar, puedes rechazar la creación de recursos que no use CMEK en los servicios configurados. En otras palabras, las solicitudes para crear un recurso en el servicio no se ejecutan de forma correcta sin especificar una clave de Cloud KMS. Esta restricción solo se puede aplicar a los servicios compatibles.

Limita el uso de claves de Cloud KMS para CMEK

A fin de limitar las claves de Cloud KMS que se usan para la protección con CMEK, configura la restricción constraints/gcp.restrictCmekCryptoKeyProjects.

Como restricción de lista, los valores aceptados son indicadores de jerarquía de recursos (por ejemplo, projects/PROJECT_ID, under:folders/FOLDER_ID y under:organizations/ORGANIZATION_ID). Si configuras una lista de indicadores de jerarquía de recursos y estableces la restricción en Permitir, puedes restringir los servicios admitidos para permitir que solo se usen claves de las organizaciones, carpetas y proyectos enumerados para la protección con CMEK. Las solicitudes para crear un recurso protegido por CMEK en servicios configurados no se ejecutan de forma correcta sin especificar una clave de Cloud KMS de uno de los proyectos, las organizaciones o las carpetas permitidos. Cuando se configura, esta restricción se aplica a todos los servicios compatibles.

Servicios compatibles

Service Valor de restricción cuando se requiere CMEK
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Cloud Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Compute Engine compute.googleapis.com
Google Kubernetes EnginePREVIEW container.googleapis.com
Dataflow dataflow.googleapis.com
Cloud Logging logging.googleapis.com
Pub/Sub pubsub.googleapis.com
Cloud Spanner spanner.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com

Excepciones de aplicación por tipo de recurso

Las restricciones de la política de la organización de CMEK se aplican cuando se crea un recurso nuevo o cuando se cambia (cuando se admite) la clave de Cloud KMS en un recurso existente. Por lo general, se aplican en todos los tipos de recursos de un servicio que admiten CMEK y solo se basan en la configuración del recurso. A continuación, se resumen algunas excepciones notables:

Tipo de recurso Excepción de aplicación
bigquery.googleapis.com/Dataset Se aplica de forma parcial en la clave predeterminada de Cloud KMS del conjunto de datos (solo gcp.restrictCmekCryptoKeyProjects)
bigquery.googleapis.com/Job Solo trabajos de consulta: Se aplican en la clave de Cloud KMS proporcionada con la consulta o predeterminada en el proyecto de facturación; consulta también configuración independiente de la clave predeterminada de Cloud KMS del proyecto
compute.googleapis.com/Instance Se aplica en función del disco de arranque configurado
container.googleapis.com/Cluster (Vista previa) Se aplica en la clave de Cloud KMS solo para el disco de arranque de los nodos; no se aplica en los secretos de la capa de la aplicación
logging.googleapis.com/LogBucket Se aplica en buckets de registros creados de forma explícita. Consulta también la configuración independiente necesaria para garantizar el cumplimiento de los buckets de registros integrados
storage.googleapis.com/Bucket Se aplica en la clave predeterminada de Cloud KMS del bucket
storage.googleapis.com/Object Se aplica de forma independiente del bucket. Consulta también la configuración independiente de la clave predeterminada de Cloud KMS del bucket

Ejemplos de configuración

En los ejemplos de configuración, supongamos que la organización de muestra tiene la siguiente jerarquía de recursos:

Un diagrama de una jerarquía de recursos de la organización

Exigir CMEK y claves de límite para un proyecto

Supongamos que deseas exigir la protección de CMEK para todos los recursos de Cloud Storage en projects/5 y asegurarte de que solo se puedan usar las claves provenientes de projects/4.

A fin de requerir la protección de CMEK para todos los recursos nuevos de Cloud Storage, usa la siguiente configuración de política de la organización:

  • Política de la organización: constraints/gcp.restrictNonCmekServices
  • Fecha de vinculación: projects/5
  • Tipo de política: Denegar
  • Valor de la política: storage.googleapis.com

Para asegurarte de que solo se usen claves de projects/4, usa la siguiente configuración:

  • Política de la organización: constraints/gcp.restrictCmekCryptoKeyProjects
  • Fecha de vinculación: projects/5
  • Tipo de política: Permitir
  • Valor de la política: projects/4

Exigir CMEK y limitar las claves a una carpeta

Como alternativa, supongamos que esperas agregar proyectos de Cloud KMS adicionales en folders/2 en el futuro y deseas solicitar una CMEK de manera más amplia dentro de folders/3. Para esta situación, necesitas configuraciones un poco diferentes.

A fin de solicitar protección adicional de CMEK para los recursos nuevos de Cloud SQL y Cloud Storage en cualquier lugar de folders/3, sigue estos pasos:

  • Política de la organización: constraints/gcp.restrictNonCmekServices
  • Fecha de vinculación: folders/3
  • Tipo de política: Denegar
  • Valores de la política: sqladmin.googleapis.com, storage.googleapis.com

Para asegurarte de que solo se usen claves de proyectos de Cloud KMS en folders/2, haz lo siguiente:

  • Política de la organización: constraints/gcp.restrictCmekCryptoKeyProjects
  • Fecha de vinculación: folders/3
  • Tipo de política: Permitir
  • Valor de la política: under:folders/2

Exigir CMEK para una organización

Para requerir CMEK en todas partes de la organización (en servicios compatibles), configura la restricción constraints/gcp.restrictNonCmekServices con la siguiente configuración:

  • Política de la organización: constraints/gcp.restrictNonCmekServices
  • Fecha de vinculación: organizations/1
  • Tipo de política: Denegar
  • Valores de la política: (todos los servicios compatibles)

Limitaciones

Si usas Google Cloud Console para crear un recurso, es posible que notes que no puedes usar otras opciones de encriptación que no sean CMEK cuando constraints/gcp.restrictNonCmekServices esté configurado para un proyecto y un servicio. La restricción de la política de la organización de CMEK solo se puede ver cuando la cuenta de cliente tiene el permiso de IAM orgpolicy.policy.get en el proyecto.

Próximos pasos

Consulta Introducción al servicio de políticas de la organización para obtener más información sobre los beneficios y casos prácticos comunes de las políticas de la organización.

Para obtener más ejemplos sobre cómo crear una política de la organización con restricciones particulares, consulta Usa restricciones.