Restricción del acceso a la red
De forma predeterminada, las instancias de Event Streams están configuradas para utilizar la red pública de IBM Cloud®, por lo que son accesibles a través de Internet público.
Si es necesario, puede utilizar el tipo de red o las restricciones basadas en contexto para restringir la conectividad de red como se indica a continuación:
- Tipo de red
-
IBM Cloud ofrece redes públicas y privadas. Si su carga de trabajo se ejecuta íntegramente en el IBM Cloud, y no se requiere acceso público al servicio, las instancias Event Streams pueden configurarse para que solo se pueda acceder a ellas a través de la red privada IBM Cloud. Esto ofrece un mayor aislamiento y no incurre en cargos de ancho de banda de salida asociados al tráfico público. Las instancias también se pueden configurar para que sean accesibles a través de las redes privadas y públicas de IBM Cloud, donde la carga de trabajo puede utilizar la interfaz más adecuada para su ubicación. Puede encontrar más información sobre la red privada en Direccionamiento y reenvío virtual en IBM Cloud.
- Restricciones basadas en contexto (CBR)
-
Puede definir reglas de acceso que limiten las ubicaciones de red desde las que se aceptan las conexiones. Por ejemplo, tipo de red, rangos de IP, VPC u otros servicios. Para obtener más información, consulte Qué son las restricciones basadas en el contexto.
-
Los sucesos de auditoría para restricciones basadas en contexto se publican bajo restricciones basadas en contexto IBM Cloud Activity Tracker sucesos Sucesos de reglas de restricciones basadas en contexto. Los sucesos de Activity Tracker relacionados con la imposición de CBR no están disponibles en puntos finales privados.
Configuración del tipo de red
Puede configurar instancias de servicio Enterprise para que estén disponibles en las redes privadas, públicas o privadas y públicas de IBM Cloud. La información siguiente describe cómo seleccionar y actualizar el tipo de red necesario. La red pública está seleccionada de forma predeterminada.
Requisitos previos
Asegúrese de llevar a cabo las tareas siguientes:
-
Cree la instancia de servicio utilizando el plan Enterprise en una de las ubicaciones multizona soportadas. Para más información, consulte Elegir su plan.
-
Habilite Virtual Route Forwarding(VRF) para su cuenta de IBM Cloud.
-
Habilite la conectividad de puntos finales de servicio ejecutando el mandato siguiente:
ibmcloud account update --service-endpoint-enable truePara comprobar si se han completado los requisitos previos, ejecute el siguiente comando y, a continuación, compruebe si las dos propiedades siguientes son verdaderas:
ibmcloud account show VRF Enabled: true Service Endpoint Enabled: true
Selección de una configuración de red durante el suministro
Tiene varias opciones para seleccionar la configuración de red del clúster de empresa.
-
Utilice la red pública IBM Cloud. Se puede acceder a los puntos finales en Internet público. Este es el valor predeterminado.
-
Utilice la red privada IBM Cloud. Los puntos finales no son visibles en Internet público.
-
Utilice la red pública y privada IBM Cloud. Los puntos finales son visibles tanto en Internet público como internamente en IBM Cloud.
Puede realizar esta selección en el momento del suministro a través de la página de suministro del catálogo Event Streams. Utilice el menú desplegable Puntos finales del servicio para seleccionar Público (por defecto), Privado o Público y privado.
De forma alternativa, si desea utilizar la CLI para suministrar un servicio Event Streams, utilice los mandatos siguientes:
-
Para habilitar puntos finales públicos (el valor predeterminado):
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public -
Para habilitar puntos finales solo privados:
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints private -
Para habilitar puntos finales privados y públicos:
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public-and-private
Actualización de la configuración de red
También puede cambiar los puntos finales que utiliza su clúster Enterprise después del aprovisionamiento. Para ello, utilice los siguientes comandos CLI:
Para migrar directamente de puntos finales públicos o privados a públicos y privados:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private
Para migrar de puntos finales públicos y privados a públicos:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public
Para migrar de puntos finales públicos y privados a privados:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private
No se da soporte a la conmutación directa de puntos finales públicos a privados o de puntos finales privados a públicos. El conmutador inhabilita todos los puntos finales públicos y las aplicaciones pierden el acceso al clúster. Para evitarlo, habilite primero los puntos finales públicos y privados, después reconfigure las aplicaciones para que utilicen puntos finales privados y, por último, cambie a puntos finales sólo privados.
Por ejemplo, para migrar de puntos finales públicos a privados:
En primer lugar, habilite los puntos finales públicos y privados:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private
A continuación, cree una nueva credencial que contenga endpoints privados y una nueva clave API, como se indica a continuación:
ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
A continuación, actualice las aplicaciones que utilizan la instancia con la nueva clave de servicio y los detalles de punto final.
Por último, una vez migradas las aplicaciones a los puntos finales privados, ejecute el siguiente comando para desactivar los puntos finales públicos:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private
Especificación de una lista de IP permitidas (en desuso)
Esta característica está ahora en desuso, en su lugar, utilice restricciones basadas en contexto Configuración de CBR.
Cuando suministre una instancia del plan Enterprise, seleccione puntos finales privados y desee restringir aún más el acceso solo a las VSI conocidas con VPC específicas, puede añadir una lista de IP permitidas utilizando la CLI y añadiendo lo siguiente:
ibmcloud resource service-instance-create <instance-name> <plan-name> <region> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}' "
donde CIDR1, CIDR2 son direcciones IP de la forma a.b.c.d/e. La matriz de CIDR puede tener cualquier número de elementos.
De forma alternativa, para actualizar la lista de IP permitidas para una instancia de servicio existente, realice los pasos siguientes:
-
Obtener la lista de IPs permitidas original aplicada a la instancia:
$ibmcloud es init -i <instance-name> API Endpoint: https://mh-cktmqpdbvkfczhmn.us-south.containers.appdomain.cloud Service endpoints: public-and-private Private IP allowlist: "10.243.0.8/32","10.243.128.8/32","10.243.64.4/32" Storage size: 4096 GB Throughput: 300 MB/s OK -
Añada CIDR o suprima CIDR de la
Private IP allowlist. -
Ejecute el siguiente mandato para actualizar la instancia de servicio con una nueva lista:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}'donde CIDR1, CIDR2 son direcciones IP de la forma a.b.c.d/e
Si el punto final privado está habilitado utilizando la CLI, la próxima vez que actualice la lista de IP permitidas privadas, puede omitir --service-endpoints private.
Al cambiar de lista de IP permitidas se deshabilita cualquier dirección IP permitida que no esté en la nueva lista. Las aplicaciones que accedan al clúster desde esas direcciones perderán el acceso al clúster.
Recuperando información de punto final
La información de punto final para la instancia de servicio es específica del tipo de red. Las instancias de servicio con redes públicas y privadas seleccionadas tienen un punto final para cada una.
Puede recuperar la información de punto final para el tipo de red necesario utilizando la opción --service-endpoint del mandato de CLI service-key-create de la siguiente manera:
ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
Acceso a la consola de Event Streams de IBM
La consola sigue siendo accesible si la red pública está disponible para la instancia, incluyendo tanto pública como pública y privada.
No se podrá acceder a la consola si se selecciona una red privada y se establece una restricción basada en el contexto debido a limitaciones técnicas. Se recomienda CLI para realizar cualquier operación administrativa. ej. ibmcloud es topic-create [--name] TOPIC_NAME [--partitions PARTITIONS] [--config KEY=VALUE[;KEY=VALUE]* ]*
Configuración de restricciones basadas en contexto
Puede definir reglas que limiten las ubicaciones de red desde las que se aceptan las conexiones. Por ejemplo, por tipo de red, rangos de IP, VPC o de otros servicios. Para obtener más información, consulte ¿Qué son las restricciones basadas en contexto?
Se pueden definir restricciones basadas en contexto para las instancias Event Streams del plan Standard y Enterprise. Cuando se definen reglas de restricciones basadas en contexto, se aplican las reglas siguientes:
-
La API REST de administración, la API de productor REST, la API de registro de esquemas y las llamadas de cliente Kafka están bajo el ámbito de las reglas de restricciones basadas en contexto que se crean en una instancia de Event Streams.
-
Las funciones de administración para la propia instancia de servicio (por ejemplo, los mandatos IBM Cloud CLI
service-instance-create,service-instance-deleteoservice-instance-update, o equivalentes) no están bajo el ámbito de las reglas de restricciones basadas en contexto que se crean en una instancia de Event Streams.
Gestión de valores de restricciones basadas en contexto
La creación de reglas de restricciones basadas en contexto es un proceso de dos pasos:
-
Cree una zona de red con una lista de direcciones IP permitidas, VPC permitidas o haga referencia a un servicio. Para obtener más información, consulte Creación de zonas de red.
-
Cree reglas que especifiquen una o más zonas de red en el recurso Event Streams. Para obtener más información sobre la creación de reglas, consulte Creación de reglas.
A continuación, ten en cuenta las siguientes consideraciones:
- Debe ser el propietario de la cuenta o tener una política de acceso con el rol de administrador en todos los servicios de gestión de cuentas para restringir el acceso.
- Después de crear o actualizar una zona o una regla, el cambio puede tardar unos minutos (hasta 10 minutos) en entrar en vigor.
- Después de aplicar las restricciones basadas en contexto, sólo se aplican a los clientes que se autentican después de que se haya creado la regla. Los clientes existentes deben volver a autenticarse para que se apliquen las reglas de restricción.
Soporte de conexiones entre servicios (servicio a servicio) con restricciones basadas en contexto
Si una instancia de servicio de Event Streams está configurada para utilizar el cifrado gestionado por el cliente, también se debe otorgar al servicio la capacidad de conectarse a los IBM Key Management Services seleccionados.
El administrador de la cuenta puede configurarlo de la siguiente manera:
- Añada una referencia de servicio para el servicio Event Streams a la zona de red necesaria.
- Asegúrese de que se permite el acceso desde esta zona mediante las reglas de restricciones basadas en contexto aplicables a otros servicios de Cloud.
Para obtener más información sobre la creación de referencias de servicio, consulte Referencias de servicio.
Coexistencia de reglas de restricciones basadas en contexto y listas de elementos permitidos de IP privadas
Las reglas de restricciones basadas en contexto ahora reemplazan el uso de listas de elementos permitidos de IP privadas como el método recomendado para implementar listas de elementos permitidos en una instancia de Event Streams. El uso de listas de elementos permitidos de IP privadas sigue estando soportado, pero ahora está en desuso.
Si tanto las reglas de restricciones basadas en contexto como las listas de elementos permitidos de IP se definen en la misma instancia de Event Streams, la lista de elementos permitidos de IP se ignora porque las reglas de restricciones basadas en contexto alteran temporalmente cualquier lista de elementos permitidos de IP privada anterior.
Migración de listas de elementos permitidos de IP privadas a restricciones basadas en contexto
El cliente es responsable de la migración. Puede volver a crear definiciones de lista de elementos permitidos de IP como zonas de red de restricciones basadas en contexto y aplicarlas a la instancia de servicio creando una regla de restricciones basadas en contexto. A continuación, puede suprimir la lista de elementos permitidos de IP privada anterior.