Restricción del tráfico entrante a las aplicaciones y funciones de Code Engine con restricciones basadas en el contexto
Esta función es una versión beta y sólo está disponible con fines de evaluación y prueba.
Puede restringir el tráfico entrante a sus aplicaciones y funciones de IBM Cloud® Code Engine utilizando reglas basadas en el contexto de IBM Cloud para restringir el acceso a sus aplicaciones o funciones de Code Engine. Esta función no es compatible con los trabajos de Code Engine. En lugar de asignar el acceso, las restricciones basadas en el contexto comprueban que una solicitud de acceso procede de un contexto permitido que usted configura. Puede limitar el tráfico entrante a sus aplicaciones y funciones dentro de sus proyectos de Code Engine para proteger sus proyectos del tráfico entrante no deseado.
Cuando protege los recursos de Code Engine con restricciones basadas en el contexto con endpoints privados, además de restringir el tráfico entrante que se conecta a su aplicación o funciones con reglas basadas en el contexto, puede restringir quién puede gestionar sus recursos de Code Engine, como desplegar o actualizar aplicaciones y secretos.
Las restricciones basadas en el contexto de Code Engine pueden aplicarse a un único proyecto, a todo un grupo de recursos o a una ubicación (región). También puedes limitar a cuáles de tus servicios se puede acceder desde Code Engine. Para obtener más información sobre las restricciones basadas en contexto de IBM Cloud, consulte ¿Qué son las restricciones basadas en contexto?
Cuando una regla de restricción basada en el contexto abarca un grupo de recursos o una ubicación, las restricciones se aplican a los proyectos existentes. Si crea un nuevo proyecto en la misma ubicación o grupo de recursos, deberá actualizar la regla (sin realizar ningún cambio) para aplicar las restricciones al nuevo proyecto. Tenga en cuenta que no tiene que cambiar la regla; simplemente haga clic en Editar y luego en Aplicar para asegurarse de que el nuevo proyecto se asocia con las restricciones.
Creación de una restricción basada en el contexto para sus recursos Code Engine
Para crear una restricción basada en el contexto, consulte Creación de restricciones basadas en el contexto. Los siguientes pasos son específicos para crear uno para los recursos Code Engine.
-
Vaya a la página Reglas de restricciones basadas en el contexto.
-
Haga clic en Crear para crear una nueva regla para la restricción basada en el contexto, empezando por el servicio.
-
Seleccione Code Engine para Servicios y haga clic en Siguiente para seleccionar las API de servicio que desea proteger.
-
Restrinja el acceso para proteger sus cargas de trabajo de aplicaciones o funciones de Code Engine seleccionando la opción Plano de datos para las API de servicio.
Las restricciones de carga de trabajo se definen a nivel del plano de datos, por lo que se debe seleccionar al menos el servicio del plano de datos. También puede seleccionar otras API de servicios o plataformas.
Haga clic en Siguiente para delimitar la restricción de sus recursos.
-
Aplique la restricción a un único proyecto, a todo el grupo de recursos o a una ubicación (región) en la que tenga varios proyectos. Aplique este ámbito en la sección Recursos y haga clic en Revisar para continuar.
-
Haga clic en Continuar para añadir contexto a su regla.
-
Code Engine proporciona restricciones para cargas de trabajo privadas, no públicas. Por defecto, todas las cargas de trabajo públicas permanecen accesibles. Para que su restricción basada en el contexto restrinja las conexiones entrantes privadas y también mantenga accesibles todos los puntos finales públicos, debe crear un contexto público vacío. Sin este punto final público vacío, se producen errores de configuración de reglas. Para crear un contexto público vacío:
- Activa los puntos finales.
- Seleccione Público.
- Deje vacías las zonas de red. Asegúrese de que no hay zonas de red habilitadas en esta sección para que todos los terminales públicos sean accesibles.
Si lo desea, puede restringir los puntos finales privados:
- Para denegar todo acceso a endpoints privados dentro de su proyecto, asegúrese de que sólo existe el contexto público vacío y no hay contextos privados establecidos.
- Para restringir las cargas de trabajo privadas dentro de su proyecto, seleccione la lista de zonas de red que desea permitir (por ejemplo, puede permitir que una VPC acceda a redes privadas en su proyecto Code Engine ).
- IPv6 las restricciones no son compatibles con Code Engine.
-
Haga clic en Continuar para proporcionar los detalles de la regla.
-
Proporcione un nombre o descripción para su regla.
-
Seleccione Activado para Aplicación.
-
Revise el resumen y haga clic en Crear.
Prueba de la regla de restricción basada en el contexto para la conectividad entrante privada
Después de crear la regla de restricción basada en el contexto, puede probarla utilizando su aplicación o función privada. Sólo se permite el acceso a las direcciones IP incluidas en la lista. Si una solicitud proviene de una dirección IP que
no está en la lista de permitidas, verá un mensaje de error RBAC Access Denied
. Por ejemplo, si sólo permite 9.9.9.9/32
, entonces su aplicación o función sólo será accesible desde ese rango de IP. Todo lo que esté
fuera de ese rango aparece el mensaje de error.
Si seleccionó una zona de red que apunta a una VPC (nube privada virtual), también debe crear una puerta de enlace VPE (punto final privado virtual) para permitir que la VPC acceda a cargas de trabajo privadas. Después de crear la pasarela,
puede experimentar un retraso temporal debido a la resolución de PDNS. Al principio verás mensajes de error en RBAC Access Denied
, pero al cabo de un rato se te concederá el acceso.