openHttpConnection
🌐 Tunneling – REL-ID SDK Overview
📘 Purpose
Tunneling in REL-ID SDK enables secure access to remote/internal enterprise services over a trusted channel without requiring direct network exposure (e.g., VPN or public internet). The SDK provides APIs to discover services and establish or terminate access tunnels dynamically.
🔐 Core Concept
REL-ID SDK uses policy-driven service discovery and secure tunneling to connect to backend services via the REL-ID Server. This ensures:
- Zero-trust access enforcement
- Application-level service authorization
- Encrypted traffic across managed tunnels
🚀 Workflow Overview
- 🔍 Discover available services using
getAllServices()
,getServiceByServiceName()
orgetServiceByTargetCoordinate()
- 🔓 Start access tunnel using
serviceAccessStart()
orserviceAccessStartAll()
- 🛰️ Route traffic through the SDK's secure tunnel
- 🔒 Stop tunnel using
serviceAccessStop()
orserviceAccessStopAll()
🔎 Service Discovery APIs
📥 getAllServices
getAllServices
Retrieves all services available to the user based on their group, device, and policy.
RdnaClient.getAllServices();
🔎 getServiceByServiceName
getServiceByServiceName
Retrieve service details using a registered service name.
RdnaClient.getServiceByServiceName("intranet_service");
🎯 getServiceByTargetCoordinate
getServiceByTargetCoordinate
Lookup a service using a target host and port coordinate.
RdnaClient.getServiceByTargetCoordinate("10.0.0.1", 8080);
🔓 Tunneling APIs
🚪 serviceAccessStart
serviceAccessStart
Starts a tunnel to a specific service by service ID.
RdnaClient.serviceAccessStart("serviceId");
🛑 serviceAccessStop
serviceAccessStop
Stops the active tunnel to a specific service.
RdnaClient.serviceAccessStop("serviceId");
🚀 serviceAccessStartAll
serviceAccessStartAll
Starts access to all available services (based on policy).
RdnaClient.serviceAccessStartAll();
🛑 serviceAccessStopAll
serviceAccessStopAll
Stops access to all currently active tunnels.
RdnaClient.serviceAccessStopAll();
📦 Sample Flow
- Discover Services
const services = RdnaClient.getAllServices();
- Start Tunnel to a Specific Service
RdnaClient.serviceAccessStart(services[0].serviceId);
- Stop Tunnel
RdnaClient.serviceAccessStop(services[0].serviceId);
🧠 Best Practices
- Always call
serviceAccessStop()
orStopAll()
after session ends - Use
getAllServices()
to build dynamic service access UIs - Respect service policy limits and failure reasons
- Audit tunnel activity for compliance
📌 Notes
- All tunneling traffic is encrypted and routed via REL-ID policy engine
- Service access may be revoked in real time by the server
- Access is context-aware: device, user, location, and risk-based
📎 Tunneling in REL-ID enables secure, scalable service access without traditional VPN or exposed firewalls.
Updated 3 months ago