Usar restricciones de política de organización en Apigee

En esta página se describe cómo usar las restricciones de las políticas de organización con Apigee.

No todas las funciones de Apigee utilizan CMEK para cifrar datos sensibles. Para asegurarnos de que los datos que requieren cifrado con CMEK no usen sin saberlo funciones que no estén protegidas con CMEK, esas funciones se inhabilitarán en los proyectos con restricciones de CMEK hasta que cumplan los requisitos. Solo se inhabilitará el uso nuevo de las funciones (crear recursos o habilitar un complemento). Las funciones y los recursos que ya estén en uso seguirán estando disponibles y se podrán editar, pero no estarán protegidos.

La creación de organizaciones de evaluación está bloqueada tanto por la API gcloud alpha apigee organizations como por el asistente de aprovisionamiento de evaluación. Cuando intentes ver el asistente de aprovisionamiento de evaluación, verás el mensaje La evaluación de Apigee no está disponible.

Para obtener más información sobre las funciones que están inhabilitadas en los proyectos con restricciones de CMEK, consulta las restricciones de las políticas de la organización.

Términos

En este tema se utilizan los siguientes términos:

Término Definición
CMEK Clave de encriptado gestionada por el cliente. Consulta la descripción detallada de las claves de cifrado gestionadas por el cliente.
restricciones de las políticas de organización Una restricción es un tipo concreto de restricción contra un Google Cloud servicio o una lista de Google Cloud servicios. En cuanto a CMEK, hay dos restricciones relevantes:
  • constraints/gcp.restrictNonCmekServices
  • constraints/gcp.restrictCmekCryptoKeyProjects
Aplicación Garantía de que los sistemas backend de Apigee cumplirán las restricciones de un proyecto (en este caso, las restricciones de CMEK)
Prevalidación Comportamientos de la interfaz de usuario que te guían para seleccionar configuraciones válidas en Apigee de acuerdo con las políticas de organización de CMEK y que no exponen funciones que no cumplan los requisitos
Recursos Recursos de Apigee, como organizaciones e instancias

Cómo restringir los servicios que no usan CMEK

En esta sección se describe cómo restringir los servicios que no usan CMEK.

  1. Cumplir los requisitos previos.
  2. Selecciona tu proyecto en la Google Cloud consola.
  3. Crea una restricción de política de organización.
  4. Aprovisionar Apigee.

Requisitos previos

Debes hacer lo siguiente:

Abrir proyecto

  1. En la Google Cloud consola, ve a la página Panel de control.

    Ir al panel de control

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.

Crear una restricción de política de organización

Las políticas de la organización se definen mediante los valores establecidos para cada restricción. Se configuran a nivel de este recurso, se heredan del recurso superior o se definen con el comportamiento predeterminado gestionado por Google. En este caso, crearás una restricción que requiere CMEK y que se aplicará al proyecto y a todos los recursos que hereden del proyecto.

Para asegurarte de que las claves de cifrado gestionadas por el cliente se usen siempre al cifrar tus datos en Apigee, crea la siguiente restricción de política de la organización:

  1. En la Google Cloud consola, ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.
  3. En el cuadro Filter (Filtro), introduce lo siguiente:
    constraints/gcp.restrictNonCmekServices
  4. Haz clic en Más. Editar política. Si la opción Editar está inhabilitada, significa que no tienes los permisos necesarios y debes pedirle a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Consulta los requisitos para obtener más información.
  5. En Fuente de la política, selecciona Anular política del recurso superior. Este recurso tendrá una política única. En el siguiente paso, especificará cómo se gestionan las reglas de la política principal.
  6. En Implementación de la política, selecciona una de las siguientes opciones:
    • Reemplazar. Esta opción ignora la política del recurso superior y utiliza estas reglas.
    • Combinar con recurso superior Esta opción añade reglas, además de las que ya ha establecido el recurso superior.

    Consulta Información sobre la evaluación jerárquica para obtener una explicación sobre la herencia de las políticas de organización.

  7. Haz clic en Añadir regla.
  8. En Valores de la política, selecciona Personalizado.
  9. En Tipo de política, selecciona Denegar.
  10. En Valores personalizados, introduce lo siguiente:
    apigee.googleapis.com
  11. Haz clic en Listo.
  12. Haz clic en Definir política. Se mostrará la página Detalles de la política.

Una vez que hayas configurado la política y seleccionado un proyecto que herede o use la política, podrás aprovisionar Apigee. Ten en cuenta que no se garantiza que los recursos de Apigee que se hayan creado antes de configurar las políticas de organización de CMEK cumplan los requisitos. Solo los recursos nuevos que se creen después de que se haya implementado la política se ajustarán a las restricciones de CMEK.

Consulta también:

Aprovisionar Apigee

El aprovisionamiento de Apigee cuando tienes restricciones de políticas de la organización consta de los mismos pasos que el aprovisionamiento de Apigee cuando no tienes restricciones de políticas de la organización. Sin embargo, la interfaz de usuario te impide hacer selecciones que no sean compatibles.

En esta sección se describe dónde te guía la interfaz de usuario para hacer selecciones.

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

    Ir a Apigee

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.
  3. En la página Bienvenido a la gestión de APIs de Apigee, la opción Configurar con valores predeterminados está inhabilitada, ya que debes seleccionar CMEKs de forma explícita. Haz clic en Personalizar configuración.
  4. Habilita las APIs: habilita las APIs necesarias tal como se describe en el paso 1: Habilita las APIs necesarias.
  5. Configura la red: configura la red como se describe en el paso 2: Configura la red.
  6. Configura el alojamiento y el cifrado:

    Recorrido de usuario D: encriptado gestionado por el cliente, con residencia de datos es el único recorrido de usuario pertinente para las restricciones de políticas de la organización que limitan los servicios que no son CMEK.

    1. Haz clic en Editar para abrir el panel Hosting and encryption keys (Hosting y claves de cifrado).
    2. En la sección Tipo de cifrado, la opción Clave de cifrado gestionada por Google está inhabilitada y la opción Clave de cifrado gestionada por el cliente está habilitada y no se puede inhabilitar.
    3. Haz clic en Siguiente.
    4. En la sección Plano de control, la opción Habilitar residencia de datos está habilitada y no se puede inhabilitar.
    5. Sigue configurando el alojamiento y el cifrado tal como se describe en el paso 3b de la Ruta D: cifrado gestionado por el cliente con residencia de datos.
  7. Personaliza el enrutamiento de acceso: Personaliza el enrutamiento de acceso como se describe en Paso 4: Personaliza el enrutamiento de acceso.

Cómo restringir proyectos de claves criptográficas CMEK

En esta sección se describe cómo restringir los proyectos de claves criptográficas CMEK.

Puedes restringir los proyectos que pueden proporcionar claves de cifrado mediante otra restricción de política de organización: constraints/gcp.restrictCmekCryptoKeyProjects Con esta restricción, puedes incluir en una lista de permitidos los proyectos desde los que se pueden usar claves de cifrado.

Esta restricción se aplica en cualquier lugar en el que se pueda seleccionar una CMEK, que actualmente es durante el aprovisionamiento de Apigee o la creación de una instancia de Apigee.

Si el proyecto seleccionado en la consola Google Cloud no está en la lista de permitidos de la restricción restrictCmekCryptoKeyProjects, no podrás seleccionar ninguna clave en el cuadro de selección de claves de cifrado. En su lugar, tendrás que usar una clave de un proyecto que esté en la lista de permitidos.

Requisitos previos

Debes hacer lo siguiente:

Abrir proyecto

  1. En la Google Cloud consola, ve a la página Panel de control.

    Ir al panel de control

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.

Crear una restricción de política de organización

Las políticas de la organización se definen mediante los valores establecidos para cada restricción. Se configuran a nivel de este recurso, se heredan del recurso superior o se definen con el comportamiento predeterminado gestionado por Google. En este caso, crearás una restricción que solo permita claves de proyectos incluidos en la lista de permitidos. Esta restricción se aplicará al proyecto y a todos los recursos que hereden del proyecto.

Para asegurarte de que las claves de cifrado gestionadas por el cliente solo se usen en proyectos específicos, añádelas a una lista de permitidos:

  1. En la Google Cloud consola, ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.
  3. En el cuadro Filter (Filtro), introduce lo siguiente:
    restrictCmekCryptoKeyProjects
  4. Haz clic en Más. Editar política. Si la opción Editar está inhabilitada, significa que no tienes los permisos necesarios y debes pedirle a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Consulta los requisitos para obtener más información.
  5. En Fuente de la política, selecciona Anular política del recurso superior. Este recurso tendrá una política única. En el siguiente paso, deberá especificar cómo se gestionan las reglas de la política principal.
  6. En Implementación de la política, selecciona una de las siguientes opciones:
    • Reemplazar. Esta opción ignora la política del recurso superior y utiliza estas reglas.
    • Combinar con recurso superior Esta opción añade reglas, además de las que ya ha establecido el recurso superior.

    Consulta Información sobre la evaluación jerárquica para obtener una explicación sobre la herencia de las políticas de organización.

  7. Haz clic en Añadir regla.
  8. En Valores de la política, selecciona Personalizado.
  9. En Tipo de política, selecciona Permitir.
  10. En Valores personalizados, introduce lo siguiente:
    projects/PROJECT_ID

    Sustituye PROJECT_ID por el ID del proyecto en el que se encuentran las claves de Cloud KMS que quieres usar. Por ejemplo, my-kms-project.

  11. Haz clic en Listo.
  12. Haz clic en Definir política. Se mostrará la página Detalles de la política.

Una vez que haya configurado la política y haya seleccionado un proyecto que herede o use la política, podrá aprovisionar Apigee. Ten en cuenta que no se garantiza que los recursos de Apigee que se hayan creado antes de configurar las políticas de organización de CMEK cumplan los requisitos. Solo los recursos nuevos que se creen después de que se haya implementado la política se ajustarán a las restricciones de CMEK.

Consulta también:

Aprovisionar Apigee

El aprovisionamiento de Apigee en un lugar donde tengas restricciones de políticas de la organización consta de los mismos pasos que el aprovisionamiento de Apigee en un lugar donde no tengas restricciones de políticas de la organización. Sin embargo, la interfaz de usuario te impide hacer selecciones que no sean compatibles.

En esta sección se describe dónde te guía la interfaz de usuario para hacer selecciones.

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

    Ir a Apigee

  2. Selecciona tu proyecto en la lista desplegable de la Google Cloud consola si aún no lo has hecho.
  3. En la página Bienvenido a la gestión de APIs de Apigee, haz clic en Personalizar configuración.
  4. Habilita las APIs: habilita las APIs necesarias tal como se describe en el paso 1: Habilita las APIs necesarias.
  5. Configura la red: configura la red como se describe en el paso 2: Configura la red.
  6. Configura el alojamiento y el cifrado:

    Recorrido de usuario D: encriptado gestionado por el cliente, con residencia de datos es el único recorrido de usuario pertinente para las restricciones de políticas de la organización que limitan los servicios que no son CMEK.

    1. Haz clic en Editar para abrir el panel Hosting and encryption keys (Hosting y claves de cifrado).
    2. En la sección Tipo de cifrado, la opción Clave de cifrado gestionada por Google está inhabilitada y la opción Clave de cifrado gestionada por el cliente está habilitada y no se puede inhabilitar.
    3. Haz clic en Siguiente.
    4. En la sección Plano de control, la opción Habilitar residencia de datos está habilitada y no se puede inhabilitar.
    5. Sigue configurando el alojamiento y el cifrado tal como se describe en el paso 3b de la Ruta D: cifrado gestionado por el cliente con residencia de datos.
  7. Personaliza el enrutamiento de acceso: Personaliza el enrutamiento de acceso como se describe en Paso 4: Personaliza el enrutamiento de acceso.

Usar una clave de un proyecto incluido en la lista de permitidos

Para usar una clave de un proyecto que esté en la lista de permitidos de Apigee, deberá introducirla manualmente mediante su ID de recurso. Cualquier clave que introduzcas manualmente también se validará para comprobar que su proyecto sea válido en función de los proyectos incluidos en la lista de permitidos de la restricción.

Cómo obtener un Google Cloud ID de recurso de KMS

Consulta Obtener un ID de recurso de Cloud KMS.

Solución de problemas

En la siguiente tabla se describen algunas condiciones de error habituales que pueden surgir con las restricciones de CMEK y de políticas de la organización.

Mensaje de error Causa Pasos necesarios
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. Has intentado aprovisionar una organización de prueba en la que hay una restricción de política de organización para el proyecto. CMEK no es compatible con las organizaciones de prueba o evaluación. Tendrás que actualizar la restricción de la política de organización constraints/gcp.restrictNonCmekServices para quitar Apigee de la lista de servicios denegados y poder aprovisionar una organización de prueba.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable global org. CMEK is not supported in location 'global', select another location or adjust the code constraint for this project. Has intentado aprovisionar una organización global en la que existe una restricción de política de organización para el proyecto. CMEK no se admite en organizaciones globales. Deberá actualizar la restricción de la política de la organización constraints/gcp.restrictNonCmekServices para quitar Apigee de la lista de servicios denegados o usar otra ubicación para crear sus organizaciones.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a resource without specifying a KMS CryptoKey. Provide a KMS CryptoKey to use for this resource. Has intentado aprovisionar una organización en la que existe una restricción de política de organización para el proyecto sin especificar una clave criptográfica de KMS. Has definido código en las políticas de la organización que requiere que proporciones una CMEK para cifrar tus datos. Deberá proporcionar la clave de CMEK para poder crear una organización o instancias. Si no quieres aplicar CMEK, puedes actualizar la restricción de la política de la organización constraints/gcp.restrictNonCmekServices para quitar Apigee de la lista de servicios denegados.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. Has intentado aprovisionar una organización en la que existe una restricción de política de organización para el proyecto y has especificado una clave criptográfica de KMS que no está en la lista de permitidas. Has definido constraints/gcp.restrictCmekCryptoKeyProjects en las políticas de la organización, por lo que debes proporcionar una clave CMEK de los proyectos permitidos que hayas indicado. Para poder crear una organización o instancias, tendrás que proporcionar la clave CMEK de un proyecto permitido. También puedes actualizar la restricción de la política de organización constraints/gcp.restrictCmekCryptoKeyProjects para permitir las claves del proyecto específico que quieras. Google Cloud
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a portal. Integrated portals do not support the use of CMEK. To use integrated portals, adjust the gcp.restrictNonCmekServices policy constraint. Has intentado crear un portal en un proyecto que tiene una restricción de política de organización. CMEK no es compatible con los portales integrados. Tendrás que actualizar la restricción de la política de organización constraints/gcp.restrictNonCmekServices para quitar Apigee de la lista de servicios denegados y poder crear un nuevo portal.