Políticas de la organización de CMEK

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

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

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

Roles obligatorios

Para garantizar que cada usuario tenga permisos para verificar las políticas de la organización cuando se crean recursos, solicita a tu administrador que otorgue a cada usuario el Rol de IAM de Visualizador de políticas de la organización (roles/orgpolicy.policyViewer) en tu organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para verificar las políticas de la organización cuando se crean recursos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para verificar las políticas de la organización cuando se crean recursos:

  • Para ver todos los detalles de las políticas de la organización, haz lo siguiente: orgpolicy.policy.get
  • Para verificar la política de la organización cuando creas recursos, haz lo siguiente: orgpolicy.policies.check

Es posible que el administrador también pueda otorgar a cada usuario estos permisos con roles personalizados otros roles predefinidos.

Cuando las políticas de la organización están activas, el permiso orgpolicy.policies.check necesario para los usuarios de la consola de Google Cloud que crean recursos con las siguientes características: protegida por claves CMEK. Los usuarios que no tienen este permiso pueden crear contenido protegido por CMEK con la consola de Google Cloud, pero puede seleccionar una CMEK que no está permitida por la restricción restrictCmekCryptoKeyProjects. Cuando se selecciona una clave que no cumple con esta restricción, la creación de recursos falla con el tiempo.

Requiere protección con CMEK

Si quieres exigir protección con CMEK para tu organización, configura el Política de la organización constraints/gcp.restrictNonCmekServices.

Como restricción de lista, los valores aceptados para esta restricción son nombres de servicios (por ejemplo, sqladmin.googleapis.com). Usa esta restricción antes de proporcionar una lista de nombres de servicios de Google Cloud y establecer la restricción para Rechazar: Esta configuración bloquea la creación de recursos en estas servicios si el recurso no está protegido por CMEK. En otras palabras, las solicitudes para crear un recurso en el servicio no tienen éxito sin especificando una clave de Cloud KMS. Además, esta restricción bloquea la eliminación de la protección con CMEK de los recursos en estos servicios. Esta restricción Solo se pueden aplicar a los servicios compatibles.

Limita el uso de claves de Cloud KMS para CMEK

Para 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 la jerarquía de recursos (para por ejemplo, projects/PROJECT_ID, under:folders/FOLDER_ID y under:organizations/ORGANIZATION_ID). Usa esta restricción configurando un una lista de indicadores de jerarquía de recursos y la configuración de la restricción en Permitir. Esta configuración restringe los servicios compatibles para que se puedan elegir las CMEK solo de los proyectos, carpetas y organizaciones de la lista. Solicitudes para crear Los recursos protegidos por CMEK en los servicios configurados no funcionan sin un clave de Cloud KMS de uno de los recursos permitidos. Donde se configure esta restricción se aplica a todos los servicios compatibles.

Servicios compatibles

Servicio Valor de la restricción cuando se requiere CMEK
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Funciones de Cloud Run cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Dataflow dataflow.googleapis.com
Dataproc dataproc.googleapis.com
Document AI documentai.googleapis.com
Filestore file.googleapis.com
Firestore (Vista previa) firestore.googleapis.com
Google Kubernetes Engine (Vista previa) container.googleapis.com
Memorystore para Redis redis.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Spanner spanner.googleapis.com
Vertex AI aiplatform.googleapis.com
Instancias de Vertex AI Workbench notebooks.googleapis.com

Políticas de la organización de CMEK y el Servicio de transferencia de almacenamiento

Aunque el Servicio de transferencia de almacenamiento no tiene una integración con CMEK, se puede usar con las políticas de la organización de CMEK. Si usas el Servicio de transferencia de almacenamiento y quieres asegúrate de que las credenciales de la base de datos almacenadas en Secret Manager estén protegida por CMEK, debes agregar storagetransfer.googleapis.com y secretmanager.googleapis.com a constraints/gcp.restrictNonCmekServices “compute.vmExternalIpAccess”. Para obtener más información, consulta la documentación sobre CMEK del Servicio de transferencia de almacenamiento documentación.

Excepciones de aplicación por tipo de recurso

Las restricciones de la política de la organización de CMEK se aplican de forma forzosa cuando se crea un recurso nuevo o cuando se cambia (si se admite) la clave de Cloud KMS en un recurso existente. Generalmente, se aplican a todos los tipos de recursos de un servicio que admitir CMEK y solo según la configuración del recurso. Algunos destacados excepciones se resumen aquí:

Tipo de recurso Excepción a la aplicación
bigquery.googleapis.com/Dataset Se aplica de forma parcial a 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 desde el proyecto de facturación; consulta también la configuración separada clave predeterminada de Cloud KMS
bigquerydatatransfer.googleapis.com/TransferConfig La configuración de transferencia usa el nombre del servicio del Servicio de transferencia de datos (bigquerydatatransfer.googleapis.com) para las restricciones de la política de la organización de CMEK.
container.googleapis.com/Cluster (Vista previa) Se aplica en la clave de Cloud KMS para el inicio del nodo solo en el disco; No se aplica a los Secrets en la capa de aplicación
logging.googleapis.com/LogBucket Se aplica en buckets de registros creados de forma explícita. consulta la sección Configuración necesarias 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 independientemente del bucket. consulta también configuración de la clave predeterminada del bucket de Cloud KMS

Ejemplos de configuración

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

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

Exigir CMEK y limitar claves para un proyecto

Supongamos que quieres solicitar protección con CMEK para todos los recursos de Cloud Storage. en projects/5 y asegúrate de que solo las claves que provienen de projects/4 se puedan que se usan.

Para solicitar la protección con CMEK para todos los recursos nuevos de Cloud Storage, usa el siguiente configuración de política de la organización:

  • Política de la organización: constraints/gcp.restrictNonCmekServices
  • Vinculación en: projects/5
  • Tipo de política: Rechazar
  • Valor de la política: storage.googleapis.com

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

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

Requiere CMEK y limita las claves a una carpeta

Como alternativa, supongamos que esperas agregar proyectos de Cloud KMS adicionales en folders/2 en el futuro y deseas requerir CMEK de manera más amplia en folders/3. Para este caso, necesitarás un poco parámetros de configuración.

Para requerir protección con CMEK adicional para las instancias de Cloud SQL y Cloud Storage nuevas recursos en cualquier lugar de folders/3:

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

Para garantizar que solo se actualicen las claves de los proyectos de Cloud KMS en folders/2 usado:

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

Requiere CMEK para una organización

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

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

Limitaciones

Si usas la consola de Google Cloud para crear un recurso, quizás notes que no puedes usar ninguna opción de encriptación que no sea CMEK cuando constraints/gcp.restrictNonCmekServices se configura para un proyecto y servicio. La restricción de la política de la organización de CMEK solo es visible cuando a la cuenta de cliente se le otorgó el rol de IAM orgpolicy.policy.get permiso en el proyecto.

¿Qué sigue?

Consulta Introducción a la política de la organización Servicio para obtener más información sobre los beneficios y casos de uso 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, consulta Cómo usar del usuario.